美文网首页
docker 本地搭建EOS开发环境

docker 本地搭建EOS开发环境

作者: whong736 | 来源:发表于2018-06-21 08:41 被阅读589次

    1.环境准备1. 安装 Docker 和 docker-compose

    我这里已经安装好了


    image.png

    大家可参考docker官方文档进行安装。

    2.拉取EOS docker 镜像

     docker pull eosio/eos-dev:latest
    
    拉取EOS镜像 拉取镜像成功

    3.运行docker 容器,并启动EOSIO节点:

    sudo docker run --rm --name eosio -d -p 8888:8888 -p 9876:9876 -v /tmp/work:/work -v /tmp/eosio/data:/mnt/dev/data -v /tmp/eosio/config:/mnt/dev/config eosio/eos-dev:latest  /bin/bash -c "nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::wallet_plugin --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=0.0.0.0:8888 --access-control-allow-origin=* --contracts-console"
    
    
    容器启动成功

    4.验证节点是否正常工作

    sudo docker logs --tail 10 eosio
    
    输入本机的密码后输入最近10个节点logo信息

    如果看到这个信息 ,恭喜!你已经在Docker容器中运行了一个非常简单的单节点区块链!

    5.在浏览器中查看该地址以检查RPC接口是否正常工作

    http://localhost:8888/v1/chain/get_info
    

    6. 网上找一款json格式化工具,我这里用

    https://www.bejson.com/

    image.png

    拷贝json复制到json格式化工具中,可以看到区块的信息了。


    image.png

    其中 server_version 表示当前服务器运行的 eos 代码版本,其取值为代码的最近一条 commit log 前 8 个字符。对应的正是 build docker image 的时候 master 代码的最新 commit。

    head_block_num 表示最新的区块编号,可以理解为区块高度。

    last_irreversible_block_num 表示不可逆区块的最大编号,关于这两个的具体区别,可以参见 EOS 技术白皮书中文版

    head_block_time 是最新区块的生成时间。

    head_block_producer 则表示由哪个节点产生。由于我们只有一个节点,因此其取值一直是 eosio。

    7. Cleos

    cleos是一个命令行接口,同区块链进行交互来管理钱包。为了方便我们为运行在我们容器内部的cleos创建一个bash alias。在终端中运行如下命令:

    alias cleos='docker exec eosio /opt/eosio/bin/cleos --wallet-url http://localhost:8888'
    
    

    8.关闭节点

    docker stop eosio
    

    参考文章:https://blog.csdn.net/m0_37722557/article/details/80651701


    觉得文章有用,请用支付宝扫描,领取一下红包!打赏一下

    支付宝红包码

    相关文章

      网友评论

          本文标题:docker 本地搭建EOS开发环境

          本文链接:https://www.haomeiwen.com/subject/akofyftx.html