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¶
แปลงธุรกรรมเป็นธุรกรรมหลายลายเซ็นโดยการเพิ่มลายเซ็นลงไป ดูขั้นตอนด้านล่างสำหรับการสร้างธุรกรรมหลายลายเซ็น
- สร้างกระเป๋าเงินหลายลายเซ็น
- สร้างธุรกรรมที่จะถูกส่งไปยังบล็อกเชน (ตัวอย่าง: ส่งโทเค็น)
- ผู้ลงนามลงนามในข้อมูลธุรกรรมที่สร้างขึ้น (
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..."
]
}'