gpt4 book ai didi

bitcoinj - 如何使用 bitcoinj 接收有关新区 block 的通知

转载 作者:行者123 更新时间:2023-12-04 08:35:38 26 4
gpt4 key购买 nike

我正在尝试接收有关 的通知新品 比特币区块链中的区块。我正在使用此代码,但这会从 2010 年左右开始打印数百个块。

import org.bitcoinj.core.*;
import org.bitcoinj.net.discovery.DnsDiscovery;
import org.bitcoinj.params.MainNetParams;
import org.bitcoinj.store.BlockStore;
import org.bitcoinj.store.MemoryBlockStore;


public class BlockChainMonitorTest {


BlockChainMonitorTest() throws Exception {

NetworkParameters params = MainNetParams.get();

BlockStore bs = new MemoryBlockStore(params);
BlockChain bc = new BlockChain(params, bs);

PeerGroup peerGroup = new PeerGroup(params, bc);
peerGroup.setUserAgent("PeerMonitor", "1.0");
peerGroup.setMaxConnections(4);
peerGroup.addPeerDiscovery(new DnsDiscovery(params));

bc.addNewBestBlockListener((StoredBlock block) -> {
System.out.println("addNewBestBlockListener");
System.out.println(block);
});

//peerGroup.setFastCatchupTimeSecs(1483228800); // 2017-01-01

peerGroup.start();
peerGroup.waitForPeers(4).get();
Thread.sleep(1000 * 60 * 30);
peerGroup.stop();

}

public static void main(String[] args) throws Exception {
new BlockChainMonitorTest();
}
}

我只想听新的块。有任何想法吗 ?
我试过 setFastCatchupTimeSecs但后来我似乎没有收到任何事件。

最佳答案

您如何使用集合来存储已经找到的块并检查该块是否已经存在,如果不存在则仅执行 System.out.println 调用。

bc.addNewBestBlockListener((StoredBlock block) -> {
if (!blocksFoundMap.contains(block)) {
System.out.println("addNewBestBlockListener");
System.out.println(block);
}
});

关于bitcoinj - 如何使用 bitcoinj 接收有关新区 block 的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47722969/

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