经验分享 如何向 EOSIO/EOS 中添加插件 (plugin)

yiyanwannian · August 08, 2019 · Last by strahe replied at August 08, 2019 · 406 hits

EOSIO/EOS的源码结构为plugin模式, 整个项目由多个plugin加载运行,主要plugin: chain_plugin, net_plugin, producer_plugin, chain_api_plugin, http_plugin, http_client_plugin. 各个plugin 有独立的功能,也能相互依赖引用, 可以去eosio/eos/programs/nodeos下调试阅读

如何在eos中添加自定义的plugin呢?

  1. 进入eos项目根目录(eos 目录下)

  2. 进入plugins 目录下,可以看到有一个eosio-make_new_plugin.sh shell 文件

    cd plugins && ls -l
    
  3. 生成自定义的plugin,(我用yiyanwannian_plugin作为示例)

    ./eosio-make_new_plugin.sh yiyanwannian_plugin
    

    输出: 并且生成yiyanwannian_plugin文件夹, 以及插件必要文件:

  4. 在plugins 文件夹下面的CMakeLists.txt中添加add_subdirectory(yiyanwannian_plugin):

  5. 在nodeos下的CMakeLists.txt 中添加 PRIVATE -Wl,${whole_archive_flag} yiyanwannian_plugin -Wl,${no_whole_archive_flag} :

  6. 到这里要做的改动就完成了,但是如果要使你的plugin能运行,需要在运行的时候填上 --plugin eosio::yiyanwannian_plugin :

  7. 运行前还请在eos项目跟目录下运行 ./scripts/eosio_build.sh, 等待编译完成即可 :

./scripts/eosio_build.sh 
共收到 1 条回复
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up