blockstream API 的调用

本节通过调用 blockstream 的 API 获取一些比特币区块信息
blockstream API 的调用说明: https://github.com/Blockstream/esplora/blob/master/API.md
调用 API 回答以下问题:
- 当前比特币待验证的交易数目为多少?数据量为多大?大概几个区块才能处理 完这些交易?
- 给出高度在 9991-10000 间区块内包含的总交易数目。
问题1
Question
当前比特币待验证的交易数目为多少?数据量为多大?大概几个区块才能处理 完这些交易?
我们需要获取内存池状态来解决这个问题:
1 | GET https://blockstream.info/api/mempool |
示例输出:
1 | { |
count
表示当前待确认的交易数。vsize
表示所有交易的虚拟大小总和(vbytes)。- 一个区块的最大大小大约是 4,000,000 vbytes(即 4MB)。
计算大约需要几个区块才能处理完交易:
1 | 所需区块数 ≈ 总 vsize / 每个区块最大 vsize |
问题2
Question
给出高度在 9991-10000 间区块内包含的总交易数目。
要解决这个问题,需要处理区块高度和区块哈希的映射关系。
- 通过区块高度查询区块信息(我这里先查 9991):
1 | GET https://blockstream.info/api/block-height/9991 |
示例输出:
1 | 000000003a86175f154cd24e470793ff71dacc63ea307e18b292451bc4dec53e |
- 通过区块哈希查询区块详细信息:
1 | GET https://blockstream.info/api/block/{block_hash} |
示例输出:
1 | { |
其中的 tx_count
字段即是我们需要的哈希区块交易数,我们在 9991-10000 间循环上述过程,然后累加每次得到的 tx_count
即可。
- 标题: blockstream API 的调用
- 作者: 三葉Leaves
- 创建于 : 2025-04-07 00:00:00
- 更新于 : 2025-04-12 09:44:22
- 链接: https://blog.oksanye.com/ed10ff2c20c5/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论