В настоящее время я работаю над облачным проектом, который будет принимать платежи с использованием биткойнов. Я намерен использовать BitCoinJ для обработки платежа. К сожалению, единственная помощь, которую я могу получить, — это демонстрация JavaWorld, которая, похоже, не синхронизирована с текущим кодом. Не могли бы вы указать мне несколько лучших/обновленных вспомогательных ссылок/материалов.
В самой библиотеке bitcoinj есть несколько примеров, которые всегда актуальны (поскольку они являются частью сборки).
Инструмент командной строки «WalletTool», который написал Майк, очень полезен для основ создания, отправки, получения кошелька и т. д.
WalletAppKit kit=new WalletAppKit(MainNetParams.get(), new File("."), "mywalletfilename");
kit.setAutoSave(true);
kit.startAsync();
kit.awaitRunning();
kit.wallet().addEventListener(new WalletListener());
в то время как слушатель выглядит так:
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");
}*/
}
Должно работать достаточно для получения BTC ;) не забывайте, что TXConfidence изменился, где он сообщает вам, что счетчик подтверждений TX изменился и на что он изменился... ;-)