ข้ามไปที่เนื้อหา

API Multi-sig

ด้วย API หลายลายเซ็น (multi-sig) คุณสามารถสร้างกระเป๋าเงินที่สามารถสร้างและส่งธุรกรรมที่ต้องการลายเซ็นจากหลายบัญชี และคุณสามารถแปลงธุรกรรมเป็นธุรกรรมหลายลายเซ็นโดยการรวมลายเซ็นหลายลายเซ็นเข้าด้วยกัน

สร้างกระเป๋าเงินหลายลายเซ็น

สร้างบัญชีวอลเล็ตที่สามารถส่งธุรกรรมซึ่งต้องการลายเซ็นหลายลายเซ็นเพื่อส่งไปยังบล็อกเชน

URL คำขอ

ลิงก์สด https://bc-api.qpyou.cn/core/v1/multisig
ลิงก์ Sandbox https://sandbox-bc-api.qpyou.cn/core/v1/multisig
วิธีการ HTTP POST
ประเภทเนื้อหา application/json

พารามิเตอร์หัวเรื่อง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
x-network เครือข่ายบล็อกเชน สตริง ใช่
Authorization โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API สตริง ใช่

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
from นี่คือที่อยู่บัญชีที่จะส่งธุรกรรมในการสร้างกระเป๋าเงินหลายลายเซ็น สำหรับบล็อกเชน Polygon, from ควรลงนามในค่าผลลัพธ์ API data.rawTx เพื่อ ส่งธุรกรรมนี้ ไปยังบล็อกเชน Polygon. string Y
signers นี่คือที่อยู่กระเป๋าเงินที่สามารถลงนามในธุรกรรมหลายลายเซ็น สำหรับ XPLA, คุณต้องระบุที่อยู่กระเป๋าเงินที่ใช้งานอยู่ซึ่งคุณสามารถรับกุญแจสาธารณะสำหรับที่อยู่กระเป๋าเงินแต่ละที่อยู่ได้ เพื่อทำให้กระเป๋าเงินของคุณใช้งานได้ ส่งธุรกรรมใด ๆ จากกระเป๋าเงินของคุณไปยังบล็อกเชน. array Y
threshold จำนวนผู้ลงนามที่จำเป็นในการส่งธุรกรรม (quorum) number Y

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
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"
    }
  }

สร้างธุรกรรม Multi-sig

แปลงธุรกรรมเป็นธุรกรรมหลายลายเซ็นโดยการเพิ่มลายเซ็นลงไป ดูขั้นตอนด้านล่างสำหรับการสร้างธุรกรรมหลายลายเซ็น

  1. สร้างกระเป๋าเงินหลายลายเซ็น
  2. สร้างธุรกรรมที่จะถูกส่งไปยังบล็อกเชน (ตัวอย่าง: ส่งโทเค็น)
  3. ผู้ลงนามลงนามในข้อมูลธุรกรรมที่สร้างขึ้น (data.rawTx หรือ data.hashedTx) และแต่ละคนจะได้รับสตริง "ลายเซ็น"
    • หากค่าขั้นต่ำคือ 3 จะต้องมีสตริง "ลายเซ็น" 3 ตัว
  4. ผู้ลงนามแต่ละคนส่งสตริง "ลายเซ็น" ไปยังบุคคลที่จะสร้างธุรกรรมหลายลายเซ็น
  5. ด้วยสตริง "ลายเซ็น" และข้อมูลธุรกรรมที่สร้างขึ้นในขั้นตอนที่ 2 ผู้สร้างธุรกรรมหลายลายเซ็นเรียกใช้ API นี้เพื่อสร้างธุรกรรมหลายลายเซ็น (ธุรกรรมที่จะถูกบันทึกในบล็อกเชนในที่สุด)

ผู้สร้างธุรกรรมหลายลายเซ็นด้านบนสามารถลงนามในธุรกรรมที่สร้างขึ้นและ ส่งไปยังบล็อกเชน โปรดทราบว่าสำหรับบล็อกเชน XPLA ผู้สร้างควรส่งธุรกรรมหลายลายเซ็นไปยังบล็อกเชน XPLA โดยไม่ต้องลงนาม

Warning

การลงนามในธุรกรรมจะต้องทำโดยผู้เล่นในกระเป๋าเงินส่วนตัวของเขา/เธอ หรือจะต้องทำโดยสตูดิโอเกม

URL การร้องขอ

ลิงก์สด https://bc-api.qpyou.cn/core/v1/multisig/tx
ลิงก์ Sandbox https://sandbox-bc-api.qpyou.cn/core/v1/multisig/tx
วิธีการ HTTP POST
ประเภทเนื้อหา application/json

พารามิเตอร์หัวเรื่อง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
x-network เครือข่ายบล็อกเชน สตริง ใช่
Authorization โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API สตริง ใช่

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
encoded ว่าการทำธุรกรรมที่ส่งคืนถูกเข้ารหัสหรือไม่
* true: รับสตริงธุรกรรมดิบที่เข้ารหัส (data.rawTx).
* false: รับ data.rawTx ที่ถอดรหัส (JSON).
string Y
from ที่อยู่กระเป๋าเงินที่ส่งธุรกรรมหลายลายเซ็นไปยังบล็อกเชน string Y
to ที่อยู่กระเป๋าเงินหลายลายเซ็น string Y
tx data.rawTx ซึ่งถูกส่งคืนเป็นการตอบสนองของ APIs ที่สร้างธุรกรรม (Token API, NFT API, ฯลฯ) string หรือ json Y
signatures ค่าลายเซ็น “signature” (string) ที่ผู้ลงนามแต่ละคนได้รับหลังจากที่พวกเขาลงนามธุรกรรม
* polygon: ค่าลายเซ็น “signature” ที่ได้รับหลังจากลงนาม data.hashedTx, ซึ่งถูกส่งคืนเป็นค่าการตอบสนองของ APIs ที่สร้างธุรกรรม
* XPLA: ค่าลายเซ็น “signature” ที่ได้รับหลังจากลงนาม data.rawTx, ซึ่งถูกส่งคืนเป็นค่าการตอบสนองของ APIs ที่สร้างธุรกรรม
array Y

การตอบกลับ

ชื่อฟิลด์ คำอธิบาย ประเภท
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"
  }
}