multisig

Description


多重签名使用流程:

  1. 每一个参与者通过 getpublickey 获得某个地址的公钥,该公钥对应的私钥用于签名随后创建的多重签名交易,并把该公钥告知其他所有参与者;
  2. 每一个参与者各自通过 getnewmultisig 使用自己的公钥创建签名约束条件相同(即相同的m,n以及公钥列表)的多重签名,得到相同的以3开头的多重签名地址:P2SH(Pay-to-Script-Hash);
  3. 某个参与者通过 createmultisigtx 使用多重签名地址发起一笔多重签名交易,该参与者的签名已包含在该命令输出交易的中;可以使用 decoderawtx 命令查看该交易详情;
  4. m - 1 个参与者依次通过 signmultisigtx 对多重签名交易进行签名,每一个参与者通过链下的方式从前一个签名参与者获得已部分签名的交易;
  5. 可以在 signmultisigtx 命令中使用 --broadcast 选项自动广播拥有足够多签名的多重签名交易,或通过 sendrawtx 广播拥有足够多签名的多重签名交易,推荐使用前者。

API Methods


  • getnewmultisig

    getnewmultisig

    • Parameters (optional)
    1. -d or [--description] multisig record description.
    2. -k or [--publickey] cosigner public key used for multisig
    3. -m or [--signaturenum] Account multisig signature number.
    4. -n or [--publickeynum] Account multisig public key number.
    5. -s or [--selfpublickey] the public key belongs to this account.
    • Parameters (positional)
    1. ACCOUNTNAME Account name.
    2. ACCOUNTAUTH Account password/authorization.
      params:[
      "ACCOUNTNAME",
      "ACCOUNTAUTH"
      ]
    • Returns
      Object -

    • Example

      // Request
      curl -X POST --data '{
      "id":7,
      "jsonrpc":"2.0",
      "method":"getnewmultisig",
      "params":[
      "test",
      "123456",
      {
      "publickey": [
      "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02",
      "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e"
      ],
      "selfpublickey": "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9",
      "signaturenum": 2,
      "publickeynum": 3
      }
      ]
      }' http://127.0.0.1:8820/rpc/v2

      // Response
      {
      "id" : 7,
      "jsonrpc" : "2.0",
      "result" :
      {
      "address" : "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR",
      "description" : "",
      "index" : 1,
      "m" : 2,
      "multisig-script" : "2 [ 02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9 ] [ 03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e ] [ 03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02 ] 3 checkmultisig",
      "n" : 3,
      "public-keys" :
      [
      "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9",
      "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e",
      "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02"
      ],
      "self-publickey" : "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9"
      }
      }

  • listmultisig

    listmultisig

    • Parameters (positional)
    1. ACCOUNTNAME Account name.
    2. ACCOUNTAUTH Account password/authorization.
      params:[
      "ACCOUNTNAME",
      "ACCOUNTAUTH"
      ]
    • Returns
      Object -
      multisig - multiple signature

    • Example

      // Request
      curl -X POST --data '{
      "jsonrpc":"2.0",
      "method":"listmultisig",
      "id":48,
      "params":["test", "123456"]}' http://127.0.0.1:8820/rpc/v2

      // Response
      {
      "id" : 48,
      "jsonrpc" : "2.0",
      "result" :
      {
      "multisig" :
      [
      {
      "address" : "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR",
      "description" : "",
      "index" : 1,
      "m" : 2,
      "multisig-script" : "2 [ 02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9 ] [ 03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e ] [ 03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02 ] 3 checkmultisig",
      "n" : 3,
      "public-keys" :
      [
      "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9",
      "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e",
      "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02"
      ],
      "self-publickey" : "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9"
      }
      ]
      }
      }

  • deletemultisig

    deletemultisig

    • Parameters (positional)
    1. ACCOUNTNAME Account name.
    2. ACCOUNTAUTH Account password/authorization.
    3. ADDRESS The multisig script corresponding address.
      params:[
      "ACCOUNTNAME",
      "ACCOUNTAUTH",
      "ADDRESS"
      ]
    • Returns
      Object -

    • Example

      // Request
      curl -X POST --data '{
      "jsonrpc":"2.0",
      "method":"deletemultisig",
      "id":46,
      "params":[
      "test",
      "123456",
      "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR"
      ]
      }' http://127.0.0.1:8820/rpc/v2

      // Response
      {
      "id" : 46,
      "jsonrpc" : "2.0",
      "result" :
      {
      "address" : "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR",
      "description" : "",
      "index" : 1,
      "m" : 2,
      "multisig-script" : "2 [ 02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9 ] [ 03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e ] [ 03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02 ] 3 checkmultisig",
      "n" : 3,
      "public-keys" :
      [
      "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9",
      "03d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e",
      "03f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e02"
      ],
      "self-publickey" : "02729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b9"
      }
      }

  • createmultisigtx

    createmultisigtx

    • Parameters (optional)
    1. -f or [--fee] The fee of tx. default_value 0.0001 etp
    2. -s or [--symbol] asset name, not specify this option for etp tx
    3. -t or [--type] Transaction type, defaults to 0. 0 – transfer etp, 3 – transfer asset
    • Parameters (positional)
    1. ACCOUNTNAME Account name.
    2. ACCOUNTAUTH Account password/authorization.
    3. FROMADDRESS Send from this address
    4. TOADDRESS Send to this address
    5. AMOUNT How many you will spend
      params:[
      "ACCOUNTNAME",
      "ACCOUNTAUTH",
      "FROMADDRESS",
      "TOADDRESS",
      "AMOUNT"
      ]
    • Returns
      Object - The Base16 transaction.

    • Example

      // Request
      curl -X POST --data '{
      "jsonrpc":"2.0",
      "method":"createmultisigtx",
      "id":45,
      "params":[
      "test",
      "123456",
      "39hh1NY9xyTKzawD8zFKXgXa7XBwqck6BR",
      "MHaKHUFwAdcszvQarCmn1Rkq2uRoPQjZwm",
      3344
      ]
      }' http://127.0.0.1:8820/rpc/v2

      // Response
      {
      "id" : 45,
      "jsonrpc" : "2.0",
      "result" :
      {
      "02000000016453713104d144387553bcb0fa457f40d2dc5fb916bd9e2256835a4b6de48d4c00000000b500483045022100cbfdda943648344dc03fd92a905072082af93dfd4f166e3d1bb258e3437069790220321ee22c6a2543392909e21cd347d009a6d32173c23700424b45b4592d4075e3014c69522102729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b92103d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e2103f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e0253aeffffffff02100d0000000000001976a9146a20e940e8d7be0a49c598e91fa79c8b36e5353588ac0100000000000000d0fb01000000000017a91457e1a19e5ee4c0065f8fd76b0351fa145e44435a87010000000000000000000000"
      }
      }
    • Example 2, send asset

      mvs-cli createmultisigtx -s ALICE20180518T111709.ASSET -t 3 test 123456 34EHRzpwKmFno8zPi3YvXBgqwzZGbYhS3a MKow3n2psKMwLuzufxoJzPycTyEiUcFJSQ 333

      // Request

      curl -X POST --data '{
      "jsonrpc":"2.0",
      "method":"createmultisigtx",
      "id":45,
      "params":[
      "test",
      "123456",
      "34EHRzpwKmFno8zPi3YvXBgqwzZGbYhS3a",
      "MKow3n2psKMwLuzufxoJzPycTyEiUcFJSQ",
      333,
      {
      "symbol":"ALICE20180518T111709.ASSET",
      "type":3
      }
      ]
      }' http://127.0.0.1:8820/rpc/v2

      // Response
      {
      "id" : 45,
      "jsonrpc" : "2.0",
      "result" :
      {
      "02000000027228f5e854b565c2abc0c76d03be2b35aee4e6ee1d5df31bf586944b7a0230dc000000009300483045022100e483f215974cd4033887e48bb1a8db7dc5d7ed189078a8a1769efa643f7b8ea202205f4c803a979c910fcc23acfffebe0c7cb6c3e5354b8eaa0b5ba52159cdeda5ba014c47522102f611da5c3c78472855aad6af94b6e56521999f3884bc25165720349556b823062103d54aa74f5832252992cc61ce62bc91e66f2715720cb15256d1bf132fef1f777852aeffffffff1fef544624891be0b3b7e3374a6ebeba3b989b8609f1812e2333d1ffb756e7cc0000000092004730440220243819f923a1d2bea11c2da729a746886ab1d6deef980d8effc64e2acd472b580220042ff9c7e7df3c6911f0e52283b053b00452acb8be4bfc90aed9a98f24f83783014c47522102f611da5c3c78472855aad6af94b6e56521999f3884bc25165720349556b823062103d54aa74f5832252992cc61ce62bc91e66f2715720cb15256d1bf132fef1f777852aeffffffff0300000000000000001976a91482a46ca6e0ac21a3b41eff496a57a902ec47654788ac0100000002000000020000001a414c4943453230313830353138543131313730392e41535345544d010000000000003ec642480000000017a9141bda177776546d2766bcfac2fc7a87cae746de1e870100000000000000000000000000000017a9141bda177776546d2766bcfac2fc7a87cae746de1e870100000002000000020000001a414c4943453230313830353138543131313730392e41535345549b0200000000000000000000"
      }
      }

  • signmultisigtx

    signmultisigtx

    • Parameters (optional)
    1. -b or [--broadcast] Broadcast the tx if it is fullly signed, disabled by default.
    2. -s or [--selfpublickey] The private key of this public key will be used to sign.
    • Parameters (positional)
    1. ACCOUNTNAME Account name.
    2. ACCOUNTAUTH Account password/authorization.
    3. TRANSACTION The input Base16 transaction to sign.
      params:[
      "ACCOUNTNAME",
      "ACCOUNTAUTH",
      "TRANSACTION"
      ]
    • Returns
      Object - The Base16 transaction.

    • Example

      // Request
      curl -X POST --data '{
      "jsonrpc":"2.0",
      "method": "signmultisigtx",
      "id":7,
      "params":[
      "testam",
      "testam",
      "--broadcast",
      "02000000016453713104d144387553bcb0fa457f40d2dc5fb916bd9e2256835a4b6de48d4c00000000b500483045022100cbfdda943648344dc03fd92a905072082af93dfd4f166e3d1bb258e3437069790220321ee22c6a2543392909e21cd347d009a6d32173c23700424b45b4592d4075e3014c69522102729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b92103d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e2103f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e0253aeffffffff02100d0000000000001976a9146a20e940e8d7be0a49c598e91fa79c8b36e5353588ac0100000000000000d0fb01000000000017a91457e1a19e5ee4c0065f8fd76b0351fa145e44435a87010000000000000000000000"
      ]}' http://127.0.0.1:8820/rpc/v2

      // Response
      {
      "id" : 7,
      "jsonrpc" : "2.0",
      "result" :
      {
      "02000000016453713104d144387553bcb0fa457f40d2dc5fb916bd9e2256835a4b6de48d4c00000000fdfd0000483045022100cbfdda943648344dc03fd92a905072082af93dfd4f166e3d1bb258e3437069790220321ee22c6a2543392909e21cd347d009a6d32173c23700424b45b4592d4075e3014730440220018b6a113d89de18b6c3c7090758cf9e4ca24e7762a2796b872bf6d2d1015b96022046b4518aa9451e617dff9467db7fe0c0d45811d0884faed51e343fec2c4579ff014c69522102729cae0c16009f44440f306b76fafb7a7d2503741a619c15b41ff927c1afd6b92103d29f0b96f332e50d6014cb91c334214ecb8caf2881a97e7d944bdf4e5fd6a39e2103f97e079ccae21e1ee65d5ee64e5c27d7d6ce9a867cec75e9736ad5f258329e0253aeffffffff02100d0000000000001976a9146a20e940e8d7be0a49c598e91fa79c8b36e5353588ac0100000000000000d0fb01000000000017a91457e1a19e5ee4c0065f8fd76b0351fa145e44435a87010000000000000000000000"
      }
      }

