Skip to content

cli独立模块命令 1(hashlock、retrieve、txgroup、multisig)

QM edited this page Dec 21, 2020 · 1 revision

版本:V6.2.0

部分模块使用流程

hashlock 哈希锁定合约

cli hashlock -h

Available Commands:
  lock        Create hashlock lock transaction
  send        Create hashlock send transaction
  unlock      Create hashlock unlock transaction

合约操作流程

Hashlock正常流程,完整过程:

  1. 需要准备两个账户A和B,其中:
    A是returnAddr,用于在锁定时间结束后,可以返回余额;
    B是toAddr,在锁定时间内,能够进行操作转移金额。
    这里
    A:1KVtEMhwaJqVE4nQEhdfxNkMPXFhRtEZd3
    B:1LgiDySWZBGGcR4njtsXbWpJ6AS2R9cdwW
    B地址需要小额BTY作为手续费

  2. 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"
            }
        }
    ]
}
  1. 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已被冻结。

  1. 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合约中。

  1. 取回,从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

retrieve 钱包找回合约

合约功能概述

私钥是花费数字加密货币的唯一手段, 一旦出现丢失的情况,个人财产将无法找回。
目前,主流数字货币本地钱包均实现通过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
  1. 需要准备两个账户A和B,B是A的备份
    我这里
    A:1QBKkYr2fH6JqDGBydmKUCEAJ2ZWXFkKyT
    B:1Jg2UVwRxpx6t1L5pjnqnwmZvteRpWxp5U
    B地址需要小额BTY作为操作手续费。

  2. 为了使最后retrieve能够看到效果,需要由A账户先打点钱进retrieve合约
    cli coins send_exec -a 100 -e retrieve
    A签名并发送

  3. 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"
}
  1. 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"
            }
        }
    ]
}
  1. 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合约中。

  1. 取回,从retrieve合约取钱
    cli coins withdraw -a 100 -e retrieve
    B签名并发送

tx group 构建交易组

即原子交易,将多个交易捆绑,若其中有任意一笔交易失败,则整个交易组所有交易失败。
交易手续费由第一笔的交易的地址统一扣除。

具体操作流程

  • 首先构建多个交易

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 签名私钥
后续再发送交易即可。

multisig 多重签名合约

合约基本功能

创建一个多重签名的账户,并指定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
}