首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用BitcoinJ创建按收费替换的TX

如何使用BitcoinJ创建按收费替换的TX
EN

Stack Overflow用户
提问于 2018-07-25 21:26:07
回答 1查看 148关注 0票数 1

在BitcoinJ FrameWork中,首先面临着没完没了的未决事务。

主要的文件说,它可以通过替代收费。因此,您需要接受旧的事务并创建一个新的事务,但要基于前面的事务。

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

代码语言:javascript
复制
NetworkParameters params = MainNetParams.get();

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

Wallet wallet = walletKit.wallet();

..。有一个待决

ArrayList pendingList =新ArrayList<>(wallet.getPendingTransactions());事务nextTx =新事务(pendingList.get(0));//→抛出

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-02 17:46:56

好吧,所以我解决了。

当您有无穷大挂起事务时,您需要做的第一件事是确保它被标记为“替换费”,您可以通过调用:

代码语言:javascript
复制
ArrayList<Transaction> pendingList = new ArrayList<>(wallet.getPendingTransactions());

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

在此之后,您需要使用下面的代码来实现按收费替换算法:

代码语言:javascript
复制
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。

就是这样

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51527896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档