搭建EOS全节点并接入主网
#EOS编译安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #!/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加入主网并启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #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
#基本查询
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #查看区块同步 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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2017-08-15 Spring整合Mybatis解决 Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
2017-08-15 (转)利用Spring AOP自定义注解解决日志和签名校验
2017-08-15 (转)Spring Boot中使用AOP统一处理Web请求日志
2016-08-15 Linux命令行--使用linux环境变量(转)