随着区块链技术的发展和应用,人们对区块链有了更深的理解。区块链浏览器作为链上数据可视化的主要窗口,它可以帮助用户查看和搜索区块链的所有信息。本文将从区块链浏览器的研发实操经验入手,探讨如何快速构建一个区块链浏览器。
区块链浏览器能显示什么?通过研究一些开源的区块链浏览器,我们发现区块链浏览器通常会显示以下几种典型的数据:
区块高度
交易数量
交易趋势
区块列表
最近交易列表
区块链浏览器的数据可以直接获取吗?
通常情况下,区块链会提供链SDK信息,帮助开发者获取链上的区块和交易数据。然而,这些接口通常是基础性的,比如获取区块高度、获取某个区块详情、获取某个交易详情等等,它们只提供了页面上基础数据的访问,不能直接获得浏览器所需的全量信息。
因此,一个好的区块链浏览器需要支持在本地进行链上数据的加工和处理。具体来说,区块链浏览器会监听不同区块链底层的区块和交易数据,当链上产生新区块时,监听系统可以通过链SDK在第一时间获取相关信息。然后,系统会把这些数据缓存入库,并按照需要设计多种统计逻辑,完成数据的加工和统计。这样一来,区块链浏览器页面上的数据就不再是直接通过链SDK获取的,而是来源于本地的列表数据和统计数据。
相较于通用的直接通过链SDK获取数据的模式,我们需要一种支持本地缓存区块数据并对链上数据进行加工的方法,这样可以显著提高前端对区块链浏览器数据获取的速度。不过,这种方案也带来了一些问题。
如何保障数据的真实有效?
为了确保数据的真实性,区块链浏览器需要增加数据校验模块。用户可以通过简单的接口调用与区块链进行交互,快速验证数据的真实性。数据校验模块通常包含以下几个功能:
区块证明:用于证明特定区块是否在区块链的账本数据中存在
交易证明:用于证明特定交易或