以太坊全节点的数据非常多,不仅包括:区块数据、交易数据,还包括日志数据。其中日志数据是解析ERC20代币以及其他智能合约数据的关键数据。截至到2019年2月,使用parity程序的以太坊全部数据已经超过1.9T。由于网络等多方面的原因,这么大的数据下载非常困难。笔者使用阿里云连续下载量约3个月才基本追上最新的进度。
图1 数据目前已经同步到2019年2月15日
数据目前已经同步到2019年2月15日
图2 全部数据大约1.9T
全部数据大约1.9T
考虑到不同的需求,给出几种获取以太坊数据的方法。
第一:基于区块链浏览器API。etherscan等以太坊浏览器提供了API接口,可以查询区块、交易等基本信息。包括ERC20等典型代币的交易信息。此方法使用简单,投资最少,但是性能受到API提供方的限制,数据类型有限。此方法适合小规模实验、验证程序。
第二:基于infura服务。infura是专门提供以太坊数据的服务商,提供了功能丰富、性能强大的以太坊接口,查询的数据类型非常全面。相对于区块链浏览器的API,此方法投资较少,但是性能同样受到API提供方的限制,可以通过付费提高性能。此方法适合小型系统的数据同步机制。
第三:基于自营数据库的以太坊数据基础设施。通过在本地自行运行以太坊节点,获取全部以太坊数据。然后自行解析原始数据获得需要的数据格式。此方法成本最高(节点维护成本,解析程序成本),但是扩展性最强,能够根据需要实现各种类型的数据服务。此方法适合对数据类型和性能要求较高的系统。
网友评论