以太坊网络区块浏览器blocksout技术简要分析

以太坊网络浏览器

以太坊网络区块浏览器目前主要是etherscan.io提供。官方正规的区块浏览器没有etherscan.io强大,不具有合约内联交易,Token交易分析功能,而etherscan.io不开源,而且API仅提供有限的服务。
不过etherscan.io的速度的确快,无论是查交易,还是查地址,查询速度基本可以在几秒之内返回。

为什么可以做得这么块呢,因为对于任意地址,仅保存了其100k(10万)的交易,这样查询一般的数据库在建立索引的情况,可以在3秒内返回。
目前(2019.2.10)地址有567万个,3.89亿个交易,这么大的数据量,可以满足如此高并发的查询请求,背后的资源投入可想而知。

blockscout

https://blockscout.com 的功能覆盖了etherscan.io的主要功能,包括内联交易,代笔交易等。
如下是其特征:

  • 开源 代码由社区驱动,任何人可以使用,查看和改进
  • 实时交易跟踪 交易实时更新,无需刷新页面,且支持无限下翻
  • 智能合约交互 用户能读和验证智能合约,并访问已经存在的合约跟踪开发
  • 代币支持 支持ERC20和ERC721,未来支持ERC223,ERC155
  • 用户自定义 用户很容易部署在一个自定义兼容网络
  • 以太坊侧链网络 blockscout支持以太坊主网,测试网络,POA网络,以及其他兼容的侧链或私有EVM网络。

blockscout技术分析

blockscout采用Erlang/OTP 20.2+,Elixir 1.6+开发,Phoenix Framework WEB框架,Postgres 10.0数据库。
为啥blockscout采用Postgres数据库,而不是MySQL或者MogoDB?
有点儿担心后面数据的查询性能是否可以跟得上。

如何保存交易?

交易表有3.89亿条记录,blockscout如何存储和检索?
参见:
https://github.com/poanetwork/blockscout/blob/master/apps/explorer/priv/repo/migrations/20180117221923_create_transactions.exs
区块高度,交易哈希都建立索引,属于正规操作。

如何保存地址?

参见:
https://github.com/poanetwork/blockscout/blob/master/apps/explorer/priv/repo/migrations/20180117221921_create_address.exs

担忧

如何处理如此大的数据量,对于一个开源项目仍然是一个很大的挑战。

以太坊区块浏览器是一个可以查看以太坊区块链上所有区块、交易、智能合约等信息的工具。搭建一个自己的以太坊区块浏览器可以方便地查看和分析以太坊网络中的数据。下面是搭建以太坊区块浏览器的一般步骤: 1. 安装节点软件:首先需要安装以太坊节点软件并同步区块链数据。以太坊节点软件有很多种,比如 Geth、Parity 等。这里以 Geth 为例,安装方法可以参考以太坊官方文档。 2. 安装数据库:以太坊的数据需要存储到数据库中才能被浏览器查询。目前比较流行的数据库是 MongoDB 和 MySQL。这里以 MongoDB 为例,安装方法可以参考 MongoDB 官网。 3. 安装浏览器软件:常用的以太坊区块浏览器有 Etherscan、Etherchain 等。这里以 Etherscan 为例,安装方法可以参考 Etherscan 官网。 4. 配置浏览器:在浏览器的配置文件中设置节点和数据库的连接信息,以及其他一些参数。具体配置方法可以参考浏览器的官方文档。 5. 启动浏览器:启动浏览器软件并访问浏览器的网址即可使用。在浏览器中可以查看以太坊网络中的所有区块、交易、智能合约等信息。 需要注意的是,搭建以太坊区块浏览器需要一定的技术水平和经验,建议有一定的区块链开发经验的人员进行操作。同时,由于以太坊网络在不断发展和变化,搭建过程中可能会遇到各种问题,需要耐心解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值