多重簽名 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"
}
}
創建多重簽名交易¶
通過向交易添加簽名將交易轉換為多簽交易。請參考以下步驟以創建多簽交易。
- 創建多重簽名錢包。
- 創建一個將發送到區塊鏈的交易(範例:發送代幣)
- 簽名者簽署創建的交易數據(
data.rawTx
或data.hashedTx
),每個人都會收到“簽名”字符串。- 如果閾值為3,則需要3個“簽名”字符串。
- 每個簽名者將“簽名”字符串發送給將創建多重簽名交易的人。
- 使用第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..."
]
}'