cosmos hub 模拟实践
一、准备网络节点
每个节点都需要安装gaiad
和gaiacli
-
node0
: 192.168.1.218 -
node1
: 192.168.1.219 -
node2
: 192.168.1.220 -
node3
: 192.168.1.221 -
node4
: 192.168.1.222
二、自动生成配置文件
gaiad提供自动生成多个节点的配置文件的功能
gaiad testnet --v 5 --starting-ip-address 192.168.1.218
下面是自动生成的配置文件
[root@dev2 ~]# tree mytestnet -L 2
mytestnet
├── gentxs
│ ├── node0.json
│ ├── node1.json
│ ├── node2.json
│ ├── node3.json
│ └── node4.json
├── node0
│ ├── gaiacli
│ └── gaiad
├── node1
│ ├── gaiacli
│ └── gaiad
├── node2
│ ├── gaiacli
│ └── gaiad
├── node3
│ ├── gaiacli
│ └── gaiad
└── node4
├── gaiacli
└── gaiad
16 directories, 5 files
需要手动把mytestnet
目录拷贝到所有节点上
三、启动节点
启动以node0节点为例,首先把配置文件拷贝到gaia的默认目录中
cd mytestnet
cp -r node0/gaiacli ~/.gaiacli
cp -r node0/gaiad ~/.gaiad
mkdir -p ~/.gaiad/config/gentx
cp gentxs/*.json ~/.gaiad/config/gentx
gaiad collect-gentxs
gaiad start >> /tmp/gaiad.log &
其他节点执行类似操作。需要注意的是,所有节点的genesis.json文件必须一致,由于执行了命令gaiad collect-gentxs
,所以genesis.json
文件中的genesis_time
被更新为节点的本地时间,因此需要手动修改为统一的时间。
四、查看区块链运行状态
- 查看validator状态
curl http://192.168.1.218:26657/validators
- 查看节点状态
curl http://192.168.1.218:26657/validators
- 显示所有可用接口
curl http://192.168.1.218:26657/
如果想挖矿的速度快一些,可以修改
genesis.json
中关于通胀率的参数,下面的配置是把通胀率改成10000,之后需要重置所有数据并且重新启动各个节点。
"mint": {
"minter": {
"inflation": "100000.0000000000", //需要修改
"annual_provisions": "0.0000000000"
},
"params": {
"mint_denom": "STAKE",
"inflation_rate_change": "1.0000000000",
"inflation_max": "100000.0000000000", //需要修改
"inflation_min": "100000.0000000000", //需要修改
"goal_bonded": "0.9900000000",
"blocks_per_year": "6311520"
}
},
五、重置节点数据
pkill gaiad
rm -fr ~/.gaiad/data
sed -i /last/d ~/.gaiad/config/priv_validator.json