角色权限操作 role
针对角色权限的相关操作
设置超级管理员权限 role setSuperAdmin
警告
只能设置一次
描述
链部署后可以调用该方法将当前账户进行超级管理员权限设置。
操作
./vcl role setSuperAdmin --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event setSuperAdmin: Set SuperAdmin Succeed "
],
"blockNumber": 2,
"GasUsed": 102184,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000001",
"TxHash": ""
}
转移超级管理员权限 role transferSuperAdmin
描述
转移超级管理员权限(调用者需为当前的超级管理员)。
参数
必选参数:
<address>: 转移后的超级管理员地址
操作
./vcl role transferSuperAdmin "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18" --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event setSuperAdmin: Set SuperAdmin Succeed "
],
"blockNumber": 2,
"GasUsed": 102184,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000001",
"TxHash": ""
}
角色添加 role addXXX
描述
为某个账户地址添加指定角色的权限。
参数
必选参数:
<address>: 被赋予角色权限的账户地址
操作
#链管理员
./vcl role addChainAdmin 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
#群组管理员
./vcl role addGroupAdmin 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
#节点管理员
./vcl role addNodeAdmin 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
#合约管理员
./vcl role addContractAdmin 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
#普通合约部署者
./vcl role addContractDeployer 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event addGroupAdminByAddress: 0 Success "
],
"blockNumber": 197,
"GasUsed": 105788,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000001",
"TxHash": ""
}
角色删除 role delXXX
描述
为某个账户地址删除指定角色的权限。
参数
必选参数:
<address>: 被赋予角色权限的账户地址
操作
#链管理员
./vcl role delChainAdmin 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
#群组管理员
./vcl role delGroupAdmin 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
#节点管理员
./vcl role delNodeAdmin 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
#合约管理员
./vcl role delContractAdmin 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
#普通合约部署者
./vcl role delContractDeployer 0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18 --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event delGroupAdminByAddress: 0 Success "
],
"blockNumber": 198,
"GasUsed": 105788,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x1000000000000000000000000000000000000001",
"TxHash": ""
}
获取权限地址列表 role getAddrListOfRole
描述
获取权限地址列表。
参数
必选参数:
<role>: 角色可以且只能为"SUPER_ADMIN", "CHAIN_ADMIN", "GROUP_ADMIN", "NODE_ADMIN", "CONTRACT_ADMIN", "CONTRACT_DEPLOYER"其中之一
操作
#以SUPER_ADMIN为例
./vcl role getAddrListOfRole "SUPER_ADMIN" --keyfile ../conf/keyfile.json
输出结果
# 以SUPER_ADMIN为例
["0x10ad2ec4831a1f89ec870a3224fead87cdb75931"]
权限检查 role hasRole
描述
检查某账户地址是否拥有指定用户权限。
参数
必选参数:
<address>: 待检查账户地址
<role>: 角色可以且只能为"SUPER_ADMIN", "CHAIN_ADMIN", "GROUP_ADMIN", "NODE_ADMIN", "CONTRACT_ADMIN", "CONTRACT_DEPLOYER"其中之一
操作
#以SUPER_ADMIN为例
./vcl role hasRole 0x10ad2ec4831a1f89ec870a3224fead87cdb75931 SUPER_ADMIN --keyfile ../conf/keyfile.json
输出结果
# 以SUPER_ADMIN为例
# 有权限
result: 1
# 无权限
result: 0
权限获取 role getRoles
描述
获取某账户地址用户权限。
参数
必选参数:
<address>: 待检查账户地址
操作
#以SUPER_ADMIN为例
./vcl role getRoles 0x10ad2ec4831a1f89ec870a3224fead87cdb75931 --keyfile ../conf/keyfile.json
输出结果
["SUPER_ADMIN"]