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ควรลงนามในค่าผลลัพธ์ APIdata.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¶
แปลงธุรกรรมเป็นธุรกรรมหลายลายเซ็นโดยการเพิ่มลายเซ็นลงไป ดูขั้นตอนด้านล่างสำหรับการสร้างธุรกรรมหลายลายเซ็น
- สร้างกระเป๋าเงินหลายลายเซ็น
- สร้างธุรกรรมที่จะถูกส่งไปยังบล็อกเชน (ตัวอย่าง: ส่งโทเค็น)
- ผู้ลงนามลงนามในข้อมูลธุรกรรมที่สร้างขึ้น (data.rawTxหรือdata.hashedTx) และแต่ละคนจะได้รับสตริง "ลายเซ็น"- หากค่าขั้นต่ำคือ 3 จะต้องมีสตริง "ลายเซ็น" 3 ตัว
 
- ผู้ลงนามแต่ละคนส่งสตริง "ลายเซ็น" ไปยังบุคคลที่จะสร้างธุรกรรมหลายลายเซ็น
- ด้วยสตริง "ลายเซ็น" และข้อมูลธุรกรรมที่สร้างขึ้นในขั้นตอนที่ 2 ผู้สร้างธุรกรรมหลายลายเซ็นเรียกใช้ API นี้เพื่อสร้างธุรกรรมหลายลายเซ็น (ธุรกรรมที่จะถูกบันทึกในบล็อกเชนในที่สุด)
ผู้สร้างธุรกรรมหลายลายเซ็นด้านบนสามารถลงนามในธุรกรรมที่สร้างขึ้นและ ส่งไปยังบล็อกเชน โปรดทราบว่าสำหรับบล็อกเชน XPLA ผู้สร้างควรส่งธุรกรรมหลายลายเซ็นไปยังบล็อกเชน XPLA โดยไม่ต้องลงนาม
Warning
การลงนามในธุรกรรมจะต้องทำโดยผู้เล่นในกระเป๋าเงินส่วนตัวของเขา/เธอ หรือจะต้องทำโดยสตูดิโอเกม
- วิธีการสร้างลายเซ็นหลายลายเซ็นใน Polygon
- วิธีการสร้างลายเซ็นหลายลายเซ็นใน XPLA (Chrome Browser Extension Wallet > จัดการกระเป๋าเงิน > ลงนามในธุรกรรมหลายลายเซ็น)
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..."
  ]
}'