分享区块链技术,追踪前沿,夯实基础。
区块链是现在的热点,最近在看以太坊Ethereum的源代码,我画了一个以太坊的架构图,希望能让大家对它有个较系统的认识。
以太坊架构的最上层是DApp应用层,它通过Web3.js这种JavaScript API和智能合约层进行交互。
合约层是使用Solidity语言编写的智能合约,其运行在EVM以太坊虚拟机上,并会通过HTTP-RPC或JSON-RPC调用和以太坊的核心层交互。
以太坊底层的核心模块包括:
基础结构:包含区块,交易,校验,交易池,状态数据库等;
共识算法:PoW机制,计划在第四阶段转为PoS
网络模块:P2P通信模块ProtocolManager,以及Kad网络节点发现机制;
客户端Geth(Go-Ethereum),挖矿激励机制,加密,K-V数据库LevelDB和分片Sharding方案等。