gaia网络模拟

cosmos hub 模拟实践

一、准备网络节点

每个节点都需要安装gaiadgaiacli

  • 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

你可能感兴趣的:(gaia网络模拟)