合约命名系统 cns
针对合约命名系统服务的相关操作。
cns解析 cns resolve
描述
通过合约名称以及版本号(默认为"latest")解析出对应的账户地址。一个合约名可以对应多个(在注册的)合约地址,通过版本号解析出对应的合约地址。
参数
必选参数:
<name>: 合约在cns中注册的合约名称
可选参数:
--version string: 合约在cns中注册的版本号,默认为"latest"
操作
# 查询最新版本
./vcl cns resolve "test" --keyfile ../conf/keyfile.json
# 查询指定版本
./vcl cns resolve "test" --version "1.0.0.0" --keyfile ../conf/keyfile.json
输出结果
result: <address>
cns注册 cns register
描述
将合约注册到cns平台中,注册后的合约不仅可以通过合约账户地址进行调用执行,还可以通过其对应的合约名称进行执行。
参数
必选参数:
<name>: 在cns中注册的合约名称
<version>: 在cns中注册的版本号,(补充)。格式:"X.X.X.X"
<address>: 进行注册的合约的账户地址
操作
./vcl cns register "test" "1.0.0.0" "0x2ee8d0545ebd20f9a992ff54cb0f21a153539206" --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event [CNS] Notify: 0 [CNS] cns register succeed "
],
"blockNumber": 190,
"GasUsed": 105856,
"From": "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"To": "0x0000000000000000000000000000000000000011",
"TxHash": ""
}
cns重定向 cns redirect
描述
指定cns名称对应的当前合约版本。
参数
必选参数:
<name>: 在cns中注册的合约名称
<version>: 在cns中注册的版本号。格式:"X.X.X.X"
操作
./vcl cns redirect "test" "1.0.0.1" --keyfile ../conf/keyfile.json
输出结果
{
"status": "Operation Succeeded",
"logs": [
"Event [CNS] Notify: 0 [CNS] cns redirect succeed "
],
"blockNumber": 91,
"GasUsed": 102932,
"From": "0xd7ca86207614e5c7f10f910bd4e8b4bf7c07b12d",
"To": "0x0000000000000000000000000000000000000011",
"TxHash": "0xd3253b7a6e3814f71fcd26ea47fc0678f0d7e39aff2212469cab49626f76ef4d"
}
cns信息查询 cns query
描述
根据查询键值以及辅助选项进行cns注册信息的筛选查询,返回所有匹配成功的数据对象。
参数
可选参数:
--all: 查询键,显示所有cns中所有注册的对象
--contract <name or address>: 查询键,通过合约账户地址或者合约名称进行查询
--addr <address>: 查询键,通过用户账户地址进行查询,查询该用户注册在cns的合约
--pageNum: 展示页面页码
--pageSize: 展示页面大小(当pageSize为0时,则默认查询所有数据)
操作
# 1 查询所有已注册的合约
./vcl cns query --all
# 2 查询指定范围内已注册的合约
./vcl cns query --pageNum "0" --pageSize "10"
# 3 通过合约名称进行查询
./vcl cns query --contract "test"
# 4 通过合约地址进行查询
./vcl cns query --contract "0x12a0de8326d814e1569d6a0e111be02b19741694"
# 5 通过注册者进行查询
./vcl cns query --addr "0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18"
输出结果
{
"code":0,
"msg":"success",
"data":[{
"name":"eeeee",
"version":"0.0.0.1",
"address":"0x12a0de8326d814e1569d6a0e111be02b19741694",
"origin":"0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"create_time":1600758772
},
{
"name":"tofu",
"version":"0.0.0.1",
"address":"0x9185686d2a1fc1bbadaba646d7323f597fae0073",
"origin":"0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"create_time":1600761759
},
{
"name":"test",
"version":"0.0.0.2",
"address":"0x12a0de8326d814e1569d6a0e111be02b19741694",
"origin":"0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"create_time":1600918255
},
{
"name":"test",
"version":"0.0.0.3",
"address":"0xdb907806b906cfaa9049e5774e03263c6ff203e8",
"origin":"0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"create_time":1601350402
},
{
"name":"damn",
"version":"0.0.0.1",
"address":"0xe3471eace6b0eca6150d3a41051d8c7212c35da7",
"origin":"0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"create_time":1601364209
},
{
"name":"ljj",
"version":"1.0.0.0",
"address":"0x388d05bad3aab0fdd4a5256d4732c2129037cf19",
"origin":"0x8d4d2ed9ca6c6279bab46be1624cf7adbab89e18",
"create_time":1602234874
}]
}
cns状态查询 cns state
描述
通过查询键查询一个合约在cns平台中的注册状态,注册状态分为已注册(true)和未注册(false)。
参数
必选参数:
<contract>: 查询键,根据合约账户地址或合约账户名称进行查询
操作
# 查询合约地址是否注册
./vcl cns state "0x2ee8d0545ebd20f9a992ff54cb0f21a153539206" --keyfile ../conf/keyfile.json
# 查询合约名称是否被注册
./vcl cns state "test" --keyfile ../conf/keyfile.json
输出结果
# 已注册
result: the contract is registered in CNS
# 未注册
result: the contract is not registered in CNS