-
Notifications
You must be signed in to change notification settings - Fork 257
GRPC Manage
linj edited this page Nov 23, 2022
·
1 revision
[TOC]
manage 管理执行器,主要功能是动态地给其他执行器配置和调整参数值。如给token执行器增加黑名单,给game执行器设置最大的赌资等等。 所有修改都是通过指定的manager账户地址,发送交易去修改参数值。这样做可以避免系统因为修改参数值而导致硬分叉。
调用接口
rpc CreateTransaction(CreateTxIn) returns (UnsignTx) {}
参数:
message CreateTxIn {
bytes execer = 1;
string actionName = 2;
bytes payload = 3;
}
message ModifyConfig {
string key = 1;
string value = 2;
string op = 3;
string addr = 4;
}
参数说明:
Chain33.CreateTransaction结构按通用要求填写: execer,执行器名称,这里固定为manage actionName,操作名称,这里固定为Modify payload携带的内容格式如下:
参数 | 类型 | 说明 |
---|---|---|
key | string | 目前支持token-finisher,token-blacklist |
value | string | 对应地址,如: 1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs |
op | string | 操作方法,add 添加,delete 删除 |
addr | string | 可为空 |
返回数据:
message UnsignTx {
bytes data = 1;
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | bytes | 交易十六进制编码后的数据 |
调用接口
rpc QueryChain(ChainExecutor) returns (Reply) {}
参数:
message ChainExecutor {
string driver = 1;
string funcName = 2;
bytes stateHash = 3;
bytes param = 4;
bytes extra = 5;
}
message ReqString {
string data = 1;
}
参数说明:
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
driver | bytes | 是 | 执行器名称, 这里固定为 manage |
funcName | string | 是 | 操作名称, 这里固定为 GetConfigItem |
stateHash | bytes | 否 | 所有交易在对应的执行器执行后写入KVDB中重新计算得到的新state的哈希值 |
param | bytes | 是 | types.Encode(&ReqString) |
extra | bytes | 否 | 扩展字段,用于额外的用途 |
data | string | 是 | 具体数据,这里是token-finisher. 指定查询的是 finish apprv列表 |
返回数据:
message ReplyConfig {
string key = 1;
string value = 2;
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
key | string | 配置项的标识符 |
value | string | 配置项的值, 这里是对应地址列表 |
hello world