Other examples of using multi-signed address

  • Example 1: registerdid to multi-signed address

    // Request
    1. create registerdid multi-signed transcation
    curl -X POST -d '{
    "id":25,
    "jsonrpc":"2.0",
    "method":"registerdid",
    "params":[
    "test",
    "123456",
    "35cY636TPTfFW8PxhqH3BNRL54g1T4mbR2",
    "test"
    ]
    }' http://127.0.0.1:8820/rpc/v2

    // Response
    {
    "id" : 25,
    "jsonrpc" : "2.0",
    "result" : "0400000001e7d3224094596a4a4b65433b3594e3592ab3c927baecb880d1ad2b85f5a251e100000000920047304402205f6b8dea060298b0976a8de83845669b52ab0ab0936ea1fc89f8c39c61a7690e02206185fbbfe0d951c1624510f22366773190061bfe287f45a9fb5a364a962ca169014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff02000000000000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f870100000004000000010000000474657374223335635936333654505466465738507868714833424e524c3534673154346d62523200e9a4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    }
    2. sign multi-signed transcation and broadcast
    curl -X POST -d '{
    "id":25,
    "jsonrpc":"2.0",
    "method":"signmultisigtx",
    "params":[
    "test2",
    "123456",
    "--broadcast","0400000001e7d3224094596a4a4b65433b3594e3592ab3c927baecb880d1ad2b85f5a251e100000000920047304402205f6b8dea060298b0976a8de83845669b52ab0ab0936ea1fc89f8c39c61a7690e02206185fbbfe0d951c1624510f22366773190061bfe287f45a9fb5a364a962ca169014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff02000000000000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f870100000004000000010000000474657374223335635936333654505466465738507868714833424e524c3534673154346d62523200e9a4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    ]
    }' http://127.0.0.1:8820/rpc/v2

    // Response
    {
    "id" : 25,
    "jsonrpc" : "2.0",
    "result" : "0400000001e7d3224094596a4a4b65433b3594e3592ab3c927baecb880d1ad2b85f5a251e100000000db00483045022100b88b7c86d4c82f2320de5fd44b216adea4a518b6b08218909f77a05fe4f107d602200759dfedd43ef1ab53112c5da80e3a6c2418e3665bdffc496d518344101db9f60147304402205f6b8dea060298b0976a8de83845669b52ab0ab0936ea1fc89f8c39c61a7690e02206185fbbfe0d951c1624510f22366773190061bfe287f45a9fb5a364a962ca169014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff02000000000000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f870100000004000000010000000474657374223335635936333654505466465738507868714833424e524c3534673154346d62523200e9a4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    }
  • Example 2: didchangeaddress

  • did change address to multisigtx

1. create didchangeaddress multi-signed transcation
// Request
curl -X POST -d '{
"id":25,
"jsonrpc":"2.0",
"method":"didchangeaddress",
"params":[
"test",
"123456",
"35cY636TPTfFW8PxhqH3BNRL54g1T4mbR2",
"test.mvs"
]
}' http://127.0.0.1:8820/rpc/v2


// Response
{
"id" : 25,
"jsonrpc" : "2.0",
"result" : "0400000002e2ff847f7f660baae489cc219c25982b6b6c00afddc238ad92767017246917c00000000093004830450221009f620f2316ce9b5d803f7651e09971443d6cb46da47619f870148551d29ac00f022016aa63ffde9c336b8e5a094eab14007c4eea9ba3755a7494e45d13527b990d6c014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffc11a1a415c7e6f164264a12fc1b2ee66424a7a8610d7f8bb975fc96677878a01000000006a473044022033c3646519579094f35f10d7dcbc443f4fac1a1346146b1d50772d88f6fa5802022057b250d9097d1cebffae67559a3cd95870ada89a1cd26470cc0d26fcbafab3720121028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab2ffffffff01000000000000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000400000002000000036c7866223335635936333654505466465738507868714833424e524c3534673154346d62523200000000"
}


2. sign multi-signed transcation and broadcast
curl -X POST -d '{
"id":25,
"jsonrpc":"2.0",
"method":"signmultisigtx",
"params":[
"test2",
"123456",
"--broadcast","0400000002e2ff847f7f660baae489cc219c25982b6b6c00afddc238ad92767017246917c00000000093004830450221009f620f2316ce9b5d803f7651e09971443d6cb46da47619f870148551d29ac00f022016aa63ffde9c336b8e5a094eab14007c4eea9ba3755a7494e45d13527b990d6c014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffc11a1a415c7e6f164264a12fc1b2ee66424a7a8610d7f8bb975fc96677878a01000000006a473044022033c3646519579094f35f10d7dcbc443f4fac1a1346146b1d50772d88f6fa5802022057b250d9097d1cebffae67559a3cd95870ada89a1cd26470cc0d26fcbafab3720121028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab2ffffffff01000000000000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000400000002000000036c7866223335635936333654505466465738507868714833424e524c3534673154346d62523200000000"
]
}' http://127.0.0.1:8820/rpc/v2

