本文介绍如何安装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.deb12、安装下载完成安装本地软件包:~$ sudo apt install ./eosio_1.6.2-1-ubuntu-16.04_amd64.deb13、验证安装完成后验证软件版本:~$ nodeos --versionv1.6.212二、配置EOS节点软件首先创建一个新的目录作为工作环境,起个容易看懂的名字,例如:~$ mkdir eos-main11、下载主网创世文件EOS节点要接入主网,需要在初次启动nodeos时指定主网的创世文件genesis.json,可以从CryptoLions的github上下载这个文件:~/eos-main$ wget https://github.com/CryptoLions/EOS-MainNet/blob/master/genesis.json12、下载主网配置文件CryptoLions同样也提供了主网的配置文件config.ini,同样下载到本地:~/eos-main$ wget https://github.com/CryptoLions/EOS-MainNet/blob/master/config.ini13、下载最新可用节点清单从privex.io下载最新的可用EOS节点清单,保存到peers.txt文件中~/eos-main$ wget https://eosnodes.privex.io/?config=1 -O peers.txt14、更新主网配置文件中的节点列表在配置文件config.ini中,找到所有的p2p-peer-address配置项,例如:p2p-peer-address = bp.cryptolions.io:9876...p2p-peer-address = mainnet.eoseco.com:10010123然后用peers.txt中的内容替换三、首次启动第一次启动nodeos时,需要指定创世文件,并且清理之前的区块:~/eos-main$ nodeos --config-dir . --data-dir . --genesis-json genesis.json --delete-all-blocks1启动之后,可以另开终端查看同步进度:~$ cleos get info1观察输出结果中的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}1234567891011121314可以将上面信息中的head_block_num与eospark上的最新区块号对比,即可得知同步进度当两者一致后,表示节点与EOS主网达成同步四、EOS节点的停止与重新启动有时可能因为种种原因需要重新启动nodeos,切记不要强制杀掉nodeos,让它有喘息清理的机会应当用如下的命令通知nodeos退出:~$ pkill nodeos1这样关闭的nodeos不会有历史垃圾,因此再次启动时会很顺利:~/eos-main$ nodeos --config-dir . --data-dir .1注意,在第二次以及以后的启动中,一定__不要__再用__–delete-all-blocks__参数,否则你会一遍遍的从零开始
如果必须强制杀掉nodeos,比如使用pkill -9或者直接运行中重新启动机器,那么再次启动nodeos时会失败并收到这个提示:...database dirty flag set (likely due to unclean shutdown): replay required12这时我们要么删掉全部区块(使用--delete-all-blocks参数)重新来过,要么重放交易,比如硬重放:~/eos-main$ nodeos nodeos --config-dir . --data-dir . --hard-replay-blockchain1重放问题就是,它也会花掉很长的时间…,虽然比删掉全部区块要好一点所以,在关闭nodeos的时候,记得一定温柔一点--------------------- 作者:新缸中之脑 来源:CSDN 原文:https://blog.csdn.net/shebao3333/article/details/87886737 版权声明:本文为博主原创文章,转载请附上博文链接
0 评论