相信關心 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
:本地錢包工具。非節點用戶存儲錢包的進程,可以管理多個含有私鑰的錢包並加密。
本地單節點測試系統
本地單節點的情況下,僅需要 nodeos
和 cleos
,不需要 keosd
,因爲用節點的錢包插件管理私鑰即可。這一個節點就是區塊鏈的全部,所有的數據均儲存在單一節點中。所以下圖中的“BlockChian”只是一個概念,所有的出塊工作全都在 nodeos
中搞定。
本地多節點測試系統
本地多節點測試系統就更接近真實的區塊鏈網絡了,只是運行在同一臺計算機中。各個程序各司其職,keosd
管理私鑰,cleos
連接用戶與節點,nodeos
作爲節點出塊。
公共測試網絡
公共測試網絡的架構與即將上線的 EOS 主網基本相同,只是缺少了 100 個後備節點,有 21 個主節點。用戶通過 cleos
連接到 nodeos
, nodeos
再連接到區塊鏈網絡(其他nodeos
)。
EOS 初期主網絡
如果近期沒有大的變化,EOS 即將上線的主網絡就是 21主節點 + 100 後備節點的架構。
(圖片來自或修改自 EOS 官方)
End