Eos代码学习笔记(一)目录功能分析

本篇笔记主要记录Eos根路径下每个目录的功能。

1、从github上克隆代码,并编译。

git clone https://github.com/EOSIO/eos --recursive
git submodule update --init --recursive

cd eos
./eosio_build.sh
./eosio_install.sh

编译过程中出现的任何错误,可以留言。

2、编译完成之后的代码目录如下图:

eos目录.png

3、eos每个目录的功能:

build目录:代码编译之后生成的文件。包含各种插件生成的静态库文件、可执行文件、测试脚本等。
cmake-build-debug目录:我自己使用clion编译器生成的目录,非eos目录。
CMakeModules目录:eos项目依赖的第三方模块,编译用到的cmake脚本(搜索lib文件和头文件等功能)。
contracts目录:智能合约示例文件,可以最后再看。
debian目录:包含了eos再debian下安装的一些配置文件。
Docker目录:Docker安装用到的配置脚本和Dockerfile。
docs目录:包含一个css格式文件,可能是渲染教程页面。
externals目录:外部第三方依赖。binaryen(wasm项目的二进制工具包)、magic_get(C++14 的库,通过索引访问不同类型的元素)。
images目录:图片、logo等。
libraries目录:和业务无关的一些类、工具函数等(比如插件管理类、wasm虚拟机、ECC加密算法等),注意其中有些库本来是boost库里面的,但是eos重新写了。
plugins目录:插件目录(钱包插件、链插件、p2p插件、http插件等),需要重点分析。
programs目录:可执行文件,包括了cleos、nodeos、keosd等可执行文件,也需要重点分析,分析的入口。
scripts目录:脚本目录,不同平台下的安装命令脚本等。
tests目录:测试py脚本,每个功能都有其测试脚本。
tools目录:辅助工具,可执行文件。gcov(计算代码覆盖率,执行路径),eosiocpp生成智能合约的abi和wast文件。
tutorials目录:部分教程(bios boot启动,普通功能使用教程)。
unittests目录:单元测试。

4、重点分析的目录:

plugins目录和programs目录。

5、三个可执行文件

nodeos文件:出块、验证交易、广播交易、提供http接口等主要功能,重点分析。
cleos文件:与nodeos交互的命令行工具,后续分析。
keos文件:钱包文件,后续分析。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • eos项目(v1.0.9)主要可以分为以下八个模块:1.编译模块2.主程序模块3.依赖库模块4.插件模块5.智能合...
    vdes阅读 2,831评论 0 1
  • ANT build.xml文件详解(一) Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用...
    SkTj阅读 4,076评论 0 2
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,050评论 2 59
  • EOS,企业操作系统,是为企业级分布式应用设计的一款区块链操作系统。相比于目前区块链平台性能低、开发难度大以及手续...
    币来网阅读 723评论 0 0
  • 2018年9月21日,晴。 请原谅我将这个日子作为开头,因为我想记住这个日子,记住今天。 来到四中是一个意外,原本...
    云起一天山的云起阅读 272评论 0 0