搭建EOS全节点并接入主网
2024-10-18 00:49:35
#EOS编译安装
#!/bin/bash
#install.eos.sh
#EOS 安装 #从github克隆主网代码
cd /opt
git clone https://github.com/EOS-Mainnet/eos.git --recursive #查看mainnet ,切换最新版本
cd /opt/eos
git tag
git tag |grep mainnet |tail -n 1
git checkout `git tag |grep mainnet |tail -n 1`
git branch #更新子模块
git submodule update --init --recursive #查询得shell脚本里的MongoDB下载地址失效,修改如下
sed -i 's#https://fastdl.mongodb.org#http://downloads.mongodb.org#' scripts/*.sh #运行编译
./eosio_build.sh -s "EOS" #编译完成后,安装
./eosio_install.sh
#eos加入主网并启动
#eos加入主网并启动
#下载节点配置
#主要用到genesis.json和config.ini
#主网创世区块文件genesis.json
#默认配置config.ini #download and Configuring
mkdir /opt/EOSmainNet
cd /opt/EOSmainNet
git clone https://github.com/CryptoLions/EOS-MainNet.git ./
chmod +x ./*.sh
chmod +x ./Wallet/*.sh #设置当前用户ubuntu权限(可选)
sudo chown ubuntu:ubuntu -R /opt/EOSmainNet #修改区块储存限制(已超过默认存储大小)
sudo sed -i 's/chain-state-db-size-mb =.*/chain-state-db-size-mb = 65536/' /opt/EOSmainNet/config.ini #更换nodeos编译路径
sudo sed -i 's#/home/eos-sources/eos#/opt/eos#' *.sh #从privex.io下载最新的可用EOS节点清单,保存到peers.txt文件中
wget https://eosnodes.privex.io/?config=1 -O peers.txt #在配置文件config.ini中,找到所有的p2p-peer-address配置项,
#例如:p2p-peer-address = bp.cryptolions.io:9876
#...
#p2p-peer-address = mainnet.eoseco.com:10010
#然后用peers.txt中的内容替换。 #首次启动,清除现有区块并加入主网
sudo /opt/EOSmainNet/start.sh --genesis-json /opt/EOSmainNet/genesis.json --delete-all-blocks #再次启动,不需指定genesis.json
sudo /opt/EOSmainNet/start.sh
#关闭 sudo /opt/EOSmainNet/stop.sh
注意(重要):
nodeos进程异常关闭,再次启动要区块回放--replay-blockchain很耗时间
eos不适合docker方式部署,eosio/eos镜像停止维护
通过备份文件重放区块中信息,区块超过3千万后区块回放很慢,不如直接同步
区块备份文件下载(个人实测后不推荐) https://eosnode.tools/blocks
#为加快同步速度,添加一些物理距离近的同步节点
#当前的网络p2p-peer-address 地址可以从下面地址获得
# https://eosnodes.privex.io/?config=1
#基本查询
#查看区块同步
sudo /opt/EOSmainNet/cleos.sh get info #查看区块高度
/opt/EOSmainNet/cleos.sh get info |awk -F'[ |,]' '/head_block_num/{print $4}' #curl 访问rpc api查看区块
#sudo apt install jq #格式化josn文件
#查看区块同步
[ -f /usr/bin/jq ] || { sudo apt updata;sudo apt install jq; }
curl -s http://127.0.0.1:8888/v1/chain/get_info |jq #获取区块高度
curl -s http://localhost:8888/v1/chain/get_info |awk -F'[,:]*' '{print $6}' #查看日志
tail -f /opt/EOSmainNet/stderr.txt #EOS区块链浏览器
https://eospark.com
#EOS中文白皮书
https://github.com/EOSIO/Documentation/blob/master/zh-CN/TechnicalWhitePaper.md
最新文章
- Enum引发的血案,反思
- 增强Eclipse ,MyEclipse 的代码自动提示功能
- JavaSE复习日记 : 循环语句(for/while/do while)
- Java集合之HashMap源码实现分析
- 使用CodeFirst实现动态建库
- Python 获取 网易云音乐热门评论
- 关系型数据库工作原理-高速缓存(翻译自Coding-Geek文章)
- JavaEE EL &; JSTL 学习笔记
- 浅谈SSRF漏洞
- Scala设计模式
- 作业二 | Git的安装与使用
- 基础汇编指令(16bit 32bit 64bit)
- jmap MAT内存溢出实践
- WPF datagrid 设置表头线与颜色、透明度
- tornado项目注意点
- Android GetMethodID 函数的说明
- ajax调用后台webservice返回JSON字符
- 7.6 Models -- Finding Records
- 为程序使用内存缓存(MemoryCache)
- Windows10怎么架设局域网DNS服务器?