【许晓笛】EOS 系统架构图解

2021-04-09 16:42:23 浏览数 (1)

相信关心 EOS 系统的同学肯定见过下面这张蓝图。对,目前只是一个蓝图,而且以 BM 的尿性,肯定在心理已经把这张图改的面目全非了(比如图中的 eosd 早就改名了)。所以这张图只能作为未来 EOS 发展方向的参考而已,目前的 EOS 还远没有这么复杂和完善。

了解系统架构之前我们先看看目前 EOS 系统的主要组成部分:

  • nodeos: EOS 系统的核心进程,也就是所谓的“节点”。运行时可以配置插件:
    • producer_plugin(见证人插件):见证人必须使用这个插件,普通节点不需要。
    • wallet_plugin(钱包插件):使用这个插件就可以省去 keosd 钱包工具。
    • wallet_api_plugin(钱包接口插件):给钱包插件提供接口。
    • chain_api_plugin(区块链接口插件):提供区块链数据接口。
    • http_plugin(http 插件):提供 http 接口。
    • account_history_api_plugin(账户历史接口):提供账户历史查询接口。
  • cleos:本地的命令行工具,通过命令行与真人用户交互,并与节点(nodeos)的 REST 接口通信。是用户或者开发者与节点进程交互的桥梁。
  • keosd:本地钱包工具。非节点用户存储钱包的进程,可以管理多个含有私钥的钱包并加密。

本地单节点测试系统

本地单节点的情况下,仅需要 nodeoscleos,不需要 keosd,因为用节点的钱包插件管理私钥即可。这一个节点就是区块链的全部,所有的数据均储存在单一节点中。所以下图中的“BlockChian”只是一个概念,所有的出块工作全都在 nodeos 中搞定。

本地多节点测试系统

本地多节点测试系统就更接近真实的区块链网络了,只是运行在同一台计算机中。各个程序各司其职,keosd 管理私钥,cleos 连接用户与节点,nodeos 作为节点出块。

公共测试网络

公共测试网络的架构与即将上线的 EOS 主网基本相同,只是缺少了 100 个后备节点,有 21 个主节点。用户通过 cleos 连接到 nodeosnodeos 再连接到区块链网络(其他nodeos)。

EOS 初期主网络

如果近期没有大的变化,EOS 即将上线的主网络就是 21主节点 100 后备节点的架构。

(图片来自或修改自 EOS 官方)

End 

0 人点赞