跳轉至

多重簽名 API

使用多重簽名(multi-sig)API,您可以創建一個錢包,該錢包可以創建和發送需要多個帳戶簽名的交易,並且您可以通過將多個簽名與其結合來將交易轉換為多重簽名交易。

創建多重簽名錢包

創建一個可以發送需要多重簽名的交易到區塊鏈的錢包帳戶。

請求 URL

實時網址 https://bc-api.qpyou.cn/core/v1/multisig
沙盒網址 https://sandbox-bc-api.qpyou.cn/core/v1/multisig
HTTP 方法 POST
內容類型 application/json

標頭參數

欄位名稱 描述 類型 必填
x-network 區塊鏈網絡 字串 Y
Authorization 認證令牌,用於調用API 字串 Y

請求主體

欄位名稱 描述 類型 必填
from 這是將發送創建多簽錢包交易的帳戶地址。對於Polygon區塊鏈,from應簽署API響應值data.rawTx發送此交易到Polygon區塊鏈。 字串
signers 這些是可以簽署多簽交易的錢包地址。對於XPLA,您需要提供可以獲取每個錢包地址的公鑰的活動錢包地址。要使您的錢包變為活動,請從您的錢包向區塊鏈發送任何交易。 陣列
threshold 發送交易所需的簽署者數量(法定人數) 數字

回應

欄位名稱 描述 類型
code api 請求結果代碼,0:成功 數字
message 結果訊息 字串
data API 回應資料 json
data.address 創建的多簽錢包地址 字串
data.rawTx 這是創建多簽錢包的編碼交易資料。當您使用 Polygon 區塊鏈時,您才會收到此資料。 字串

請求範例

  curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/multisig' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...' 
  -d '{
      "signers": [
        "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
        "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
        "0xa245824a24daf3b312d3f59c7debf162c4993e8b"
      ],
      "threshold": 2,
      "from": "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4"
      }'

回應範例

  // Polygon
  {
    "code": 0,
    "message": "success",
    "data": {
      "address": "0x777358b228a4720ffa088516294b324f8d24639c",
      "rawTx": "02f8748301388182010584c6ee355e84c6ee357682cdc49494853bdc9c6add50d7842..."
    }
  }

  // XPLA

  {
    "code": 0,
    "message": "success",
    "data": {
      "address": "xpla1qv6s9q8cpwjdwhxkcrrh447keslzu5t605w4gt"
    }
  }

創建多重簽名交易

通過向交易添加簽名將交易轉換為多簽交易。請參考以下步驟以創建多簽交易。

  1. 創建多重簽名錢包。
  2. 創建一個將發送到區塊鏈的交易(範例:發送代幣
  3. 簽名者簽署創建的交易數據(data.rawTxdata.hashedTx),每個人都會收到“簽名”字符串。
    • 如果閾值為3,則需要3個“簽名”字符串。
  4. 每個簽名者將“簽名”字符串發送給將創建多重簽名交易的人。
  5. 使用第2步中創建的“簽名”字符串和交易數據,多重簽名交易的創建者調用此API以創建多重簽名交易(最終將記錄在區塊鏈上的交易)。

上述多重簽名交易的創建者可以簽署創建的交易並將其發送到區塊鏈。請注意,對於XPLA區塊鏈,創建者應該在不簽署的情況下將多重簽名交易發送到XPLA區塊鏈。

Warning

交易的簽名必須由玩家在其私人錢包中完成,或必須由遊戲工作室提供。

請求 URL

實時 URL https://bc-api.qpyou.cn/core/v1/multisig/tx
沙盒 URL https://sandbox-bc-api.qpyou.cn/core/v1/multisig/tx
HTTP 方法 POST
內容類型 application/json

標頭參數

欄位名稱 描述 類型 必填
x-network 區塊鏈網絡 字串 Y
Authorization 認證令牌,呼叫 API 時需要 字串 Y

請求主體

欄位名稱 描述 類型 是否必填
encoded 返回的交易是否編碼
* true: 接收編碼的原始交易字串 (data.rawTx)。
* false: 接收解碼的 data.rawTx (JSON)。
字串
from 發送多簽交易到區塊鏈的錢包地址 字串
to 多簽錢包地址 字串
tx 作為交易創建 API (Token API, NFT API 等) 的回應返回的 data.rawTx 字串或 JSON
signatures 每個簽署者在簽署交易後收到的“簽名”值 (字串)
* polygon: 簽署 data.hashedTx 後獲得的“簽名”值,作為創建交易的 API 的回應值
* XPLA: 簽署 data.rawTx 後獲得的“簽名”值,作為創建交易的 API 的回應值
陣列

回應

欄位名稱 描述 類型
code API 請求結果代碼,0:成功 數字
message 結果消息 字串
data API 回應數據 json
data.rawTx 這是創建的多簽交易的編碼交易數據。對於 Polygon 區塊鏈,多簽交易的創建者可以在簽署此值後將交易發送到區塊鏈 字串
data.reqeustId 可以識別每個 API 請求的唯一值 字串

請求範例

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/multisig/tx/0x777358b228a4720ffa088516294b324f8d24639c' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...' 
  -H 'Content-Type: application/json' 
  -d '{
  "encoded": false,
  "from": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
  "to": "0x777358b228a4720ffa088516294b324f8d24639c",
  "tx": "02f90113830138810c84a8d6983d84a8d6985483058bfe9431a6854383c81daab14089cba0b9de1d42ecd65f80",
  "signatures": [
   "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556...",
   "84655BB965D709A4AAD4104C7FFBD8E42F52F0BB313493FFDCA02B0..."
  ]
}'

回應範例

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076.....",
    "reqeustId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
  }
}