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ที่ถูกแฮช คุณจะได้รับค่าตัวนี้เฉพาะเมื่อส่วนหัวของ APIx-networkเป็น polygon และ Request Bodyfromเป็นที่อยู่กระเป๋าเงินหลายลายเซ็น | 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"
  }
}