开源项目地址:https://github.com/nervosnetwork/ckb-explorer-frontend
很多人都听说过比特币、以太坊等区块链项目,也了解过区块链的工作原理,可能还动手写过 Solidity
智能合约代码。对于一个之前未曾了解过区块链的新手来说,接触一个区块链项目最好的途径可能就是它的区块浏览器(Blockchain Explorer
)了,为什么这么说呢,因为相比于区块链全节点,区块浏览器够直观、易懂和清晰。
区块浏览器最大的价值就是用清晰直观的 Web 元素展示复杂且不易被普通人琢磨的区块、交易等数据,绝大部分的区块链项目都是采用点对点的 P2P
网络,各个全节点之间通过一对一地相互交换数据维持全网的信息流通,所以对于普通人来说,想要直观看到网络中传输的信息并不是很方便,于是区块浏览器诞生了。
既然是展示区块链网络流通的信息,那么这些信息到底是什么呢?其实很简单,无非就是区块、交易、地址、网络状态和一些统计信息,对于比特币区块浏览器来说,你可以看到最新的区块、交易信息,全网的难度和算力信息、一段时间的交易数量和平均交易费等信息,当然你也可以看到当前最新的比特币价格信息。例如5月13日炒得很热的比特币减半,你就可以在区块的详细信息中看到当前的奖励数量(6.25 BTC)。
当然这篇文章不是来讨论比特币和以太坊的区块浏览器的,对于一个区块链项目开发者而言,如何做出一个质量说得过去且开源的区块浏览器项目,才是这篇文章的重点。换言之,如何做出一个尽量符合 Web 最佳实践的开源项目,我想这对于很多致力于写好代码的开发者来说,都会很有借鉴意义。
Nervos CKB 区块浏览器
对于一个开源项目来说,代码质量和架构是不能马虎的,不能说要照搬社区的最佳实践模板,起码也得保证足够得易扩展、结构清晰、文档易懂、格式统一、测试完备……这个好像可以列很长,总之对于开源项目来说,为了能让项目更拿得出手,我想大多数开发者都会尽量把代码写得足够漂亮、高质量。