有没有一种方法可以使用bitcoinj通过块号(高度)来获得块?

时间:2020-07-30 09:59:14

标签: bitcoin bitcoind bitcoinj

我查看了api文档,但我只能找到一种通过块哈希来获取块的方法。

是否可以使用bitcoinj通过块号(高度)获取块?

1 个答案:

答案 0 :(得分:0)

区块高度(编号)没有记录在每个区块链节点上。 bitcoinj 并不是一个全节点,所以我认为他们似乎没有提供 API 或函数来按高度获取块。

然而,如果你无论如何都想要通过bitconj获得高度,你可以先下载并安装BitCoin Core,等待区块链中的所有区块下载完毕,然后迭代区块文件(blk00001.dat, blk00002.dat, . .. blkxxxxx.dat)比特币核​​心通过BlockFileLoader~/.bitcoin/blocks/中) > bitcoinj 提供的类。

我已经测试过,BlockFileLoader 的迭代过程是磁盘和耗时的,你应该确保区块在区块链中的顺序正确,所以建议将带有高度信息的区块链保留到一些更好的索引存储或设备,例如MySQL或MongoDB。