EOS的總體框架

先看官方的一張圖:node

EOS編譯完成以後會有三個部分:app

1.cleos:這個實際上是一個命令集合,能夠經過命令來管理錢包,以及和區塊部分進行交互。框架

2.nodeos:這個是區塊的核心也是EOS的服務部分。模塊化

3.keosd:這個就是管理錢包的部分。插件

官方說是使用什麼石墨烯的框架結構,其實我並不瞭解石墨烯的框架,我就用本身現有的知識給你們解釋吧。首先EOS的框架使用模塊化的方式管理,使用插件管理。本人如今主要看的是nodeos,因此就用nodeos這個核心模塊來講吧。調試

它的入口在./programs/nodeos/main.cpp,代碼以下:blog

app().set_version(eosio::nodeos::config::version);string

app().register_plugin<history_plugin>();it

 

auto root = fc::app_path();io

app().set_default_data_dir(root / "eosio/nodeos/data" );

app().set_default_config_dir(root / "eosio/nodeos/config" );

if(!app().initialize<chain_plugin, http_plugin, net_plugin, producer_plugin>(argc, argv))

return INITIALIZE_FAIL;

initialize_logging();

ilog("nodeos version ${ver}", ("ver", app().version_string()));

ilog("eosio root is ${root}", ("root", root.string()));

app().startup();

app().exec();

 

這個是程序的主要部分,主要作來以下部分:

1.配置信息,就是你作本地的存儲數據和配置文件的位置,你能夠在運行的時候設置參數從新設置,默認是在:~/Library/Application Support/eosio/nodeos

2初始化插件,能夠看到這裏初始化的插件有:chain_plugin http_plugin net_plugin producer_plugin

3.初始化log,爲之後的跟蹤和調試作準備

4.startup,這個主要作的也是去啓動各個插件,也會調用各個插件的startup

5.運行

相關文章
相關標籤/搜索