API การทำธุรกรรม
API การทำธุรกรรมส่งธุรกรรมและรับข้อมูลของพวกเขา
สร้างธุรกรรม¶
สร้างธุรกรรมที่จะส่งไปยังเครือข่ายบล็อกเชน คุณสามารถสร้างธุรกรรมเพื่อส่งโทเค็นพื้นเมืองหรือดำเนินการสัญญาอัจฉริยะ
URL ที่ร้องขอ¶
ลิงก์สด | https://bc-api.qpyou.cn/core/v1/tx |
---|---|
ลิงก์ Sandbox | https://sandbox-bc-api.qpyou.cn/core/v1/tx |
วิธีการ HTTP | POST |
ประเภทเนื้อหา | application/json |
พารามิเตอร์หัวเรื่อง¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
x-network | เครือข่ายบล็อกเชน | สตริง | ใช่ |
Authorization | โทเค็นการตรวจสอบสิทธิ์สำหรับเรียกใช้ API | สตริง | ใช่ |
เนื้อหาคำขอ¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
from | ที่อยู่บัญชีที่จะส่งธุรกรรมไปยังบล็อกเชน | string | Y |
to | * สำหรับธุรกรรมสัญญาอัจฉริยะ เช่น ธุรกรรมที่เรียกใช้ฟังก์ชันของสัญญา: ที่อยู่ของสัญญาอัจฉริยะ * สำหรับธุรกรรมที่ส่งโทเค็นพื้นเมือง: ที่อยู่บัญชีที่จะได้รับโทเค็น | string | Y |
amount | * สำหรับธุรกรรมสัญญาอัจฉริยะ เช่น ธุรกรรมที่เรียกใช้ฟังก์ชันของสัญญา: ป้อน 0 * สำหรับธุรกรรมที่ส่งโทเค็นพื้นเมือง: ป้อนจำนวนโทเค็นที่จะส่ง | string | Y |
data | สำหรับธุรกรรมสัญญาอัจฉริยะ นี่คือชื่อฟังก์ชันของสัญญาและข้อมูลพารามิเตอร์ของฟังก์ชันของสัญญา * Polygon: Web3js encodeABI สามารถใช้เพื่อสร้างค่า data * XPLA: การสร้างข้อความ XPLAjs สามารถใช้เพื่อสร้างค่า data | json | * สำหรับธุรกรรมสัญญาอัจฉริยะ: Y * สำหรับธุรกรรมที่ส่งโทเค็นพื้นเมือง: N |
encoded | ธุรกรรมที่ส่งกลับควรเข้ารหัสหรือไม่ (true : สตริงธุรกรรมดิบที่เข้ารหัส, false : ผลลัพธ์ JSON ที่ถอดรหัส) | boolean | N |
การตอบสนอง¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท |
---|---|---|
code | รหัสผลลัพธ์การเรียก API, 0: สำเร็จ | number |
message | ข้อความผลลัพธ์ | string |
data | ข้อมูลการตอบกลับจาก API | json |
data.rawTx | ข้อมูลธุรกรรม | string หรือ json |
data.hashedTx | data.rawTx ที่ถูกแฮช คุณจะได้รับค่าตัวนี้เฉพาะเมื่อส่วนหัวของ API x-network เป็น polygon และ Request Body from เป็นที่อยู่กระเป๋าเงินหลายลายเซ็น | string |
data.requestId | รหัสประจำตัวที่ไม่ซ้ำกันสำหรับคำขอ API | string |
ตัวอย่างคำขอ¶
curl -X 'POST'
'https://sandbox-bc-api.qpyou.cn/core/v1/tx'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Content-Type: application/json'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20yd...'
-d '{
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"to": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"amount": "0.001",
"data": "",
"encoded": true
}'
ตัวอย่างการตอบกลับ¶
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f68301388182013484618b021e84618b0235827b0c94fbd488d1b00604d3b05124d80e35fea9a39c329687038d7ea4c6800080c0808080",
"requestId": "93ff43f7-3e19-42e1-a7d0-bbff40be1361"
}
}
รับข้อมูลการทำธุรกรรม¶
ใช้แฮชธุรกรรม (txhash) เพื่อดึงข้อมูลธุรกรรม ข้อมูลของธุรกรรมที่บันทึกไว้ในบล็อกเชนเท่านั้นที่สามารถส่งคืนได้
URL การร้องขอ¶
ลิงก์สด | https://bc-api.qpyou.cn/core/v1/tx/{txhash} |
---|---|
ลิงก์ Sandbox | https://sandbox-bc-api.qpyou.cn/core/v1/tx/{txhash} |
วิธีการ HTTP | GET |
ประเภทเนื้อหา | application/json |
พารามิเตอร์เส้นทาง¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
txhash | แฮชของธุรกรรม | สตริง | ใช่ |
พารามิเตอร์หัวเรื่อง¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
x-network | เครือข่ายบล็อกเชน | สตริง | ใช่ |
Authorization | โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API | สตริง | ใช่ |
การตอบสนอง¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท |
---|---|---|
code | รหัสผลลัพธ์ของคำขอ API, 0: สำเร็จ | number |
message | ข้อความผลลัพธ์ | String |
data | ข้อมูลการตอบกลับของ API | json |
data.txhash | แฮชของธุรกรรม | string |
data.blockNumber | หมายเลขบล็อกของบล็อกที่มีธุรกรรม | number |
data.contractAddress | ที่อยู่ของสัญญาหากธุรกรรมเกี่ยวข้องกับการปรับใช้สัญญา | string |
data.status | สถานะของธุรกรรม (success หลังจากที่ธุรกรรมถูกบันทึกสำเร็จในบล็อกของบล็อกเชน) | string |
data.fee | ค่าธรรมเนียมที่ใช้ | json |
data.data | ข้อมูลธุรกรรม * Polygon * XPLA | json |
data.logs | บันทึกธุรกรรม | json |
ตัวอย่างคำขอ¶
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/tx/0x5a0ca3a7eebbafa946da6ed0160930fc4f334887dbf11a9b38937ab8831fd125'
-H 'accept: application/json'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20yd...'
-H 'x-network: polygon'
ตัวอย่างการตอบกลับ¶
// Polygon Transaction
{
"code": 0,
"message": "success",
"data": {
"txhash": "0x5a0ca3a7eebbafa946da6ed0160930fc4f334887dbf11a9b38937ab8831fd125",
"blockNumber": 33457511,
"contractAddress": "0x4377C1bE43Db73561f1179e2637CFf0bbD617eFC",
"status": "success",
"fee": {
"gas": 151232,
...
},
"data": {
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
..
},
"logs": [
{
"transactionHash": "0x5a0ca3a7eebbafa946da6ed0160930fc4f334887dbf11a9b38937ab8831fd125",
....
}
]
}
}
// Xpla Transaction
{
"code": 0,
"message": "success",
"data": {
"txhash": "E21E0CC37CD1BCACADFDEBD4C7AF2F68257EA4591D670F4AA0A725B21422C29F",
"blockNumber": 4818400,
"contractAddress": "0x4377C1bE43Db73561f1179e2637CFf0bbD617eFC",
"status": "success",
"fee": {
"gasUsed": 21000,
...
},
"data": {
"memo": "",
...
},
"logs": [
{
"msg_index": 0,
...
}
]
}}
ส่งธุรกรรม¶
ส่งธุรกรรมที่ลงนามไปยังบล็อกเชน。
Note
การลงนามในธุรกรรมจะต้องทำโดยผู้เล่นในกระเป๋าเงินส่วนตัวของเขา/เธอ หรือจะต้องให้บริการโดยสตูดิโอเกม。
Note
การโอนอาจล้มเหลวแม้ว่าจะมีการส่งกลับแฮชธุรกรรม (txhash) ในการตอบกลับ กรุณาตรวจสอบ data.status
จาก API ข้อมูลธุรกรรมเพื่อยืนยันผลการโอนของธุรกรรม
URL ที่ร้องขอ¶
ลิงก์สด | https://bc-api.qpyou.cn/core/v1/send |
---|---|
ลิงก์ Sandbox | https://sandbox-bc-api.qpyou.cn/core/v1/send |
วิธีการ HTTP | POST |
ประเภทเนื้อหา | application/json |
พารามิเตอร์หัวเรื่อง¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
x-network | เครือข่ายบล็อกเชน | สตริง | ใช่ |
Authorization | โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API | สตริง | ใช่ |
เนื้อหาคำขอ¶
Note
ตัวแจ้งเตือนผลการโอนธุรกรรม (callbackUrl
) จะมีให้เฉพาะจาก Hive Blockchain API เท่านั้น.
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
signedTx | ธุรกรรมที่ลงนามแล้ว | สตริง | ใช่ |
sync | กระบวนการซิงโครนัส/อะซิงโครนัสของธุรกรรม * true : ธุรกรรมจะถูกประมวลผลในลักษณะซิงโครนัส ซึ่งหมายความว่า API จะรอจนกว่าธุรกรรมจะเสร็จสิ้นการบันทึกบนบล็อกเชน หลังจากส่งคำขอ API แล้ว API จะรอจนกว่าจะได้รับค่าผลลัพธ์ (txHash ) * false : ธุรกรรมจะถูกประมวลผลในลักษณะอะซิงโครนัส ซึ่งหมายความว่าคุณอาจไม่ได้รับผลลัพธ์ของการโอนธุรกรรมในขณะนั้น คุณต้องใช้ API ข้อมูลธุรกรรมเพื่อยืนยันผลลัพธ์ของการโอนธุรกรรม | บูลีน | ใช่ |
การตอบกลับ¶
ชื่อฟิลด์ | คำอธิบาย | ประเภท |
---|---|---|
code | รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ | หมายเลข |
message | ข้อความผลลัพธ์ | สตริง |
data | ข้อมูลการตอบกลับ API | json |
data.txhash | แฮชการทำธุรกรรม | สตริง |
data.status | สถานะการทำธุรกรรม | สตริง |
Note
หากเป็นแบบอะซิงโครนัส คุณอาจไม่สามารถรับการตอบสนองได้หรือ data.status
อาจเป็น pending
สถานะจะถูกเปลี่ยนหลังจากที่ธุรกรรมถูกโหลดบนบล็อกเชน.
ตัวอย่างคำขอ¶
curl -X 'POST'
'https://sandbox-bc-api.qpyou.cn/core/v1/send'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Content-Type: application/json'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20yd...'
-d '{
"signedTx": "0x02f8b58301388181b985016d14154585016d1415578289219494853bdc9c...",
"sync": false
}'
ตัวอย่างการตอบกลับ¶
// Polygon
{
"code": 0,
"message": "success",
"data": {
"txhash": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076",
"status": "pending"
}
}
// Xpla
{
"code": 0,
"message": "success",
"data": {
"txhash": "84655BB965D709A4AAD4104C7FFBD8E42F52F0BB313493FFDCA02B01FE983A8F",
"status": "pending"
}
}