Tag: RPC

如何通过二分查找搜索在区块链上根据时间戳定位区块?

前两天,我想查一下自己在 STEEM 区块链上一些重要记录对应的区块号,比如: 注册了我的账号 #4253590 成为见证人 #20190755 挖到我的第一个区块 #20390040 被孙宇晨大佬代理了 SP #41676911 收到一笔 DAO 收入 #95403889 当时手头只有时间戳,却不知道对应的是哪个区块,于是我想到可以用二分查找(binary search)算法来定位。 其实,这个思路在其它区块链上同样适用,并不依赖于特定的链(如 Steem、以太网/Ethereum、比特币/Bitcoin 等)。虽然具体的实现细节(RPC 方法名、时间戳格式等)会有所不同,但整体逻辑是一致的:通过 RPC API 获取某个区块的时间戳;获取最新区块作为上界;然后在区间内使用二分查找。通过多次查询区块时间戳,就能把给定的时间戳映射到最接近的区块号,算法复杂度约为 O(log N)。 当然,大多数区块链也会提供专门的 API …