iris-关于iris的安装和运行及哨兵节点的使用
-
进入下载页:
https://github.com/irisnet/irishub/releases/ 下载对应版本的可执行文件,解压缩拷贝到/usr/local/bin/目录下 执行iris version
命令,若出现对应的版本号则说明安装成功。 -
初始化iris节点:
iris init --name=NAME
NAME为名字会在$IRISHOME(默认为:/root/.iris)下,创建两个文件夹:/config 和 /data。/config终会包含两个重要文件:genesis.json 和config.toml。genesis文件中定义了区块链网络的初始状态,而config.toml指定了iris软件模块的重要组成部分。
-
下载配置文件
cd $IRISHOME/config/
进入iris的配置文件之中
rm genesis.json
删除初始文件
rm config.toml
删除初始文件
wget https://raw.githubusercontent.com/irisnet/testnets/master/fuxi/fuxi-3001/config/config.toml
下载新的配置文件
wget https://raw.githubusercontent.com/irisnet/testnets/master/fuxi/fuxi-3001/config/genesis.json
下载新的区块链网络文件 -
修改配置文件
在config.toml文件中可以配置以下信息:- 将moniker字段配置称为自定义的名称,这样便于区分不同的节点
- seed字段用语设置种子节点
在fuxi-3001中的官方种子节点为:c16700520a810b270206d59f0f02ea9abd85a4fe@35.165.232.141:26656
- 将external_address 改为本地IP:26656,26656为iris的指定端口
-
启动节点
iris start --home /$HOME/.iris > log &
若直接使用iris start 则前台启动,日志打印在前台查看节点的状态
iriscli status
-
哨兵节点
- 哨兵节点初始化全节点
iris init --name=NAME
将得到以下大概信息:
{ "chain_id": "test-chain-hfuDmL", "node_id": "937efdf8526e3d9e8b5e887fa953ff1645cc096d", "app_message": { "secret": "issue envelope dose rail busy glass treat crop royal resemble city deer hungry govern cable angle cousin during mountain december spare stick unveil great" } }
其中node_id为节点的id
-
作为哨兵节点,需要指定验证节点的node_id,修改哨兵节点的配置
编辑其configprivate_peers_ids="validator_node_id"
validator_node_id可以在验证人节点运行时使用iriscli status命令获得,或者使用iris tendermint show_node_id
-
启动哨兵节点
-
修改验证人节点的配置,作为验证人,只允许访问其哨兵节点,对外的都应由哨兵节点来做,因此
persistent_peers="sentry node id@sentry listen address"
指定哨兵节点的node id和地址
可以将seeds连接种子节点去掉,验证节点只要连接访问哨兵节点就可以
设置pex=false 不与其他节点进行peers交换,这样验证人节点就不会连接除persistent_peers之外的节点。 这里的sentry node id可以在哨兵节点上使用iriscli status命令获得,sentry listen address为哨兵节点的对外ip和端口。修改完成后需要重启验证人节点使修改生效,即kill杀死iris进程,再执行iris启动命令
- 哨兵节点初始化全节点