Ich arbeite derzeit an einem Cloud-basierten Projekt, das Zahlungen mit Bitcoins akzeptiert. Ich beabsichtige, BitCoinJ zu verwenden, um die Zahlung abzuwickeln. Leider ist die einzige Hilfe, die ich bekommen kann, die JavaWorld-Demo, die nicht mit dem aktuellen Code synchron zu sein scheint. Könnten Sie mich bitte auf einige bessere/aktualisierte Hilfelinks/Materialien hinweisen.
Es gibt einige Beispiele in der bitcoinj-Bibliothek selbst, die immer aktuell sind (da sie Teil des Builds sind).
Das von Mike geschriebene Befehlszeilentool 'WalletTool' ist ziemlich nützlich für die Grundlagen der Wallet-Erstellung, des Sendens, Empfangens usw.
WalletAppKit kit=new WalletAppKit(MainNetParams.get(), new File("."), "mywalletfilename");
kit.setAutoSave(true);
kit.startAsync();
kit.awaitRunning();
kit.wallet().addEventListener(new WalletListener());
während der Zuhörer so aussieht:
public class WalletListener extends AbstractWalletEventListener {
public WalletListener() {
}
@Override
public void onCoinsReceived(org.bitcoinj.core.Wallet wallet, Transaction tx, Coin prevBalance, Coin newBalance) {
System.out.println("-----> coins resceived: " + tx.getHashAsString()+" prevBalance = "+prevBalance.getValue()+" newBal="+newBalance.getValue());
System.out.println("received: " + tx.getValue(wallet));
}
@Override
public void onTransactionConfidenceChanged(org.bitcoinj.core.Wallet wallet, Transaction tx) {
System.out.println("-----> confidence changed: " + tx.getHashAsString());
TransactionConfidence confidence = tx.getConfidence();
System.out.println("new block depth: " + confidence.getDepthInBlocks());
}
@Override
public void onCoinsSent(org.bitcoinj.core.Wallet wallet, Transaction tx, Coin prevBalance, Coin newBalance) {
System.out.println("coins sent");
}
@Override
public void onReorganize(org.bitcoinj.core.Wallet wallet) {
}
@Override
public void onWalletChanged(org.bitcoinj.core.Wallet wallet) {
}
@Override
public void onKeysAdded(List<ECKey> keys) {
System.out.println("new key added");
}
/*@Override
public void onScriptsAdded(Wallet wallet, List<Script> scripts) {
System.out.println("new script added");
}*/
}
Sollte genug funktionieren, um BTC zu empfangen ;) Vergessen Sie nicht, dass sich TXConfidence geändert hat, wo es Ihnen mitteilt, dass sich die Anzahl der TX-Bestätigungen geändert hat und was sich geändert hat ... ;-)