Geth客户端的结构¶
Geth客户端包含面向客户的界面(命令行)、面向网络的功能以及EVM虚拟机。 除了不能编译二进制 EVM 代码外,几乎能够执行一切和用户相关、网络相关、合约相关的操作。它承接了客户对于以太坊区块链的操作,对内维持了账户体系,世界状态,虚拟机运行以及数据的存储,对外与其他网络中的客户端节点通信,交换信息。它的主要功能如下。
- 账户管理功能
- 生成、删除、管理用户的账户。
- 签名、打包用户的交易请求。
- 存储、虚拟机功能
- 存储交易树、状态树、收据树。
- 启动虚拟机,执行智能合约的代码并存储结果。
- 网络功能
- 与其他节点通信,同步下载、分享区块链数据。
- 参与网络中区块的播报、交易的播报。
- 验证区块合法性,参与挖矿。
- 提供Web3,JSON-RPC,Websocket通讯接口。