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.运行

相关文章
相关标签/搜索