gpt4 book ai didi

java - 如何使用 BitcoinJ 创建费用替代 TX

转载 作者:行者123 更新时间:2023-11-30 06:04:57 25 4
gpt4 key购买 nike

首先面临着 BitcoinJ FrameWork 中无休止的待处理交易

主要文档说可以通过Replace-By-Fee来制作。因此,您需要获取旧交易并创建一个新交易,但基于之前的交易。

听起来不错,但是如何正确地使用 Bitcoinj 框架创建另一个框架?

NetworkParameters params = MainNetParams.get();

WalletAppKit wallet = new WalletAppKit(params, new File("."), "_mywallet");
walletKit.startAsync();
walletKit.awaitRunning();

Wallet wallet = walletKit.wallet();

...有一个待处理

ArrayList<Transaction> pendingList = new ArrayList<>(wallet.getPendingTransactions());
Transaction nextTx = new Transaction(pendingList.get(0));
// → throws Exeption

最佳答案

好的,我解决了。

当您有无限的待处理交易时,您需要做的第一件事是确保其标记为“replace-by-fee”,您可以通过调用以下命令来执行此操作:

ArrayList<Transaction> pendingList = new ArrayList<>(wallet.getPendingTransactions());

pendingList.get(0).verify(); // Read console to see transaction info

之后需要使用下面的代码来实现replace-by-fee算法:

Transaction transaction = pendingList.get(0);
SendRequest request = SendRequest.forTx(transaction);
request.feePerKb = Transaction.REFERENCE_DEFAULT_MIN_TX_FEE; // Or you can make other highter fee to spped it up

wallet.completeTx(request);
wallet.commitTx(request);

在输出中,您将在此交易详细信息中看到更多 TransactionOutputs。

就是这样

关于java - 如何使用 BitcoinJ 创建费用替代 TX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51527896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com