快速构建 EOS 主网 Fullnode

文/温国兵

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

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

快速构建 Fullnode


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

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

备份服务


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

  • eosstore eos mainnet backup
  • eoscleaner eos mainnet backup

以 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。

$ 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,李笑来老师也加入了。

原文发布于微信公众号 - 区块链技术指北(BlockchainAge)

原文发表时间:2018-08-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

推荐!国外程序员整理的系统管理员资源大全(一)

备份软件 Amanda -客户端-服务器模型备份工具 Bacula - 另一个客户端-服务器模型备份工具 Backupninja -轻量级,可扩展的元数据备份系...

570100
来自专栏Kurt Niu 的博客

自己制作一个USB自动挖矿器

这时候你只需要花十块钱制作如下设备,然后钻到桌子底下装作系鞋带, 把设备插到他主机箱后边的USB接口,倒数三秒钟,再拔下来... 这时候他的电脑CPU已经占用...

20920
来自专栏FreeBuf

QQ三国盗号木马分析报告

近年来网络游戏越来越火,人们充值大量金钱玩一个心爱的游戏已成常态,所以有些游戏账号非常值钱,特别是QQ三国这种每次更新都要氪金的游戏,虽然只剩下部分老玩家在玩,...

15330
来自专栏hotqin888的专栏

电子规范管理系统(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

18210
来自专栏Java进阶

聊聊TCP传输的滑动窗口协议的演进

397100
来自专栏跟着阿笨一起玩NET

公开封尘已久的即时通讯源码

理论上功能是实现了,但是在NAT穿透上有问题,所以P2P有时不能成功,所以在外网,只是一个玩具而已

63030
来自专栏前端开发

在线生成精美简历源码分享

36050
来自专栏WindCoder

区块链一键登录:MetaMask教程(One-click Login with Blockchain: A MetaMask Tutorial)

在线用户对传统电子邮件/密码注册流程的抵抗力日益增强。通过Facebook,Google或GitHub的一键式社交登录功能被证明是更理想的选择。然而,它存在一种...

31120
来自专栏余子军的专栏

Linux 2.6.16 TCP 连接速度异常的问题分析

发现访问公司某些业务时,速度非常不稳定,并且整体慢于竞争对手。分析认为 SESU10 母盘上内核 TCP 拥塞控制算法和 Windows 的 Ack 频率控制的...

2.1K00
来自专栏风中追风

分布式基础__聊聊TCP传输的滑动窗口协议的演进

写这篇文章前,我有些肺腑之言想感谢一下我的微信好友“风大”。 是他给了我信心,原来没有很难的技术,只要你肯努力总能赶上其他人。 后来关注他的博客后,发现他尽然觉...

403150

扫码关注云+社区

领取腾讯云代金券