// Response
{
"id" : 25,
"jsonrpc" : "2.0",
"result" : "0400000002e2ff847f7f660baae489cc219c25982b6b6c00afddc238ad92767017246917c000000000dc00483045022100e76e63c4f77ec03be48be1e1b5f0ca5ef344ce2d72d718b0dd958ceae74f4225022071599344cc3a03601d45ad387f2e022674e5785a2655fdbb1df2ea1c80818544014830450221009f620f2316ce9b5d803f7651e09971443d6cb46da47619f870148551d29ac00f022016aa63ffde9c336b8e5a094eab14007c4eea9ba3755a7494e45d13527b990d6c014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffc11a1a415c7e6f164264a12fc1b2ee66424a7a8610d7f8bb975fc96677878a01000000006a473044022033c3646519579094f35f10d7dcbc443f4fac1a1346146b1d50772d88f6fa5802022057b250d9097d1cebffae67559a3cd95870ada89a1cd26470cc0d26fcbafab3720121028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab2ffffffff01000000000000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000400000002000000036c7866223335635936333654505466465738507868714833424e524c3534673154346d62523200000000"
}
  • did change address from multisigtx

1. create didchangeaddress multi-signed transcation
// Request
curl -X POST -d '{
"id":25,
"jsonrpc":"2.0",
"method":"didchangeaddress",
"params":[
"test",
"123456",
"M9kDHsDKJj9hM8FzSmDu4xCDbo2DFzUhzj ",
"test.mvs"
]
}' http://127.0.0.1:8820/rpc/v2


