# 如何注册跨链资产
资产作为链的价值体现,想要链之间能够实现价值互通,最能直接体现的就是链之间的资产进行交易,然而在进行资产跨链交易之前,我们需要将资产进行跨链注册。
# 注册平行链跨链资产
平行链在注册跨链的过程中,默认将资产注册为跨链资产:
- 命令: registercrosschain <address>、<chainId>、<chainName>、<addressPrefix>、<magicNumber>、<maxSignatureCount>、<signatureBFTRatio>、<verifierList>、<asserId>、<symbol>、<assetName>、<initNumber>、 [decimalPlaces]、[minAvailableNodeNum]
参数 | 说明 |
---|---|
<address> | 主网地址,NULS数量不少于1000,用来注册跨链 |
<chainId> | 链ID,唯一标识[10-65535] |
<chainName> | 链名称 |
<addressPrefix> | 地址前缀(1-5位字符,大写) |
<magicNumber> | 魔法参数(8位数字) |
<maxSignatureCount> | 最大签名数量(建议:100) |
<signatureBFTRatio> | 签名拜占庭比例(0-100,建议:66) |
<verifierList> | 链验证人列表(种子出块地址,多个地址用逗号分隔) |
<asserId> | 资产ID(建议:1) |
<symbol> | 资产符号(eg:NULS) |
<assetName> | 资产名称 |
<initNumber> | 资产发行总量 |
[decimalPlaces] | 资产小数位数,默认8 |
[minAvailableNodeNum] | 最小连接数,默认5 |
返回值:
{
"mainNetVerifierSeeds" : "tNULSeBaMsWM1DWppv2H5AUjoxRALv8Rx1JL1V,tNULSeBaMgn16tSzn3Tr6EobmZ9UAfAwD9gPXt,tNULSeBaMjdg2vMBNG3RXeduADiiHbypgBtrfM",
"txHash" : "c9c2e6518afb0359817ccc74eff1a7d0e4f7ceab3fc5f86095a2b748622992bb",
"mainNetCrossConnectSeeds" : "192.168.1.139:18002,192.168.1.137:18002,192.168.1.140:18002"
}
1
2
3
4
5
2
3
4
5
示例
nuls>>> registercrosschain tNULSeBaMqpRQkHCs5ur3ck4LXEZB4qmmkPNo3 4 nerve TNVT 20200422 100 66 TNVTdN9i5aCwKBhaGeUZExLLLB8WtUSWxekcp,TNVTdN9iFcMpYz5eVz41gdETPGNqqbFA8FfSf,TNVTdN9i7xo3PmLj376B17Qntng3DyVio4Bqd 1 TVNT nerve 100000000 8 3
Please enter the password.
Enter your password:********
{
"mainNetVerifierSeeds" : "tNULSeBaMsWM1DWppv2H5AUjoxRALv8Rx1JL1V,tNULSeBaMgn16tSzn3Tr6EobmZ9UAfAwD9gPXt,tNULSeBaMjdg2vMBNG3RXeduADiiHbypgBtrfM",
"txHash" : "c9c2e6518afb0359817ccc74eff1a7d0e4f7ceab3fc5f86095a2b748622992bb",
"mainNetCrossConnectSeeds" : "192.168.1.139:18002,192.168.1.137:18002,192.168.1.140:18002"
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 在主链添加需要跨链的平行链资产
平行链是资产多资产的,已注册跨链的平行链可以在主网上面添加该链的其他资产参与跨链
- 命令: addcrossasset <address><assetChainId> <assetId> <assetName><symbol> <initNumber> [decimalPlaces]
参数 | 说明 |
---|---|
<address> | 主网地址,NULS数量不少于1000,用来注册跨链资产 |
<assetChainId> | 链ID,唯一标识[10-65535] |
<assetId> | 资产ID |
<assetName> | 资产名称 |
<symbol> | 资产符号 |
<initNumber> | 发行总量 |
<deccimalPlaces> | 小数位数 |
返回
143a0f6ec36778c7991544b8acca74dbc4433d0a0d17f188465c01d26786a65c
1
示例
nuls>>> addcrossasset tNULSeBaMqpRQkHCs5ur3ck4LXEZB4qmmkPNo3 4 2 eth ETH 100000000 8
Please enter the password.
Enter your password:********
143a0f6ec36778c7991544b8acca74dbc4433d0a0d17f188465c01d26786a65c
1
2
3
4
2
3
4
# 在主链移除跨链交易的平行链资产
平行链是多资产的,在主网上要停止该资产的跨链交易时,使用移除指令,如果剩下最后一个资产,则该指令执行后,对应的链也将停止工作,平行链被注销
- 命令: disablecrossasset <address><chainId><assetId>
参数 | 说明 |
---|---|
<address> | 注册跨链资产时候使用的地址 |
<chainId> | 注销资产的链id |
<assetId> | 注销资产的资产id |
返回值
eb58da9321543c3a97f6d20721d3a9892a21fa630ccc6061a7b43c2229bb2f64
1
示例
nuls>>> disablecrossasset tNULSeBaMqpRQkHCs5ur3ck4LXEZB4qmmkPNo3 3 1
Please enter the password.
Enter your password:********
eb58da9321543c3a97f6d20721d3a9892a21fa630ccc6061a7b43c2229bb2f64
1
2
3
4
2
3
4
# 查询平行链注册信息
在主网查询某条平行链的注册信息
- 命令:crosschaininfo <chainId>
参数 | 说明 |
---|---|
<chainId> | 注册链的链id |
返回值(见示例)
示例
nuls>>> crosschaininfo 4
{
"chainId" : 4,
"chainName" : "nerve",
"addressType" : "1",
"addressPrefix" : "TNVT",
"magicNumber" : 20200422,
"minAvailableNodeNum" : 3,
"regAddress" : "tNULSeBaMqpRQkHCs5ur3ck4LXEZB4qmmkPNo3",
"regTxHash" : "c9c2e6518afb0359817ccc74eff1a7d0e4f7ceab3fc5f86095a2b748622992bb",
"createTime" : 1587628283,
"verifierList" : [ "TNVTdN9i5aCwKBhaGeUZExLLLB8WtUSWxekcp", "TNVTdN9iFcMpYz5eVz41gdETPGNqqbFA8FfSf", "TNVTdN9i7xo3PmLj376B17Qntng3DyVio4Bqd" ],
"signatureByzantineRatio" : 66,
"maxSignatureCount" : 100,
"selfAssetKeyList" : [ "4-1", "4-2" ],
"totalAssetKeyList" : [ "4-1", "4-2" ],
"mainNetVerifierSeeds" : "tNULSeBaMsWM1DWppv2H5AUjoxRALv8Rx1JL1V,tNULSeBaMgn16tSzn3Tr6EobmZ9UAfAwD9gPXt,tNULSeBaMjdg2vMBNG3RXeduADiiHbypgBtrfM",
"mainNetCrossConnectSeeds" : "192.168.1.139:18002,192.168.1.137:18002,192.168.1.140:18002",
"enable" : true
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
返回参数说明
parameter | required | type | description |
---|---|---|---|
chainId | true | int | 链标识 |
chainName | true | string | 链名称 |
addressType | true | int | 链上创建的账户的地址类型:1生态内2非生态内 |
addressPrefix | true | string | 地址前缀 1-5个 大写字母或数字 |
magicNumber | true | string | 网络魔法参数 |
minAvailableNodeNum | true | int | 最小可用节点数量 |
regAddress | true | string | 注册支付地址 |
regTxHash | true | string | 交易hash |
createTime | true | long | 交易提交时间 ,1970相差的秒数 |
verifierList | true | string | 验证人列表 |
signatureByzantineRatio | true | int | 拜占庭比例 [66-100] |
maxSignatureCount | true | int | 最大签名数 |
selfAssetKeyList | true | string | 资产符号 |
totalAssetKeyList | true | string | 资产名称 |
mainNetVerifierSeeds | true | string | 主网种子验证人地址 |
mainNetCrossConnectSeeds | true | string | 主网种子连接节点地址 |
enable | true | string | 是否使用中 |
# 查询平行链注册资产信息
在主网查询某条平行链资产的注册信息
- 命令:crossassetinfo<chainId> <assetId>
参数 | 说明 |
---|---|
<chainId> | 注册链的id |
<assetId> | 资产id |
返回值(见示例)
示例
nuls>>> crossassetinfo 4 1
{
"chainId" : 4,
"assetId" : 1,
"symbol" : "TVNT",
"assetName" : "nerve",
"depositNuls" : "100000000000",
"destroyNuls" : "20000000000",
"initNumber" : "10000000000000000",
"decimalPlaces" : 8,
"enable" : true,
"createTime" : 1587628283,
"address" : "tNULSeBaMqpRQkHCs5ur3ck4LXEZB4qmmkPNo3",
"txHash" : "c9c2e6518afb0359817ccc74eff1a7d0e4f7ceab3fc5f86095a2b748622992bb"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
返回参数说明
parameter | required | type | description |
---|---|---|---|
chainId | true | int | 链标识 |
assetId | true | int | 资产id |
symbol | true | string | 资产简称 e.g. BTC |
assetName | true | string | 资产名称 |
depositNuls | true | long | 抵押的主网资产数量 |
destroyNuls | true | long | 销毁的主网资产数量 |
initNumber | true | string | 资产初始值 |
decimalPlaces | true | int | 资产可切割位数 |
enable | true | boolean | 是否可用 true可用,false 停用 |
createTime | true | long | 交易产生时间 |
address | true | String | 交易支付地址 |
txHash | true | String | 交易hash |
# 在主链恢复平行链注册
平行链在主网注册并且注销后,需要恢复,则可以通过如下命令进行恢复并更新信息,此命令需要在主网节点运行
- 命令: updatecrosschain <address>、<chainId>、<chainName>、<addressPrefix>、<magicNumber>、<maxSignatureCount>、<signatureBFTRatio>、<verifierList>、<asserId>、<symbol>、<assetName>、<initNumber>、 [decimalPlaces]、[minAvailableNodeNum]
参数 | 说明 |
---|---|
<address> | 主网地址,NULS数量不少于1000,用来注册跨链 |
<chainId> | 链ID,唯一标识[10-65535] |
<chainName> | 链名称 |
<addressPrefix> | 地址前缀(1-5位字符,大写) |
<magicNumber> | 魔法参数(8位数字) |
<maxSignatureCount> | 最大签名数量(建议:100) |
<signatureBFTRatio> | 签名拜占庭比例(0-100,建议:66) |
<verifierList> | 链验证人列表(种子出块地址,多个地址用逗号分隔) |
<asserId> | 资产ID(建议:1) |
<symbol> | 资产符号(eg:NULS) |
<assetName> | 资产名称 |
<initNumber> | 资产发行总量 |
[decimalPlaces] | 资产小数位数,默认8 |
[minAvailableNodeNum] | 最小连接数,默认5 |
返回值
{
"mainNetVerifierSeeds" : "tNULSeBaMsWM1DWppv2H5AUjoxRALv8Rx1JL1V,tNULSeBaMgn16tSzn3Tr6EobmZ9UAfAwD9gPXt,tNULSeBaMjdg2vMBNG3RXeduADiiHbypgBtrfM",
"txHash" : "c9c2e6518afb0359817ccc74eff1a7d0e4f7ceab3fc5f86095a2b748622992bb",
"mainNetCrossConnectSeeds" : "192.168.1.139:18002,192.168.1.137:18002,192.168.1.140:18002"
}
1
2
3
4
5
2
3
4
5
示例
nuls>>> updatecrosschain tNULSeBaMqpRQkHCs5ur3ck4LXEZB4qmmkPNo3 4 nerve TNVT 20200422 100 66 TNVTdN9i5aCwKBhaGeUZExLLLB8WtUSWxekcp,TNVTdN9iFcMpYz5eVz41gdETPGNqqbFA8FfSf,TNVTdN9i7xo3PmLj376B17Qntng3DyVio4Bqd 1 TVNT nerve 100000000 8 3
Please enter the password.
Enter your password:********
{
"mainNetVerifierSeeds" : "tNULSeBaMsWM1DWppv2H5AUjoxRALv8Rx1JL1V,tNULSeBaMgn16tSzn3Tr6EobmZ9UAfAwD9gPXt,tNULSeBaMjdg2vMBNG3RXeduADiiHbypgBtrfM",
"txHash" : "c9c2e6518afb0359817ccc74eff1a7d0e4f7ceab3fc5f86095a2b748622992bb",
"mainNetCrossConnectSeeds" : "192.168.1.139:18002,192.168.1.137:18002,192.168.1.140:18002"
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8