我想从钱包里汇款。
public static Transaction send(Wallet wallet,String destinationAddress,long satoshis, NetworkParameters parameters)
throws Exception {
Address dest = Address.fromBase58(parameters, destinationAddress);
SendRequest request = SendRequest.to(dest, Coin.valueOf(satoshis));
Wallet.SendResult result = wallet.sendCoins(request);
Transaction endTransaction = result.broadcastComplete.get();
return endTransaction;
}或试图让
SendRequest req;
Transaction transaction = new Transaction(parameters);
Coin coinToSpend = Coin.valueOf(600);
//Address addressoSpend = new Address(parameters,"1PSq12YPRBCGwmb2cqqXaGpRrLfotsthPv");
transaction.addOutput(coinToSpend,Address.fromBase58(parameters,"18MQPpjbB5UUwZBT7DALE6Q55pKCtfPCK3"));
req = SendRequest.forTx(transaction);
Wallet.SendResult sendResult = restoredWallet.sendCoins(req);他们两个都回来了
Exception in thread "main" org.bitcoinj.core.InsufficientMoneyException: Insufficient money, missing 0.0004729 BTC如何向另一个BTC地址进行适当的汇款?
发布于 2018-08-17 17:50:41
问题实际上出在输入和输出上。在新版本的bitcoinj中,您应该将unput和output设置为make transaction。不幸的是,它没有在officail page上更新。下面是我的问题的答案:
Coin value = Coin.valueOf(680l);
Address to = Address.fromBase58(parameters, addressTo);
Transaction transaction = new Transaction(parameters);
transaction.addInput(wallet.getUnspents().get(0));// important to add proper input
transaction.addOutput(value, to);
SendRequest request = SendRequest.forTx(transaction);
request.feePerKb = Coin.valueOf(1000);
Wallet.SendResult sendResult = wallet.sendCoins(peerGroup, request);https://stackoverflow.com/questions/51785369
复制相似问题