EOS 源码赏析:EOS代码主分支架构

EOS 主目录文件夹 :

第一部分:CMakeModules主要是cmake编译所需要使用的一些配置信息。

cotire.cmake 是加快编译速度的cmake文件
doxygen.cmake 可以将代码中的一些注释生成相关文档
FindGperftools.cmake 包含了性能分析相关的配置
FindGperftools.cmake 检测当前机器是否可以生成wasm32
insataller.cmake 提供安装的相关配置信息
wasm.cmake 文件提供wasm相关的配置信息

第二部分:Contracts中包含有智能合约的相关内容:

asserter中定义了assert的相关结构体,并完成对智能合约事件的分发。

bancor即班科,定义了bancor结构体,包含有凯恩斯国际货币单位的相关内容,主要是货币单位之间的转换。

currency定义了currency结构体,同样为货币的相关内容。

dice中实现了一个掷骰子的小游戏。

eosio.system包含有eosio系统的相关内容,这个接下来会做相关专题介绍。

eosiolib中包含有eos运行所依赖的库的头文件。

exchange中包含有交易相关结构体的定义。

identity中包含有身份的相关定义,在eos中身份和账户是两个相互分离的概念,身份和账户的映射需要服从一定的共识。

infinite从字面意义上理解是无限,代码中实现了一个不停的去打印的函数。

libc++中主要是c++所以来的库。

musl是linux操作系统下的一个标准库。

noop实现一个空的智能合约。

proxy实现代理的相关内容。

simpleDB 包含了数据库相关内容。

skeleton看不出有什么内容。

social主要是方便用户创建属于自己的货币同时可以让其进行投票等举动(马上要开始的21节点竞争就是通过投票来进行的)。

storage方便用户去修改账户的名字。

第三部分:eos编译运行所需要的插件:

account_history_api_plugin 账户历史记录的接口插件。

account_history_plugin 账户历史记录插件。

chain_api_plugin 链的接口插件。

chain_plugin 链的插件。

faucet_testnet_plugin水龙头测试网络插件。

http_plugin http插件。

mongo_db_plugin mongoDB插件。

net_api_plugin 网络接口插件。

net_plugin 网络插件。

wallet_api_plugin 钱包接口插件。

wallet_plugin 钱包插件。

第四部分:build文件夹下的内容

eosio-abigen用于生成abi文件。

eosd是eos的核心,它可以根据用户的配置启用插件来运行一个节点。现在可用来产生区块,封装接口,本地开发等功能。

eosc其实是提供了命令行操作的eosd。要使用eosc首先要在初始化eosd的时候配置好ip和端口,同时加载eosio::chain_api_plugin。

eos-walletd eos的钱包核心线程,加载一些核心控件如http接口和PRC接口。

launcher launcher简化了eosd节点跨局域网或者跨更宽泛的网络的分布。

猜你喜欢

转载自blog.csdn.net/qq_17168637/article/details/84643818
eos