// Response
{
"id" : 25,
"jsonrpc" : "2.0",
"result" : "0400000002fe8ecb0c9d91147996f7cb1d2abbc2fd70253fa40a5138070167599d5125c6be000000009300483045022100a395d37e15d7e1110a53fd0f79572849511652c6a7f830a59a1f777e6d2beceb02207a9a059f935c8658595d658ea49e1a82a1a4ac501de55b522f58bd8f1f62a916014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffe2ff847f7f660baae489cc219c25982b6b6c00afddc238ad92767017246917c0010000006a47304402207f71094ebe0767c6593f8c749432b49ad981e5471af618bcf620ad6b249fb04b02204d00da73a85ed34016139772a982ba4bc003e5447fac07ffbf0163a43080dad60121023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05fffffffff0100000000000000001976a914143f0fc7d1186851be00b48bf526964b776af83b88ac010000000400000002000000036c7866224d396b444873444b4a6a39684d38467a536d447534784344626f3244467a55687a6a00000000"
}


2. sign multi-signed transcation and broadcast
curl -X POST -d '{
"id":25,
"jsonrpc":"2.0",
"method":"signmultisigtx",
"params":[
"test2",
"123456",
"--broadcast","0400000002fe8ecb0c9d91147996f7cb1d2abbc2fd70253fa40a5138070167599d5125c6be000000009300483045022100a395d37e15d7e1110a53fd0f79572849511652c6a7f830a59a1f777e6d2beceb02207a9a059f935c8658595d658ea49e1a82a1a4ac501de55b522f58bd8f1f62a916014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffe2ff847f7f660baae489cc219c25982b6b6c00afddc238ad92767017246917c0010000006a47304402207f71094ebe0767c6593f8c749432b49ad981e5471af618bcf620ad6b249fb04b02204d00da73a85ed34016139772a982ba4bc003e5447fac07ffbf0163a43080dad60121023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05fffffffff0100000000000000001976a914143f0fc7d1186851be00b48bf526964b776af83b88ac010000000400000002000000036c7866224d396b444873444b4a6a39684d38467a536d447534784344626f3244467a55687a6a00000000"
]
}' http://127.0.0.1:8820/rpc/v2

