EOS 插件依赖关系

EOS version: 1.0.5 update: 2018-06-19
 
EOS插件之间会有一个相互调用与依赖的关系,下面有一张个人画的一张草图,包含了此版本EOS所有插件相互之间的依赖关系,如下:
 
 
 
可以看出所有的业务关系基本上都依赖于chain_plugin和http_plugin这两个插件,下面有一幅EOS总体框架源码图,可以大致浏览下EOS各个模块
 
文件目录说明如下:
 
1、contracts目录
 
这个目录包含了EOS基础合约和示例合约,以及这些合约使用的库:eosiolib库、libc++库、musl库;
 
其中eosiolib库是EOS官方编写的库,libc++库、musl库是外部库。
 
2、plugins目录
 
EOS采用插件化设计,这个目录包含了EOS项目所用到的插件。
 
3、libraries目录
 
这个目录包含了具体实现代码需要引用的基础类库:
 
  • abi-generator:生成ABI的类库
 
  • appbase:application基础类库
 
  • chain、chainbase:区块链基础类库
 
  • fc:通用函数库
 
  • wasm-jit:WebAssembly JIT编译库
 
 
4、programs目录
 
这个目录包含EOS最终构建的应用程序(eos/build/programs目录下)的源码:
 
  • cleos:命令行客户端
 
  • nodeos:服务端守护进程
 
  • keosd:钱包守护进程
 
  • eosio-abigen:ABI生成器
 
  • eosio-launcher:多节点启动器
 
  • snapshot:配置创世区块和创始相关工具的Web程序
 
 
5、governance目录
 
这个目录包含的不是源代码,而是EOS社区治理文件,觉得比较重要,提到这里:
 
  • bp_agreement.md:区块生产者需要遵守的协议
 
  • constitution.md:EOS宪法
 
6、externals目录
 
这个目录包含的是外部项目:
 
 
posted @ 2018-06-27 17:18  HBright  阅读(1558)  评论(0编辑  收藏  举报