跳转至

直连模式管理

直连模式下,网关pier支持对应用链的管理,包括注册、更新、审计应用链等功能。

注意:在进行应用链管理之前,请确保直连模式下跨链网关正常启动!!直连模式网关启动教程请参考跨链网关直连模式部署

1. 应用链注册

1.1 命令

对于直连模式下需要加入跨链网络应用链,需要首先由应用链管理员向需要跨链的目的链网关pier注册应用链,命令如下:

pier [--repo <repository>] client register --pier_id <connect Appchain addr> --name <srcAppchain name> --type <appchain type> --validators <path of appchain validators file> --desc <description> --consensusType <appchain consensus type> --version <appchain version>

参数解释:

  • --repo:可选参数,指定pier配置文件所在目录,如果不指定,默认使用$HOME/.pier目录。

  • --pier_id:必选参数,指定要连接的目的网关地址,网关地址可通过pier [--repo <coonect pier's repository>] id获得。

  • --name:必选参数,指定应用链名称。

  • --type:必选参数,指定应用链类型,如hyperchain、fabric等。
  • --validators:必选参数,指定应用链的验证人信息所在的文件路径。
  • --desc:必选参数,对应用链的描述信息。
  • --consensusType:必选参数,指定p应用链的共识类型,如pbft、raft等。
  • --version:必选参数,指定应用链版本信息。

1.2 举例

比如pier1与pier2进行ethereum应用链的注册,命令执行如下:

export idA=$(pier --repo $HOME/.pier1 id)
export idB=$(pier --repo $HOME/.pier2 id)
# pier1在pier2上注册
$ pier --repo $HOME/.pier2 client register --pier_id ${idA} --name eth1 --type ethereum --validators $HOME/.pier1/ethereum/ether.validators --desc "test register direct eth1" --consensusType Pos --version 1.0.0

# 控制台输出
appchain register successfully, appchain is 0xfF8199Fae48C808b45667DA0CcaAEe839B1a10Cb

# pier2在pier1上注册
$ pier --repo $HOME/.pier2 client register --pier_id ${idA} --name eth2 --type ethereum --validators $HOME/.pier2/ethereum/ether.validators --desc "test register direct eth2" --consensusType Pos --version 1.0.0

# 控制台输出
appchain register successfully, appchain is 0x23Fb0E7eF676467563d37D820F1b1Fddb0f9a2E1

可以看到应用链在双方网关注册成功。

2. 获取应用链信息

2.1 命令

获取应用链注册信息,命令如下:

$ pier [--repo <repository>] client get --pier_id <connect Appchain addr> 

该命令参数含义与应用链注册命令的参数一致,不再赘述。

2.2 举例

比如在pier1往pier2成功注册后,在pier1执行如下命令:

$ pier --repo $HOME/.pier1 client get --pier_id ${idB}
# 控制台输出
{"id":"0xfF8199Fae48C808b45667DA0CcaAEe839B1a10Cb","name":"eth1","validators":"0x000f1a7a08ccc48e5d30f80850cf1cf283aa3abd,0xe93b92f1da08f925bdee44e91e7768380ae83307,0xb18c8575e3284e79b92100025a31378feb8100d6,0x856E2B9A5FA82FD1B031D1FF6863864DBAC7995D","consensus_type":"Pos","status":"available","chain_type":"ethereum","desc":"test register direct eth1","version":"1.0.1","public_key":"…………","fsm":null}

说明pier1所绑定的eth1在pier2注册成功。

3. 部署验证规则

.1 命令

在注册完应用链后,还需要在网关部署验证规则,命令如下:

pier [--repo <repository>] client rule --pier_id <connect Appchain addr> --path <rule_file>

参数解释:

  • --repo:可选参数,指定pier配置文件所在目录,如果不指定,默认使用$HOME/.pier目录。

  • --pier_id:必选参数,指定要连接的目的网关地址,网关地址可通过pier [--repo <coonect pier's repository>] id获得。

  • --path:必选参数,指定应用链的验证规则所在文件,一般为应用链插件配置文件下的xxx.wasm等。

3.2 举例

比如pier1与pier2进行ethereum应用链的注册,命令执行如下:

# pier1往pier2部署验证规则
$ pier --repo $HOME/.pier1 client rule --pier_id ${idB} --path $HOME/.pier1/ethereum/validating.wasm
# pier2往pier1部署验证规则
$ pier --repo $HOME/.pier2 client rule --pier_id ${idA} --path $HOME/.pier2/ethereum/validating.wasm

4. 更新应用链

4.1 命令

如果应用链发生了更改,比如验证人信息发生了变化,需要更新其在对面应用链的网关信息。命令如下:

$ pier [--repo <repository>] client update --pier_id <connect Appchain addr> --name <srcAppchain name> --type <appchain type> --validators <path of appchain validators file> --desc <description> --consensusType <appchain consensus type> --version <appchain version>

该命令参数含义与应用链注册命令的参数一致,不再赘述。

.2 举例

比如进行ethereum应用链的共识算法类型发生变化,需要更新应用链,命令执行如下:

$ pier --repo $HOME/.pier2 client update --pier_id ${idA} --name eth2 --type ethereum --validators eth2/ethereum/ether.validators --desc "test register direct eth2" --consensusType Pow --version 1.0.2 

# 控制台输出
appchain update successfully, appchain is <nil>

对面pier收到后进行更新应用链信息。

5. 审计应用链

5.1 命令

注意:1.6.x版本此项非必须项,可不对其设置。

跨链网关对注册应用链信息进行审计,修改事务状态,命令如下:

$ pier [--repo <repository>] client audit --id <connect Appchain addr> ----isApproved <0 or 1> --desc <description>

参数解释:

  • --id:必选参数,指定要连接的目的网关地址,网关地址可通过pier [--repo <coonect pier's repository>] id获得。
  • isApproved:必选参数,是否通过注册。1为通过,0为不通过。
  • --desc:必选参数,对应用链的描述信息。

5.2 举例

命令执行如下:

$ pier --repo $HOME/.pier1 client audit --id ${idB} --isApproved 1 --desc "test register direct eth2" 

# 控制台输出
audit appchain 0x23Fb0E7eF676467563d37D820F1b1Fddb0f9a2E1 successfully

pier1对pier2绑定的应用链注册提案审计通过。

回到页面顶部