美文网首页区块链技术指北
快速构建 EOS 主网 Fullnode

快速构建 EOS 主网 Fullnode

作者: 67d6d78f0332 | 来源:发表于2018-08-14 00:00 被阅读85次

    文/温国兵

    这是「区块链技术指北」的第 37 篇文章。

    如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会把你拉入微信群「区块链技术指北」。BTW,李笑来老师也加入了我的知识星球,文末有加入方式。

    image

    题图来自: © ChainONE / Original / chainon.io

    快速构建 Fullnode


    截止目前,EOS 主网区块数量达到 1093 万,区块数据达到数十 G,备份数据也达到了 16G。如果从头开始同步区块数据,需要数天的时间。随着区块不断累加,同步的时间越来越长。如何快速构建 Fullnode,这成为每一个 BP、DApp 开发者等用户需要考量的问题。

    本文给出根据区块备份数据快速构建 Fullnode 的方法。

    备份服务


    这里给出两个 EOS 区块数据备份服务,一是由 EOS Store 提供,二是由 EOS Cleaner 提供。

    以 EOS Store 提供的服务为例,访问 https://s3-ap-northeast-1.amazonaws.com/eosstorebp 会获得 XML 格式的数据,Contents 中的 Key 表示文件名,LastModified 表示修改时间,Size 表示备份文件大小。EOS Store 每天备份两次,分别是 00:30 和 12:30,如果我们获得最新的一次备份,可以执行以下命令提供:

    $ wget https://s3-ap-northeast-1.amazonaws.com/eosstorebp/2018-08-13-12_30_20.tar.gz
    

    如果自己的服务器是国内云服务商提供,会发现无法访问,不着急,可以用一台国外 VPS 做中转。具体中转方法笔者可以后续提供。

    EOS Cleaner 提供的服务比较友好,访问 https://s3-ap-northeast-1.amazonaws.com/data.eos/index.html 可以看到一个文件下载链接,如果不想本地下载,浏览器右键拷贝下载链接即可。

    编译


    本文以 EOS-Mainnet 为例。

    $ cd /data
    $ git clone https://github.com/EOS-Mainnet/eos --recursive
    $ cd eos
    $ git pull
    $ git checkout mainnet-1.1.4
    $ git submodule update --recursive
    $ sed -i.bak '16i set( CORE_SYMBOL_NAME "EOS" )' CMakeLists.txt
    $ ./eosio_build.sh
    

    关于如何加速 GitHub,可以参考 GitHub 加速最佳实践

    启动


    接着我们启动 nodeos,主网 Fullnode 相关的配置文件可以访问如下链接下载:

    https://github.com/superoneio/eos-mainnet

    启动 Fullnode 相关命令如下:

    $ mkdir /data/eos/build/programs/nodeos
    $ git clone https://github.com/superoneio/eos-mainnet
    $ mkdir -p data logs config tmp
    $ cp eos-mainnet/config.ini config/config
    $ cp eos-mainnet/genesis.json .
    $ cp eos-mainnet/*.sh .
    $ chmod +x *.sh
    

    解压 nodeos 备份数据,启动 nodeos 进程,建议以普通用户启动,例如本文的 eosio。另外,注意此处的 --hard-replay-blockchain 参数。

    $ su - eosio -s /bin/bash
    $ cd /data/eos/build/programs/nodeos/tmp
    $ tar -zxvf 2018-08-13-12_30_20.tar.gz
    $ mv state blocks ../data
    $ chown eosio:eosio -R /data/eos
    $ su - eosio -s /bin/bash
    $ cd /data/eos/build/programs/nodeos
    $ echo "nohup /data/eos/build/programs/nodeos/nodeos \
    --hard-replay-blockchain --data-dir ./data \
    --config-dir ./config > ./logs/eos.log 2>&1 &
    echo $! > eos.pid" > start.sh
    $ bash start.sh
    

    测试


    使用如下命令查看同步进度。

    $ /data/eos/build/programs/cleos/cleos get info
    

    小结


    快速构建 Fullnode 对 BP、DApp 开发者等都非常有帮助,希望本文能够给读者一个指引。

    「区块链技术指北」同名 知识星球,二维码如下,欢迎加入。BTW,李笑来老师也加入了

    区块链技术指北

    「区块链技术指北」相关资讯渠道:

    同时,本系列文章会在以下渠道同步更新,欢迎关注:

    原创不易,读者可以通过如下途径打赏,虚拟货币、美元、法币均支持。

    • BTC: 3QboL2k5HfKjKDrEYtQAKubWCjx9CX7i8f
    • ERC20 Token: 0x8907B2ed72A1E2D283c04613536Fac4270C9F0b3
    • PayPal: https://www.paypal.me/robinwen
    • 微信打赏二维码
    Wechat

    –EOF–

    版权声明:自由转载-非商用-非衍生-保持署名(创意共享4.0许可证)

    相关文章

      网友评论

        本文标题:快速构建 EOS 主网 Fullnode

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