// Response
{
"id" : 25,
"jsonrpc" : "2.0",
"result" : "0400000002fe8ecb0c9d91147996f7cb1d2abbc2fd70253fa40a5138070167599d5125c6be00000000db00483045022100a395d37e15d7e1110a53fd0f79572849511652c6a7f830a59a1f777e6d2beceb02207a9a059f935c8658595d658ea49e1a82a1a4ac501de55b522f58bd8f1f62a9160147304402202e860ee7cb122577102a9423be059a3a994c9e2804b9decdd6771c42d158f42f0220226e3e445309620184263d5dc059495ff8c379525a19636485cfb9cadbac92b7014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffe2ff847f7f660baae489cc219c25982b6b6c00afddc238ad92767017246917c0010000006a47304402207f71094ebe0767c6593f8c749432b49ad981e5471af618bcf620ad6b249fb04b02204d00da73a85ed34016139772a982ba4bc003e5447fac07ffbf0163a43080dad60121023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05fffffffff0100000000000000001976a914143f0fc7d1186851be00b48bf526964b776af83b88ac010000000400000002000000036c7866224d396b444873444b4a6a39684d38467a536d447534784344626f3244467a55687a6a00000000"
}
  • Example 3: transfercert from multi-signed address

    1. create transfercert multi-signed transcation
    // Request
    curl -X POST --data '{
    "id":7,
    "jsonrpc":"2.0",
    "method":"transfercert",
    "params":[
    "test",
    "123456",
    "BOB.DIID",
    "test.cert.naming",
    "naming"
    ]
    }' http://127.0.0.1:8820/rpc/v2

    // Response
    {
    "id" : 7,
    "jsonrpc" : "2.0",
    "result" : "040000000228d08575b8eb3fed33cfe71701ac9f0aa7e6f850833b09a28d77a4390b705fdf000000009300483045022100ed072b24b6e893be048c8f68b306f0ed3658dc40e2f7d3f71844bc8d0d12b390022011a90293affcf99642d0ae5c5574d1ecbb00565c5d82242258a420795f37e2f9014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffac40afff90279002ff781d959f3b69633976eb4ac96b61992eb6a55a105b653d01000000920047304402203bae24dca7ecd212583c6b0249f068e7952e74fbe960eb1e63ce3547ec294d9d02203fa60e0814c94250382b5d1ce28e335f5fda9cb4a7d5b6afd833057f79ca37bc014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff0200000000000000001976a914c64bd3fb0959db9212066496275e4d5a858f3e5e88accf0000000500000008424f422e4449494400345a41433230313830363134543139323032325439373038313138302e32303138303631345431393230323354383137373532323208424f422e44494944224d527965733339595853334d4a4c6632664e565474726956525939337635484152720300000002f0c1a4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    }
    2. sign multi-signed transcation and broadcast
    curl -X POST -d '{
    "id":25,
    "jsonrpc":"2.0",
    "method":"signmultisigtx",
    "params":[
    "test2",
    "123456",
    "--broadcast","040000000228d08575b8eb3fed33cfe71701ac9f0aa7e6f850833b09a28d77a4390b705fdf000000009300483045022100ed072b24b6e893be048c8f68b306f0ed3658dc40e2f7d3f71844bc8d0d12b390022011a90293affcf99642d0ae5c5574d1ecbb00565c5d82242258a420795f37e2f9014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffac40afff90279002ff781d959f3b69633976eb4ac96b61992eb6a55a105b653d01000000920047304402203bae24dca7ecd212583c6b0249f068e7952e74fbe960eb1e63ce3547ec294d9d02203fa60e0814c94250382b5d1ce28e335f5fda9cb4a7d5b6afd833057f79ca37bc014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff0200000000000000001976a914c64bd3fb0959db9212066496275e4d5a858f3e5e88accf0000000500000008424f422e4449494400345a41433230313830363134543139323032325439373038313138302e32303138303631345431393230323354383137373532323208424f422e44494944224d527965733339595853334d4a4c6632664e565474726956525939337635484152720300000002f0c1a4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    ]
    }' http://127.0.0.1:8820/rpc/v2

    // Response
    {
    "id" : 25,
    "jsonrpc" : "2.0",
    "result" : "040000000228d08575b8eb3fed33cfe71701ac9f0aa7e6f850833b09a28d77a4390b705fdf00000000db00473044022013916d75eb88723b44a659f3e4717f8d6b8b671edeefae82c5f36010a72e3d2b022023a51c466a85fc07f531b387fe14192ed1ea6a9a2ec1c76b9629c80053ea3ffb01483045022100ed072b24b6e893be048c8f68b306f0ed3658dc40e2f7d3f71844bc8d0d12b390022011a90293affcf99642d0ae5c5574d1ecbb00565c5d82242258a420795f37e2f9014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffffac40afff90279002ff781d959f3b69633976eb4ac96b61992eb6a55a105b653d01000000da00473044022002acdcf58d11aa317021b182d8d7ebe6db0eed50dafc6133f63f825a494760f802205cfa8aff7f5dfc7c5ce0a897bf04e55eb2435be0be3d0af2672cb029b940fe240147304402203bae24dca7ecd212583c6b0249f068e7952e74fbe960eb1e63ce3547ec294d9d02203fa60e0814c94250382b5d1ce28e335f5fda9cb4a7d5b6afd833057f79ca37bc014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff0200000000000000001976a914c64bd3fb0959db9212066496275e4d5a858f3e5e88accf0000000500000008424f422e4449494400345a41433230313830363134543139323032325439373038313138302e32303138303631345431393230323354383137373532323208424f422e44494944224d527965733339595853334d4a4c6632664e565474726956525939337635484152720300000002f0c1a4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    }
  • Example 4: transfermit from multi-signed address

    1. create transfermit multi-signed transcation
    // Request
    curl -X POST --data '{
    "id":7,
    "jsonrpc":"2.0",
    "method":"transfermit",
    "params":[
    "test",
    "123456",
    "BOB.DIID",
    "test.MIT"
    ]
    }' http://127.0.0.1:8820/rpc/v2
    // Response
    {
    "id" : 7,
    "jsonrpc" : "2.0",
    "result" : "04000000023be1ebe4535735b8591591cbcdb564a3d7d9f7b392300af5c5c5fb8fdb0264210000000093004830450221009adc9da8dd640a5782d92c3732e533ef1d578c943f09148c994a66e7b549d0c902202d6b94f64811ff599d7a76ff95d99c9d6b7768b4251887a1fcfa87d6d82485a6014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff991acd9620724c15dc33acc60a0f7ca51c1288d3df73b32146553c31d714d0f0010000009200473044022075bcb6e370e0e5e66e069a65a838d87357cb21a7e1cee36a9ba3e0f17b77bcf80220189e603382ddbcceac0e75a9379d841263a93a262cfbc554ff964e173ba1b0c8014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff0200000000000000001976a914c64bd3fb0959db9212066496275e4d5a858f3e5e88accf0000000600000008424f422e4449494400021c4d49542e323031383036313454313932303436543630373439333932224d527965733339595853334d4a4c6632664e56547472695652593933763548415272e09aa4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    }
    2. sign multi-signed transcation and broadcast
    curl -X POST -d '{
    "id":25,
    "jsonrpc":"2.0",
    "method":"signmultisigtx",
    "params":[
    "test2",
    "123456",
    "--broadcast","04000000023be1ebe4535735b8591591cbcdb564a3d7d9f7b392300af5c5c5fb8fdb0264210000000093004830450221009adc9da8dd640a5782d92c3732e533ef1d578c943f09148c994a66e7b549d0c902202d6b94f64811ff599d7a76ff95d99c9d6b7768b4251887a1fcfa87d6d82485a6014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff991acd9620724c15dc33acc60a0f7ca51c1288d3df73b32146553c31d714d0f0010000009200473044022075bcb6e370e0e5e66e069a65a838d87357cb21a7e1cee36a9ba3e0f17b77bcf80220189e603382ddbcceac0e75a9379d841263a93a262cfbc554ff964e173ba1b0c8014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff0200000000000000001976a914c64bd3fb0959db9212066496275e4d5a858f3e5e88accf0000000600000008424f422e4449494400021c4d49542e323031383036313454313932303436543630373439333932224d527965733339595853334d4a4c6632664e56547472695652593933763548415272e09aa4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    ]
    }' http://127.0.0.1:8820/rpc/v2

    // Response
    {
    "id" : 25,
    "jsonrpc" : "2.0",
    "result" : "04000000023be1ebe4535735b8591591cbcdb564a3d7d9f7b392300af5c5c5fb8fdb02642100000000dc00483045022100a7233515381e870f89420d6932e8c051a08823c78a1c29c8cceade561b5b687102203dce14b5b895d486ec74e6e3888e1e6f58294a87c8741b36f3834d9c246947d7014830450221009adc9da8dd640a5782d92c3732e533ef1d578c943f09148c994a66e7b549d0c902202d6b94f64811ff599d7a76ff95d99c9d6b7768b4251887a1fcfa87d6d82485a6014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff991acd9620724c15dc33acc60a0f7ca51c1288d3df73b32146553c31d714d0f001000000da0047304402201881e699e808f3a0b8e7a3ba871e73c40baa6774a217b4d4c67dc18cea22553702206366d998fbf8505b1c9fc9c1698d0e40125adf355972cf528dce0a45637fbd8301473044022075bcb6e370e0e5e66e069a65a838d87357cb21a7e1cee36a9ba3e0f17b77bcf80220189e603382ddbcceac0e75a9379d841263a93a262cfbc554ff964e173ba1b0c8014c475221023a5277232a4f9a08c83a968440c85b3a81fe43f86113342c08687bc9eb94c05f21028d6413e29808640ed5727546e62aec9a66f39465293db31eeaf2810314aa3ab252aeffffffff0200000000000000001976a914c64bd3fb0959db9212066496275e4d5a858f3e5e88accf0000000600000008424f422e4449494400021c4d49542e323031383036313454313932303436543630373439333932224d527965733339595853334d4a4c6632664e56547472695652593933763548415272e09aa4350000000017a9142b079a4a2c1354791df4341d86ff7983426b3a9f87010000000000000000000000"
    }