本文将会展示怎么以比特股指令端运用多重签名功能.
首先, 让运用多重签名的每一方都创立一个一般的地址.

  1. >>> wallet_address_create alice
  2.     BTS...alice-address...
  3. >>> wallet_address_create bob
  4.     BTS...bob-address...
  5. >>> wallet_address_create carol
  6.     BTS...carol-address...

现在让我们运用以上的用户, 从’angel’帐号存款到一个’三取二’的多重签名. 注意到最后的两个参数:
‘2’ 表明需求的签名数,
[...]表明允许签名的地址.

  1. >>> wallet_multisig_deposit 100 BTS alice 2 [BTS...alice-addres..., BTS...bob-address..., BTS...carol-address...]

成功了! 另外运用任何指定帐户, 创立一个二取二的多重签名也是一样的方法.

行文至此, 正好能够说说怎么获取这笔存款的多重签名余额ID, 由于你需求知道这个才干提款.

下面第一个参数是这个多重签名ID的财物类别.

  1. >>> wallet_multisig_get_balance_id BTS 2 [BTS...alice-addres..., BTS...bob-address..., BTS...carol-address...]
  2.     BTS...multisigID...

取款是比较棘手的问题, 由于这会需求你传送部份的买卖. 幸而比特股客户端会主动将最新的买卖作为档案写入到data资料夹中, 因而这个问题相对地简化了.

注意到目前我只能取款到地址, 由于客户端还不支持取款到帐号.

  1. >>> wallet_multisig_withdraw_start 50 BTS BTS...multisigID... BTS...alice-address...

接著你会看到很多的JSON输出, 这便是代表买卖的档案内容. 假如你点进你的钱包文件夹”wallets”, 你会看到一个”trx”文件夹. 在这个文件夹里边你会看到一个"latest.trx"档案, 内容便是刚刚提到的很多的JSON输出.

这个树立买卖的进程就会把你的钱包能够加入的签名加入到这个买卖档案中.

接著你能够把这个买卖档案送给另一位潜在的签署人. 他能够用以下的方法加入他的签名:

  1. >>> wallet_builder_file_add_signature true "path/to/builder_file/latest.trx"

(第一个参数是表明是否要测验播送这笔买卖)
现在你会在”wallets/trx”文件夹底下看到一个 "latest.trx"档案, 内含新加入的签名. 重复这个进程直到其中具备了满足的签名来成功播送买卖.

假如你是透过RPC wrapper来进行这个进程, 你能够运用从"wallet_multisig_withdraw_start"传回的买卖内容并传给"wallet_builder_add_signature" 就能够不必处理买卖档案. 这个做法在指令端并不方便, 由于你必须要避开一堆JSON字串.

阅读英文原文:https://github.com/BitShares/bitshares/blob/master/docs/multisig.md

原作者: toast

译者:cn-members

BTS帐号:cn-members

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注