专栏首页圆方圆学院精选【许晓笛】EOS 系统架构图解
原创

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

其实没有那么复杂

相信关心 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)。

pic4

EOS 初期主网络

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

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


相关文章和视频推荐

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

圆方圆学院汇集大批区块链名师,打造精品的区块链技术课程。 在各大平台都长期有优质免费公开课,欢迎报名收看。

公开课地址:https://ke.qq.com/course/345101?flowToken=1007371

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

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

    相信关心 EOS 系统的同学肯定见过下面这张蓝图。对,目前只是一个蓝图,而且以 BM 的尿性,肯定在心理已经把这张图改的面目全非了(比如图中的 eosd 早就改...

    圆方圆学院
  • 【许晓笛】EOS 超级节点的五个使命

    在EOS系统中,有“两股势力”是整个系统最关键的因素,那就是项目方 和 见证人。很多人觉得EOS这个项目“奇葩”,就奇葩在项目方和见证人的关系上。EOS的项目方...

    圆方圆学院
  • 【许晓笛】EOS 区块数据结构

    对于一个区块链项目来说,最核心的数据莫过于区块数据,区块数据结构是整个区块链项目的技术基础。不过由于 EOS 项目一直在快速迭代,区块数据结构也不断更新,所以今...

    圆方圆学院
  • 什么是EOS?

    关于EOS有很多炒作。2017年5月,EOS的创始人丹•拉莫(Dan Larimer)在纽约宣布这一消息时,一幅巨大的巨型屏幕广告在时代广场上熠熠生辉。在他们的...

    crab
  • 书到用时方恨少之班科算法

    凌帅和社区的一些小伙伴一直在线下参与一些项目,最近发现一个项目惊天地泣鬼神,于是就非常上心,和负责人聊的比较多,建议要用班科算法(BANCOR)发行代币。过后,...

    凌帅出口
  • PDM - 一款新的 Python 包管理器

    去年临近跨年的某一天,一个包管理器突然在脑海中形成了蓝图。粗略地估计了一下我的编码能力,我认为这在我的能力范围之内,于是尽管年底非常忙,还要忙着晋升答辩的事情,...

    岂不美哉Frost
  • DevOps是值得投资的职业倦怠解决方案[DevOps]

    首先,需要做更多的事情来防止倦怠,而不是开始解决倦怠。 这里会告知产生原因和解决方案。

    yyx
  • C++像Go一样的并发与闭包

    并发性是程序的一种属性,其中两个或多个任务可以同时进行。并行性是一个运行时属性,其中两个或多个任务同时执行。通过并发性,为程序定义一个适当的结构。并发可以使用并...

    公众号guangcity
  • 前端部署演化史

    前端一说起刀耕火种,那肯定紧随着前端工程化这一话题。随着 react/vue/angular,es6+,webpack,babel,typescript 以及 ...

    前端劝退师
  • HBase Schema 设计

    HBase 与传统关系数据库(例如MySQL,PostgreSQL,Oracle等)在架构的设计以及为应用程序提供的功能方面有很大的不同。HBase 权衡了其中...

    smartsi

扫码关注云+社区

领取腾讯云代金券