eos主网节点搭建 (不编译源码)
Eos主网节点搭建
https://github.com/EOSIO/eos官方文档
Ubuntu 18.04 Package Install
wget https://github.com/eosio/eos/releases/download/v1.8.1/eosio_1.8.1-1-ubuntu-16.04_amd64.deb
$ sudo apt install ./eosio_1.8.1-1-ubuntu-16.04_amd64.deb
1执行安装后 安装目录为/usr/opt/eosio/1.8.1/bin
目录下面有三个可执行文件
https://developers.eos.io/eosio-home/docs eosio文档介绍
Cleos rpc客户端
Nodes 节点 与其他节点交互完成数据同步、交易广播、
Keosd 相当于钱包
2.加入主网
https://github.com/CryptoLions/EOS-MainNet(文档有详细步骤)
以上文件可以全部下载git clone https://github.com/CryptoLions/EOS-MainNet.git ./(注意修改对应目录)
Config.ini 配置文件 和genesis.json 创世区块文件 使用主网的创世文件即加入主网
(./start.sh --delete-all-blocks --genesis-json genesis.json)
有时可能因为种种原因需要重新启动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的时候,记得一定温柔一点。
--replay-blockchain --hard-replay-blockchain
由于从0开始同步区块 数据量太大 一般选择快照方式同步
https://eosnode.tools/snapshots快照下载地址(由于当时安装版本是1.81,当时此地址下载的快照是<1.8,所以此地址的快照不兼容1.8)
另一个快照地址http://snapshots.eossweden.org/
![](http://img.e-com-net.com/image/info10/200240a4cfd24585a315c3000ff8a1e7.jpg)
下载后上传的eos的数据目录
tar xvzf snapshot.tar.gz
解压后移动到snapshs目录下
启动(不需要指定--genesis-json genesis.json 快照里面包含有)
./start.sh --snapshot "$(ls -t snapshots/*.bin | head -n1)"
如果有原来的数据可执行
./start.sh --delete-all-blocks --snapshot "$(ls -t snapshots/*.bin | head -n1)"
Eos查询交易历史和交易详情相关的内容需要 开启以下两个插件(可以在节点启动时指定 也可以在config.ini里面指定)
并且设置过滤日志
receiver:action:actor
receiver 要监听的合约(相当于类 controller)
action 合约的具体方法
actor 调用方法的账户
filter-on = eosio.token:transfer: 监听所有账户的EOS 转账
filter-on = eosio:newaccount: 监听新账户创建
filter-on = * 监听所有事件(由于数据增长太快 一天可能有10多G 不推荐使用)