-
Notifications
You must be signed in to change notification settings - Fork 109
cli独立模块命令 1(hashlock、retrieve、txgroup、multisig)
版本:V6.2.0
cli hashlock -h
Available Commands:
lock Create hashlock lock transaction
send Create hashlock send transaction
unlock Create hashlock unlock transaction
Hashlock正常流程,完整过程:
-
需要准备两个账户A和B,其中:
A是returnAddr,用于在锁定时间结束后,可以返回余额;
B是toAddr,在锁定时间内,能够进行操作转移金额。
这里
A:1KVtEMhwaJqVE4nQEhdfxNkMPXFhRtEZd3
B:1LgiDySWZBGGcR4njtsXbWpJ6AS2R9cdwW
B地址需要小额BTY作为手续费 -
hashlock要求在lock动作时,合约里存在余额,这些余额在lock后会被frozen
cli coins send_exec -a 500 -e hashlock
由A签名并发送
查询A地址各合约余额
cli account balance -a 1KVtEMhwaJqVE4nQEhdfxNkMPXFhRtEZd3
{
"addr": "1KVtEMhwaJqVE4nQEhdfxNkMPXFhRtEZd3",
"execAccount": [
{
"execer": "coins",
"account": {
"balance": "499.9990",
"frozen": "0.0000"
}
},
{
"execer": "hashlock",
"account": {
"balance": "500.0000",
"frozen": "0.0000"
}
}
]
}
- lock操作
cli hashlock lock -a 500 -d 360 -r 1KVtEMhwaJqVE4nQEhdfxNkMPXFhRtEZd3 -t 1LgiDySWZBGGcR4njtsXbWpJ6AS2R9cdwW -s mysecret
-d为lock周期,只有在此时间内,才能成功进行send,超出这个周期只能进行unlock操作;
-s为唯一标识,目前的标识在使用过一次以后无法再次使用。
returnAddr需与签名地址一致。
由A签名并发送
查询A地址合约余额:
cli account balance -a 1KVtEMhwaJqVE4nQEhdfxNkMPXFhRtEZd3
{
"addr": "1KVtEMhwaJqVE4nQEhdfxNkMPXFhRtEZd3",
"execAccount": [
{
"execer": "coins",
"account": {
"balance": "499.9980",
"frozen": "0.0000"
}
},
{
"execer": "hashlock",
"account": {
"balance": "0.0000",
"frozen": "500.0000"
}
}
]
}
hashlock的500已被冻结。
- send操作
cli hashlock send -s mysecret
-s的标识需与lock时的一致。
由B签名并发送。
查询B地址各合约余额:
cli account balance -a 1LgiDySWZBGGcR4njtsXbWpJ6AS2R9cdwW
{
"addr": "1LgiDySWZBGGcR4njtsXbWpJ6AS2R9cdwW",
"execAccount": [
{
"execer": "coins",
"account": {
"balance": "0.9990",
"frozen": "0.0000"
}
},
{
"execer": "hashlock",
"account": {
"balance": "500.0000",
"frozen": "0.0000"
}
}
]
}
hashlock的500已转移至B地址的hashlock合约中。
- 取回,从hashlock合约取钱
cli coins withdraw -a 500 -e hashlock
由B签名并发送。
查询B地址余额:
cli account balance -a 1LgiDySWZBGGcR4njtsXbWpJ6AS2R9cdwW
{
"addr": "1LgiDySWZBGGcR4njtsXbWpJ6AS2R9cdwW",
"execAccount": [
{
"execer": "coins",
"account": {
"balance": "500.9980",
"frozen": "0.0000"
}
}
]
}
500已被取回B地址coins中。
附:
unlock操作,在lock动作后,超过设定时间,可以进行unlock操作。
unlock后,余额在A账户,解除冻结状态,可以由A取回。
cli hashlock unlock -s mysecret
私钥是花费数字加密货币的唯一手段, 一旦出现丢失的情况,个人财产将无法找回。
目前,主流数字货币本地钱包均实现通过SEED找回私钥的功能,但应用场景局限,仍然存在很大改进空间。
钱包/私钥找回功能为Chain33项目提供一种技术支持,通过实现多权限等级私钥,在保证安全的前提下,为数字加密货币的花费、找回增加灵活性。
钱包/私钥找回功能的实现并不是真正通过某种方式找回丢失的私钥,而是为默认私钥备份一个或一组私钥,当默认私钥丢失时,可以通过备份私钥花费之前备份的余额。
要使用备份私钥找回余额,必须之前用默认私钥做过备份,在备份时,账户余额打入相应的retrieve合约地址。 当用户需要用备份私钥花费余额时,先进行prepare操作,这一步操作是为了防止备份私钥被盗的情形。经过此操作,账户余额与合约余额均不改变,只是通知网络,有一笔用私钥签名的操作发生,在一定的周期延时后,此备份私钥可以通过perform操作,将合约地址余额打入到自己合约地址,并后续进行取钱操作。 如果在这个阶段中,默认私钥执行了cancel操作,说明此次取回无效,即使到达限定周期,备份私钥也无法取钱。
整个功能的状态机如下图所示,在backup和prepare状态,余额存在默认私钥对应的合约账户中,只有在成功执行perform操作时,余额才转移到备份私钥对应的合约账户,并可以进行下一步的取回到账户的操作。
默认私钥和备份私钥不是一对一的关系,一个默认私钥可以设置多个备份私钥,这些私钥在进行prepare操作以后,能够执行perform的延迟周期不同。
另外,多个默认私钥可以使用同一个备份私钥地址,这是通过内部关联实现的,当一组备份关系建立时,为这两个私钥建立关联,一旦最终进入performed或canceled状态,关联取消。
cli retrieve -h
Available Commands:
backup Backup the wallet
cancel Cancel the retrieve
perform Perform the retrieve
prepare Prepare the wallet
query Backup the wallet
-
需要准备两个账户A和B,B是A的备份
我这里
A:1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT
B:1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U
B地址需要小额BTY作为操作手续费。 -
为了使最后retrieve能够看到效果,需要由A账户先打点钱进retrieve合约
cli coins send_exec -a 100 -e retrieve
由A签名并发送 -
backup操作
cli retrieve backup -b 1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U -t 1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT -d 61
由A签名并发送
-b为备份地址,-t为原始地址,-d为指定的prepare以后多久能够进行perform操作,最少是60s。所以为了保证perform能够成功,需要在prepare以后等待一下再perform。
查询retrieve状态:
cli retrieve query -b 1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U -t 1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT
{
"delayPeriod": 61,
"status": "backup"
}
- prepare操作
cli retrieve prepare -b 1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U -t 1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT
由B签名并发送
查询retrieve状态:
cli retrieve query -b 1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U -t 1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT
{
"delayPeriod": 61,
"status": "prepared"
}
查询A地址retrieve中余额:
cli account balance -a 1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT
{
"addr": "1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT",
"execAccount": [
{
"execer": "coins",
"account": {
"balance": "899.9980",
"frozen": "0.0000"
}
},
{
"execer": "retrieve",
"account": {
"balance": "100.0000",
"frozen": "0.0000"
}
}
]
}
- perform操作
cli retrieve perform -b 1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U -t 1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT
由B签名并发送
查询retrieve状态:
cli retrieve query -b 1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U -t 1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT
{
"delayPeriod": 61,
"status": "performed"
}
查询B地址retrieve中余额:
cli account balance -a 1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U
{
"addr": "1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U",
"execAccount": [
{
"execer": "coins",
"account": {
"balance": "999.9980",
"frozen": "0.0000"
}
},
{
"execer": "retrieve",
"account": {
"balance": "100.0000",
"frozen": "0.0000"
}
}
]
}
A地址retrieve合约中的的部分已经取回到B地址的retrieve合约中。
- 取回,从retrieve合约取钱
cli coins withdraw -a 100 -e retrieve
由B签名并发送
即原子交易,将多个交易捆绑,若其中有任意一笔交易失败,则整个交易组所有交易失败。
交易手续费由第一笔的交易的地址统一扣除。
- 首先构建多个交易
cli coins transfer -t 地址A
返回字符串A1
cli coins transfer -t 地址B
返回字符串A2
- 将两个交易组成交易组
cli coins txgroup -t "字符串A1 字符串A2"
返回字符串A3
- 签名,需根据index指定签名
cli wallet sign -d 字符串A3 -i 1 -a 签名地址
返回字符串A4
cli wallet sign -d 字符串A4 -i 2 -a 签名地址
返回字符串A5
※ 若-i指定为0,则对该交易组中所有交易签名
- 发送交易
cli wallet send -d 字符串A5
- Nobalance交易
wallet中提供nobalance交易,即构造了一笔没有实际价值的交易,仅作为交易组首笔交易,为后续交易提供手续费。
cli wallet nolanace -h
Flags:
-d, --data string raw transaction data
-e, --expire string transaction expire time (default "120s")
-h, --help help for nobalance
-k, --key string private key of pay fee account (optional)
-a, --payaddr string account address of pay fee (optional)
目前仅支持对单笔交易构造nobalance交易。
即对返回的A1字符串构造并签名nobalance交易:
cli wallet nobalance -d 字符串A1 -k 签名私钥
返回字符串A6
再对A6进行签名
cli wallet sign -d 字符串A6 -i 2 -k 签名私钥
后续再发送交易即可。
创建一个多重签名的账户,并指定owner以及其权重;
账户属性交易包括:
- owner的add/del/modify/replace
- 资产每日限额的修改
- 请求权重的修改
账户属性的修改都是一个交易,需要满足权重的要求才能被执行。
账户交易的确认和撤销:
当交易提交者的权重不能满足权重要求时,需要其余的owner来一起确认。
owner可以撤销自己对某笔交易的确认,但此交易必须是没有被执行。已执行的不应许撤销。
多重签名账户的转入和转出:
转入时,to地址必须是多重签名地址,from地址必须是非多重签名地址;
转出时,from地址必须是多重签名地址,to地址必须是非多重签名地址; 转出交易需要校验权重。
- 准备阶段
准备5个地址
"18jUpfSuYCk2iQu8ZqB3d6hNWNWA4ty3Xs" xs0
"1KoiQmaFg3DoZr84JehxrEWiR7SorSgbUx" xs1
"1KbM8ewfmNzsp1j3GHKz5tGn28ouaAGZAG" xs2
"17mFjHjMHdtTU31QhFsLGcjNWxvGaVZcPH" xs3
"1JeVN3q938vx8Pqcg7Kodmih8sWT5eQHHs" xs4
分别打入1000BTY后,转入500BTY进入多重签名合约。
cli coins transfer -a 1000 -t 地址
cli coins send_exec -a 500 -e multisig
- cli命令概览
cli multisig -h
Available Commands:
account multisig account
owner multisig owner
tx multisig tx
cli命令分为三大块,分别为账户、拥有者、交易。
cli multisig account -h
Available Commands:
address get multisig account address
assets get assets of multisig account
count get multisig account count
create Create a multisig account transaction
creator get all multisig accounts created by the address
dailylimit Create a modify assets dailylimit transaction
info get multisig account info
owner get multisig accounts by the owner
unspent get assets unspent today amount
weight Create a modify required weight transaction
cli multisig owner -h
Available Commands:
add Create a add owner transaction
del Create a del owner transaction
modify Create a modify owner weight transaction
replace Create a replace owner transaction
cli multisig tx -h
Available Commands:
confirm Create a confirm transaction
confirmed_weight get the weight of the transaction confirmed.
count get multisig tx count
info get multisig account tx info
transfer_in Create a transfer to multisig account transaction
transfer_out Create a transfer from multisig account transaction
txids get multisig txids
- 创建多重签名地址
cli multisig account create -h
Flags:
-d, --daily_limit float daily_limit of assets
-e, --execer string assets execer name
-h, --help help for create
-a, --owners_addr string address of owners,separated by '-', addr0-addr1-addr2...
-w, --owners_weight string weight of owners,separated by '-', w0-w1-w2..., uint64 type
-r, --required_weight uint required weight of account execute tx
-s, --symbol string assets symbol
由xs0创建一个多重签名地址,参与者为xs1和xs2:
cli multisig account create -d 5 -e coins -a 1KoiQmaFg3DoZr84JehxrEWiR7SorSgbUx-1KbM8ewfmNzsp1j3GHKz5tGn28ouaAGZAG -w 20-10 -r 15 -s BTY
由xs0地址签名并发送
-d为每日交易限额,低于该限额的转账无需达到权重签名;
-e指定了具体合约,目前支持coins、token、paracross合约;
-a为该多重签名地址设置的拥有者地址,地址间以-分隔;
-w为该多重签名地址各拥有者的权重,为正整数,以-分隔;
-r为该多重签名地址设置的交易所需的权重值,为正整数;
-s为该多重签名支持的代币名。
- 查询指定地址创建的所有多重签名账户
cli multisig account creator -a "18jUpfSuYCk2iQu8ZqB3d6hNWNWA4ty3Xs"
{
"address": [
"3Ko3NXqnc7HbKVzX7CmHh1hxaT2HyyGb6k",
"3N6xUeeo2CghiYhGZNeVfGs4ZVU7Q23WQj",
"35bZddFf69H8h4Ww7BnZWsPtWETu5MHyBQ",
"3AAmTZighdcpputVjXTeTL7co27vfVyBLy",
"3N1AzFYq4Q3toT2BAYyizpb3FuXr2xyjVH",
"33YP9MzzMzasTe256zfKuWd7doDEX9k25C",
"3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"3Mp38WrtHG5hPskxBeUFzuuG9x7uVWTfrH"
]
}
该地址创建的所有多重签名地址按创建先后列表;
多重签名地址的规则与普通地址不同,为3开头的地址。
-
对指定多重签名地址增加拥有者
为多重签名地址3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7增加拥有者xs3,权重为6;
cli multisig owner add -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -w 6 -o 17mFjHjMHdtTU31QhFsLGcjNWxvGaVZcPH
用xs1签名并发送,因xs1地址权重为20超过需要的15,因此不需要其他人继续签名即可成功。 -
对指定多重签名地址删除拥有者
cli multisig owner del -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -o 17mFjHjMHdtTU31QhFsLGcjNWxvGaVZcPH
用xs1签名并发送。 -
修改指定多重签名地址指定拥有者的权重
cli multisig owner modify -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -o 17mFjHjMHdtTU31QhFsLGcjNWxvGaVZcPH -w 7
用xs1签名并发送。 -
修改指定多重签名地址的指定拥有者
cli multisig owner replace -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -o 17mFjHjMHdtTU31QhFsLGcjNWxvGaVZcPH -n 1JeVN3q938vx8Pqcg7Kodmih8sWT5eQHHs
用xs1签名并发送。
-n后为修改后的地址。
- 查询指定多重签名地址的相关信息
cli multisig account info -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7
{
"createAddr": "18jUpfSuYCk2iQu8ZqB3d6hNWNWA4ty3Xs",
"multiSigAddr": "3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"owners": [
{
"ownerAddr": "1KoiQmaFg3DoZr84JehxrEWiR7SorSgbUx",
"weight": 20
},
{
"ownerAddr": "1KbM8ewfmNzsp1j3GHKz5tGn28ouaAGZAG",
"weight": 10
},
{
"ownerAddr": "17mFjHjMHdtTU31QhFsLGcjNWxvGaVZcPH",
"weight": 6
}
],
"dailyLimits": [
{
"symbol": "BTY",
"execer": "coins",
"dailyLimit": "5.0000",
"spent": "0.0000",
"lastday": "2019-07-24 10:49:59"
}
],
"txCount": 1,
"requiredWeight": 15
}
- 根据索引查询全合约下的多重签名地址
cli multisig account address -e 9 -s 8
{
"address": [
"3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"3Mp38WrtHG5hPskxBeUFzuuG9x7uVWTfrH"
]
}
- 使用多重签名地址转账
1.向多重签名地址转入代币
先向多重签名地址3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7中转入BTY,需要从multisig合约中有BTY的地址转出,指定xs4转出:
cli multisig tx transfer_in -a 100 -e coins -s BTY -t 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -n test
由xs4签名并发送。
查询3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7地址余额:
cli account balance -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7
{
"addr": "3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"execAccount": [
{
"execer": "multisig",
"account": {
"balance": "0.0000",
"frozen": "100.0000"
}
}
]
}
可以看到该地址的多重签名合约中有了刚转入的100BTY,并被冻结。
※多重签名地址没有私钥,向该地址的其他合约地址转入的代币无法被取出。
2.低于每日限额的低权重转出代币
使用权重为10的xs2地址转出3个BTY, 转入地址xs4:
cli multisig tx transfer_out -a 3 -e coins -s BTY -f 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -t 1JeVN3q938vx8Pqcg7Kodmih8sWT5eQHHs
因其低于每日限额,无需达到权重即可出币;
每日限额为24小时累计。
查询指定账户上指定资产的每日余额:
cli multisig account unspent -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -e coins -s BTY
[
{
"symbol": "BTY",
"execer": "coins",
"unspent": "2.0000"
}
]
初始设定为5,消耗3后,剩余为2。
3.超过每日限额的低权重转出代币
使用权重为10的xs2地址转出10个BTY,转入地址xs4:
cli multisig tx transfer_out -a 10 -e coins -s BTY -f 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -t 1JeVN3q938vx8Pqcg7Kodmih8sWT5eQHHs
获取该多重签名地址下的所有交易计数:
cli multisig tx count -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7
{
"data": 3
}
通过交易计数查询等待签名的交易索引:
cli multisig tx txids -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -s 0 -e 2 -x f
{
"multiSigAddr": "3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"txids": [
2
]
}
-x为是否已成功执行的选项,默认不填为true;
-p为是否等待的选项,默认不填为true;
两者可根据需要选填。
- 通过索引查询指定交易的状态:
cli multisig tx info -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -i 2
{
"txid": 2,
"txHash": "0x00ad8c8548c231b6d03c353cff3081f9684601fb6769a5e3dc5dec9aff8a9047",
"txType": 3,
"multiSigAddr": "3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"confirmedOwner": [
{
"ownerAddr": "1KbM8ewfmNzsp1j3GHKz5tGn28ouaAGZAG",
"weight": 10
}
]
}
- 使用xs3的6权重为该交易确认/撤销:
cli send multisig tx confirm -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -c t -i 2
由xs3签名并发送。
-c后为确认交易或撤销交易,默认为t为确认交易;设置为f即为撤销交易,需已确认且交易未完成。
- 再次查询该交易的状态:
cli multisig tx info -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -i 2
{
"txid": 2,
"txHash": "0x00ad8c8548c231b6d03c353cff3081f9684601fb6769a5e3dc5dec9aff8a9047",
"executed": true,
"txType": 3,
"multiSigAddr": "3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"confirmedOwner": [
{
"ownerAddr": "1KbM8ewfmNzsp1j3GHKz5tGn28ouaAGZAG",
"weight": 10
},
{
"ownerAddr": "17mFjHjMHdtTU31QhFsLGcjNWxvGaVZcPH",
"weight": 6
}
]
}
交易已成功执行。
- 修改指定多重签名地址的每日限额:
cli multisig account dailylimit -d 10 -e coins -s BTY -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7
由xs1地址签名并发送。
- 修改指定多重签名地址的额定需要权重:
cli multisig account weight -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -w 4
由xs1签名并发送。
-w为新设置的需要的权重。
其余相关查询:
- 查询指定多重签名地址交易汇总:
cli multisig account assets -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -e coins -s BTY
[
{
"execer": "coins",
"symbol": "BTY",
"balance": "0.0000",
"frozen": "87.0000",
"receiver": "100.0000",
"addr": "3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7"
}
]
- 查询全网全部多重签名地址总量:
cli multisig account count
{
"data": 10
}
- 通过索引查询多重签名地址:
cli multisig account address -s 0 -e 9
{
"address": [
"3NVH8VX89S6m9nfkTrYK77EJxcVdjXyfbU",
"3Ko3NXqnc7HbKVzX7CmHh1hxaT2HyyGb6k",
"3N6xUeeo2CghiYhGZNeVfGs4ZVU7Q23WQj",
"35bZddFf69H8h4Ww7BnZWsPtWETu5MHyBQ",
"3AAmTZighdcpputVjXTeTL7co27vfVyBLy",
"3DiR3zRtTRjJqxHdsGEob7zUor9qvSZaES",
"3N1AzFYq4Q3toT2BAYyizpb3FuXr2xyjVH",
"33YP9MzzMzasTe256zfKuWd7doDEX9k25C",
"3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"3Mp38WrtHG5hPskxBeUFzuuG9x7uVWTfrH"
]
}
- 通过owner查询多重签名地址
cli multisig account owner -a "1KoiQmaFg3DoZr84JehxrEWiR7SorSgbUx"
{
"items": [
{
"multiSigAddr": "3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7",
"ownerAddr": "1KoiQmaFg3DoZr84JehxrEWiR7SorSgbUx",
"weight": 20
},
{
"multiSigAddr": "3Mp38WrtHG5hPskxBeUFzuuG9x7uVWTfrH",
"ownerAddr": "1KoiQmaFg3DoZr84JehxrEWiR7SorSgbUx",
"weight": 20
}
]
}
-a可选,若不填则显示本地钱包中所有owner。
- 通过索引查询指定交易已确认的权重值:
cli multisig tx confirmed_weight -a 3BJqXn4v741wDJY6Fzb4YbLSftXwgDzFE7 -i 2
{
"data": 16
}