其实没有那么复杂

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

![pic1]("")

了解系统架构之前我们先看看目前 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 中搞定。

![pic2]("")

本地多节点测试系统

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

![pic3]("")

公共测试网络

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

![pic4]("")

EOS 初期主网络

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

![pic5]("")

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


相关文章和视频推荐

【许晓笛】开发第一个 EOS 智能合约

圆方圆学院汇集大批区块链名师,打造精品的区块链技术课程。 在各大平台都长期有优质免费公开课,欢迎报名收看。
公开课地址:https://ke.qq.com/course/345101   


圆方圆区块链
43 声望11 粉丝