专栏首页汇智网教程EOS主网数据同步指南

EOS主网数据同步指南

本文介绍如何安装EOS节点软件并接入EOS主网,主要包括以下内容:

  • 如何安装EOS节点软件
  • 如何配置EOS节点软件接入主网
  • 如何启动EOS节点软件与主网数据同步
  • 如何检查主网数据同步进度
  • 如何正确地关闭EOS节点
  • 在出现database dirty flag set错误时如何处理?

一、安装EOS节点软件

本文以ubuntu16.04为例介绍EOS节点软件的安装方法,其他操作系统 可参考官网文档

1、下载

首先到官方github下载最新版的eosio软件安装包:

~$ wget https://github.com/eosio/eos/releases/download/v1.6.2/eosio_1.6.2-1-ubuntu-16.04_amd64.deb

2、安装

下载完成安装本地软件包:

~$ sudo apt install ./eosio_1.6.2-1-ubuntu-16.04_amd64.deb

3、验证

安装完成后验证软件版本:

~$ nodeos --version
v1.6.2

二、配置EOS节点软件

首先创建一个新的目录作为工作环境,起个容易看懂的名字,例如:

~$ mkdir eos-main

1、下载主网创世文件

EOS节点要接入主网,需要在初次启动nodeos时指定主网的创世文件genesis.json, 可以从CryptoLions的github上下载这个文件:

~/eos-main$ wget https://github.com/CryptoLions/EOS-MainNet/blob/master/genesis.json

2、下载主网配置文件

CryptoLions同样也提供了主网的配置文件config.ini,同样下载到本地:

~/eos-main$ wget https://github.com/CryptoLions/EOS-MainNet/blob/master/config.ini

3、下载最新可用节点清单

从privex.io下载最新的可用EOS节点清单,保存到peers.txt文件中

~/eos-main$ wget https://eosnodes.privex.io/?config=1 -O peers.txt

4、更新主网配置文件中的节点列表

在配置文件config.ini中,找到所有的p2p-peer-address配置项,例如:

p2p-peer-address = bp.cryptolions.io:9876
...
p2p-peer-address = mainnet.eoseco.com:10010

然后用peers.txt中的内容替换。

三、首次启动

第一次启动nodeos时,需要指定创世文件,并且清理之前的区块:

~/eos-main$ nodeos --config-dir . --data-dir . --genesis-json genesis.json --delete-all-blocks

启动之后,可以另开终端查看同步进度:

~$ cleos get info

观察输出结果中的chain_id如下所示为aca376...,就表明已经接入主网:

{
  "server_version": "c8f26078",
  "chain_id": "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906",
  "head_block_num": 3712,
  "last_irreversible_block_num": 3711,
  "last_irreversible_block_id": "00000e7f1b9d5b50256654921f5ca8a91aa3168f0c0a3e8ea3bbea1ba5c00fe2",
  "head_block_id": "00000e80a8c5b9e7acc9c063113668b7eae9025aa38a8c8ac3606df6256086e3",
  "head_block_time": "2018-06-09T12:29:10.500",
  "head_block_producer": "eosio",
  "virtual_block_cpu_limit": 2675279111,
  "virtual_block_net_limit": 42941084,
  "block_cpu_limit": 100000000,
  "block_net_limit": 1048576
}

可以将上面信息中的head_block_numeospark上的最新区块号对比, 即可得知同步进度。当两者一致后,表示节点与EOS主网达成同步。

四、EOS节点的停止与重新启动

有时可能因为种种原因需要重新启动nodeos,切记不要强制杀掉nodeos,让它 有喘息清理的机会。应当用如下的命令通知nodeos退出:

~$ pkill nodeos

这样关闭的nodeos不会有历史垃圾,因此再次启动时会很顺利:

~/eos-main$ nodeos --config-dir . --data-dir .

注意,在第二次以及以后的启动中,一定__不要__再用__--delete-all-blocks__参数,否则 你会一遍遍的从零开始!

如果必须强制杀掉nodeos,比如使用pkill -9或者直接运行中重新启动机器, 那么再次启动nodeos时会失败并收到这个提示:

...
database dirty flag set (likely due to unclean shutdown): replay required

这时我们要么删掉全部区块(使用--delete-all-blocks参数)重新来过,要么重放交易,比如 硬重放:

~/eos-main$ nodeos nodeos --config-dir . --data-dir . --hard-replay-blockchain

重放问题就是,它也会花掉很长的时间....,虽然比删掉全部区块要好一点。

所以,在关闭nodeos的时候,记得一定温柔一点。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • EOS开发DApp需要多少内存/CPU/带宽?

    要开发一个基于EOS区块链的DAPP需要多少内存、CPU或带宽资源?这是很多即将开始EOS项目的开发者关注的一个重要问题。本文将介绍如何估算EOS DAPP的内...

    用户1408045
  • Quorum联盟链开发入门

    Quorum是一个许可制的以太坊联盟区块链实现,包含了金融巨头JP摩根开发的一个GETH分支版本,可以在节点之间实现私有和快速的交易。Quorum为保证隐私对节...

    用户1408045
  • 原 EOS主网上线,背后公司Block.

    用户1408045
  • 【许晓笛】从零开始运行EOS系统

    本篇教程适用于以下系统,但是不论你的电脑是 windows 还是 mac,都强烈建议安装一个虚拟机,在 Ubuntu 上搞,因为 Mac 上有很多坑。安装 Ub...

    圆方圆学院
  • FastSql ORM 实现

    FastSql 中 ORM 的实现 Table of Contents 原理 实现 1. 使用注解 2. 反射工具类 3. 简单的 model 4. 注解解析 ...

    777
  • Graph Neural Network(GNN)综述

    图(graph)是一个非常常用的数据结构,现实世界中很多很多任务可以描述为图问题,比如社交网络,蛋白体结构,交通路网数据,以及很火的知识图谱等,甚至规则网格结构...

    zenRRan
  • Graph Neural Network(GNN)综述

    图(graph)是一个非常常用的数据结构,现实世界中很多很多任务可以描述为图问题,比如社交网络,蛋白体结构,交通路网数据,以及很火的知识图谱等,甚至规则网格结构...

    SIGAI学习与实践平台
  • 如何卓有成效的提问

    我再来补充一个「提问」相关的回答,我目前是在IT行业,有一些好的提问方式和思路,对于一个新人非常重要,甚至已经是职场好几年的同事,甚至可以让自己走的更快,还可以...

    叉叉敌
  • 如何快速写出Json Schema,校验Json Schema

    得到一个Json文件,如何快速的去测试呢? 难道是一个个节点的去验证吗?那显然效率太低了。 一般推荐使用Json Schema(一种Json的数据结构定义)去校...

    软测小生
  • 超过12亿美金的旷世对决,摩拜合并ofo的7点判断

    转自公众号:人人都是产品经理 共享单车的补贴大战貌似已开启,而就在三年前,共享出行领域的 2 家领先公司,滴滴和快的掀起了史无前例的补贴大战。此时,历史似乎又...

    顶级程序员

扫码关注云+社区

领取腾讯云代金券