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

API สัญญา

API สัญญามีฟีเจอร์ดังต่อไปนี้

  • ลงทะเบียน, ค้นหา, และแก้ไขทรัพยากรสัญญา
  • เปิดใช้งาน, ค้นหา, แก้ไขสัญญาและดำเนินการวิธีการสัญญา

ข้อกำหนดเบื้องต้น: รับโทเค็นการตรวจสอบสิทธิ์ API

ในการเรียกใช้ Contract API คุณต้องเพิ่มโทเค็นการตรวจสอบสิทธิ์ไปยังส่วนหัวของ API นี่คือวิธีการรับโทเค็นการตรวจสอบสิทธิ์ API ของคุณ

  1. ลงทะเบียนที่ Hive Console ไปที่ AppCenter > รายชื่อเกม > ลงทะเบียนเกมใหม่
  2. สร้าง AppID ใหม่ที่ AppCenter > รายชื่อ AppID > ลงทะเบียน AppID ใหม่
    • ลงทะเบียน AppID ใหม่: Web Login AppID
    • วัตถุประสงค์การใช้งาน: Blockchain
    • AppID ที่จะใช้: เลือก “AppID ที่สร้างขึ้นโดยอัตโนมัติ” หรือ “AppID ที่สร้างขึ้นโดยอัตโนมัติ” พร้อม “ข้อมูลเพิ่มเติม”
  3. ไปที่ Hive Console > Blockchain > ค้นหาคีย์การพิสูจน์ตัวตน API เลือกและค้นหาชื่อเกม และรับ ID และ Secret key
  4. แทรก ID และ Secret key ในเนื้อหาการร้องขอของ auth-token API และเรียกใช้ API นี้
  5. คุณสามารถรับคีย์การพิสูจน์ตัวตน API ของคุณได้ที่ data.accessToken ในการตอบกลับ API

ลงทะเบียนทรัพยากรสัญญา

ลงทะเบียนทรัพยากรของสัญญา ลงทะเบียนชื่อสัญญา (contractName), คำอธิบายสัญญา (contractDesc), และ bytecode และ ABI/Scheme ที่สร้างขึ้นหลังจากที่สัญญาถูกคอมไพล์

Note
  • ทรัพยากรของสัญญาไม่ได้ถูกบันทึกไว้บนบล็อกเชน
  • สัญญาต้องเขียนด้วย Solidity หรือ Rust.

URL การร้องขอ

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

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

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

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
from ที่อยู่ของเจ้าของสัญญา string Y
contractName ชื่อสัญญา string Y
contractDesc คำอธิบายสำหรับสัญญา string Y
contractAbi อินเตอร์เฟซไบนารีแอปพลิเคชันที่สร้างขึ้นเมื่อสัญญาถูกคอมไพล์ file Y
contractBytecode โค้ดไบต์ที่สร้างขึ้นเมื่อสัญญาถูกคอมไพล์ file Y

การตอบกลับ

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ของคำขอ API, 0: สำเร็จ number
message ข้อความผลลัพธ์ String
data ข้อมูลการตอบกลับ API json
data.resourceId รหัสทรัพยากรของสัญญา number

ตัวอย่างคำขอ

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/resource' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20ydXMuYzJ4d2...' 
  -H 'Content-Type: multipart/form-data' 
  -F 'from=0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0' 
  -F 'contractName=Com2us Sample Token Contract' 
  -F 'contractDesc=Fungible Token Contract' 
  -F 'contractAbi=@erc20-capped.json;type=application/json' 
  -F 'contractBytecode=@erc20-capped.code'

ตัวอย่างการตอบกลับ

// polygon
{
  "code": 0,
  "message": "success",
  "data": {
    "resourceId": 1
  }
}
// xpla
{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f873830138810c8451f4d5c08451f4d5cf83018c0694572f47db51a98...",
    "resourceId": 1
  }
}

ข้อมูลทรัพยากรสัญญา

ส่งคืนข้อมูลของทรัพยากรสัญญาที่ลงทะเบียนแล้ว

URL การร้องขอ

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

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

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

พารามิเตอร์การค้นหา

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
resourceId รหัสทรัพยากรของสัญญา สตริง N

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ของคำขอ API, 0: สำเร็จ หมายเลข
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับ API json
data.resourceId รหัสทรัพยากรของสัญญา หมายเลข
data.network เครือข่ายบล็อกเชน สตริง
data.tenantId รหัสของผู้ที่ลงทะเบียนทรัพยากรสัญญา สตริง
data.contractName ชื่อสัญญา สตริง
data.contractDesc คำอธิบายสำหรับสัญญา สตริง
data.codeId รหัสสัญญา (เฉพาะสำหรับบล็อกเชน XPLA) สตริง
data.updatedAt วันที่ลงทะเบียนสัญญา สตริง
data.createdAt วันที่แก้ไขสัญญา สตริง

ตัวอย่างคำขอ

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/resource?resourceId=1' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb...'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": [
    {
      "resourceId": 1,
      "network": "polygon",
      "tenantId": "com.com2us.c2xwallet.global.normal",
      "contractName": "Com2us Sample Token Contract",
      "contractDesc": "Fungible Token Contract",
      "codeId": null,
      "updatedAt": "2023-07-27T18:05:25.000Z",
      "createdAt": "2023-07-27T18:05:25.000Z"
    }
  ]
}

แก้ไขทรัพยากรสัญญา

ปรับเปลี่ยนทรัพยากรสัญญาที่ลงทะเบียน ปรับเปลี่ยนคำอธิบายสัญญา (contractDesc), ไบต์โค้ด หรือ ABI/Schema

URL การร้องขอ

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

พารามิเตอร์เส้นทาง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
resourceId รหัสทรัพยากรของสัญญา สตริง ใช่

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

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

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
from ที่อยู่ของเจ้าของสัญญา สตริง ใช่
contractDesc คำอธิบายสำหรับสัญญา สตริง ไม่
codeId นี่คือรหัสโค้ดสัญญา (เฉพาะสำหรับบล็อกเชน XPLA) ซึ่งจะได้รับเมื่อคุณปรับใช้สัญญาบนบล็อกเชน XPLA สตริง ไม่
contractAbi อินเตอร์เฟซไบนารีแอปพลิเคชันที่สร้างขึ้นเมื่อสัญญาถูกคอมไพล์ ไฟล์ ไม่
contractBytecode ไบต์โค้ดที่สร้างขึ้นเมื่อสัญญาถูกคอมไพล์ ไฟล์ ไม่
Note

ส่งธุรกรรมการปรับใช้สัญญาไปยังบล็อกเชน XPLA, รับ txHash, และค้นหามันใน XPLA Explorer, จากนั้นคุณจะสามารถหาค่า codeId ได้ที่ Event Logs.

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ number
message ข้อความผลลัพธ์ String
data ข้อมูลการตอบกลับ API json
data.resourceId รหัสทรัพยากรของสัญญา number

ตัวอย่างการร้องขอ

curl -X 'PATCH' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/resource/1' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNv...' 
  -H 'Content-Type: multipart/form-data' 
  -F 'from=0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0' 
  -F 'contractDesc=Fungible Token Contract' 
  -F 'codeId=20' 

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": {
    "resourceId": 1
  }
}

ติดตั้งสัญญา

สร้างธุรกรรมที่สามารถติดตั้งสัญญาใหม่ตามทรัพยากรสัญญาที่ลงทะเบียนไว้ก่อนหน้านี้ (bytecode และ ABI/Scheme) API นี้สามารถติดตั้งสัญญาทุกประเภท (รวมถึง NFT และ FT, สัญญาเงินที่สามารถใช้ได้)

URL ที่ร้องขอ

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

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

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

พารามิเตอร์เส้นทาง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
resourceId รหัสทรัพยากรของสัญญา สตริง ใช่

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
from ที่อยู่กระเป๋าเงินที่ใช้ในการปรับใช้สัญญา string Y
message ข้อมูลการกำหนดค่าที่เริ่มต้นที่จำเป็นในการปรับใช้สัญญา json Y
encoded ว่าธุรกรรมที่ส่งกลับถูกเข้ารหัสหรือไม่
* true: รับสตริงธุรกรรมดิบที่เข้ารหัส (data.rawTx).
* false: รับ data.rawTx ที่ถอดรหัส (JSON).
boolean N

การตอบกลับ

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ของคำขอ API, 0: สำเร็จ number
message ข้อความผลลัพธ์ String
data ข้อมูลการตอบกลับ API json
data.rawTx ข้อมูลการทำธุรกรรม string หรือ json
data.instanceId ID ของสัญญาอินสแตนซ์ number

ตัวอย่างคำขอ

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/resource/2' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb...' 
  -H 'Content-Type: application/json' 
  -d '{
  "from": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
  "message": {
    "name": "testft",
    "symbol": "tft",
    "decimals": 6,
    "initialSupply": "1000000000"
  },
  "encoded": true
}'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f91c9c830138811a84513619a084513619b...",
    "instanceId": 1
  }
}

รับข้อมูลสัญญาที่ถูกนำไปใช้งาน

ส่งคืนข้อมูลสัญญาที่ถูกติดตั้งบนบล็อกเชน

URL ที่ร้องขอ

URL สด https://bc-api.qpyou.cn/core/v1/contract/instance
URL แซนด์บ็อกซ์ https://sandbox-bc-api.qpyou.cn/core/v1/contract/instance
วิธีการ HTTP GET
ประเภทเนื้อหา application/json

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

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

พารามิเตอร์การค้นหา

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
instanceId รหัสตัวอย่างของสัญญา string N

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ของคำขอ API, 0: สำเร็จ หมายเลข
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับของ API อาร์เรย์
data.resourceId รหัสทรัพยากรของสัญญา หมายเลข
data.instanceId รหัสอินสแตนซ์ของสัญญา หมายเลข
data.contractAddress ที่อยู่ของสัญญา สตริง
data.initMsg ข้อมูลการกำหนดค่าตั้งต้นเมื่อปรับใช้สัญญา json
data.createdAt วันที่เมื่อสัญญาถูกบันทึกในบล็อกเชน สตริง
data.network ข้อมูลเครือข่ายบล็อกเชน สตริง
data.tenantId รหัสของผู้ปรับใช้สัญญา สตริง

ตัวอย่างคำขอ

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/instance?instanceId=1' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20yd...'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": [
    {
      "resourceId": 2,
      "instanceId": 1,
      "contractAddress": null,
      "initMsg": {
        "name": "testft",
        "symbol": "tft",
        "decimals": 6,
        "initialSupply": "1000000000"
      },
      "createdAt": "2023-07-28T17:35:22.000Z",
      "network": "polygon",
      "tenantId": "com.com2us.c2xwallet.global.normal"
    }
  ]
}

แก้ไขที่อยู่ของอินสแตนซ์สัญญา

อัปเดตที่อยู่สัญญาที่ปรับใช้ด้วยรหัสตัวอย่างของสัญญา (instanceId).

URL การร้องขอ

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

พารามิเตอร์เส้นทาง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
instanceId รหัสตัวอย่างของสัญญา string Y

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

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

พารามิเตอร์การค้นหา

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
contractAddress ที่อยู่ของสัญญา สตริง ใช่

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ หมายเลข
message ข้อความผลลัพธ์ สตริง

ตัวอย่างคำขอ

curl -X 'PATCH' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/instance/1?contractAddress=0x78ce8698bd69fc96d425a82ae6813f553a673e63' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success"
}

รายการวิธีการสัญญาถาม

ส่งคืนรายการของวิธีการสัญญาตามรหัสทรัพยากรสัญญา (resourceId).

URL ขอ

URL สด https://bc-api.qpyou.cn/core/v1/contract/resource/{resourceId}/methods
URL แซนด์บ็อกซ์ https://sandbox-bc-api.qpyou.cn/core/v1/contract/resource/{resourceId}/methods
วิธีการ HTTP GET
ประเภทเนื้อหา application/json

พารามิเตอร์เส้นทาง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
resourceId รหัสทรัพยากรของสัญญา สตริง ใช่

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

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

การตอบกลับ

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ หมายเลข
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับ API อาร์เรย์
data.methodName ชื่อวิธีการของสัญญา สตริง
data.type ประเภทของวิธีการในสัญญา
* execute: แทรกข้อมูลลงในสัญญาหรือแก้ไขข้อมูลที่มีอยู่ในสัญญา
* query: รับข้อมูลสัญญา
สตริง

ตัวอย่างคำขอ

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/resource/1/methods' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20yd...'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": [
    {
      "methodName": "allowance",
      "type": "query"
    },
    {
      "methodName": "totalSupply",
      "type": "query"
    },
    ...
  ]
}

รับข้อมูลวิธีการสัญญา

ส่งคืนลายเซ็นของฟังก์ชันที่จำเป็นในการเรียกใช้วิธีการของสัญญากับรหัสทรัพยากรของสัญญา (resourceId) และชื่อวิธีการ (method).

URL ที่ร้องขอ

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

พารามิเตอร์เส้นทาง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
resourceId รหัสทรัพยากรของสัญญา สตริง ใช่
method ชื่อวิธีการของสัญญา สตริง ใช่

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

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

การตอบกลับ

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ของคำขอ API, 0: สำเร็จ number
message ข้อความผลลัพธ์ String
data นี่คือข้อมูลที่จำเป็นในการดำเนินการวิธีการของสัญญา (ชื่อวิธีการและพารามิเตอร์นำเข้าของวิธีการ) json

ตัวอย่างคำขอ

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/resource/2/method/balanceOf' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb20...'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": {
    "balanceOf": {
      "account": "address"
    }
  }
}

ดำเนินการตามวิธีการสัญญา

ดำเนินการตามวิธีการของสัญญาด้วยชื่อวิธีการและพารามิเตอร์นำเข้า (message) ของวิธีการ

URL ที่ร้องขอ

URL สด https://bc-api.qpyou.cn/core/v1/contract/instance/{instanceId}/query
URL แซนด์บ็อกซ์ https://sandbox-bc-api.qpyou.cn/core/v1/contract/instance/{instanceId}/query
วิธีการ HTTP POST
ประเภทเนื้อหา application/json

พารามิเตอร์เส้นทาง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
instanceId รหัสตัวอย่างของสัญญา สตริง ใช่

พารามิเตอร์ส่วนหัว

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

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
from ที่อยู่กระเป๋าเงินที่ขอให้ดำเนินการตามวิธีการของสัญญา สตริง ใช่
message ชื่อวิธีการของสัญญาและพารามิเตอร์นำเข้าของวิธีการ สตริง ใช่
encoded ว่าการทำธุรกรรมที่ส่งคืนถูกเข้ารหัสหรือไม่
* true: รับสตริงธุรกรรมดิบที่เข้ารหัส (data.rawTx).
* false: รับ data.rawTx ที่ถอดรหัส (JSON).
บูลีน ไม่

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์การร้องขอ api, 0: สำเร็จ number
message ข้อความผลลัพธ์ String
data ค่าที่ส่งกลับหลังจากเรียกใช้วิธีการของสัญญา json

ตัวอย่างคำขอ

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/contract/instance/1/query' 
  -H 'accept: */*' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb2...' 
  -H 'Content-Type: application/json' 
  -d '{
  "from": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
  "message": {
    "balanceOf": {
      "account": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0"
    }
  },
  "encoded": true
}'

โดยทั่วไปแล้ว วิธีการของสัญญาจะถูกแบ่งออกเป็น 2 ประเภท: ประเภทการสอบถามและประเภทการดำเนินการ วิธีการประเภทการสอบถามเพียงแค่สอบถามข้อมูล และวิธีการประเภทการดำเนินการจะเขียนข้อมูลใหม่ในสัญญาหรือแก้ไขข้อมูลที่มีอยู่ในสัญญา ประเภทการดำเนินการจะคืนค่าธุรกรรมดิบเสมอ ไม่เหมือนกับประเภทการสอบถาม

ตัวอย่างการตอบกลับ: ประเภทการค้นหา

{
  "code": 0,
  "message": "success",
  "data": "1000000000"
}

ตัวอย่างการตอบกลับ: ประเภทการดำเนินการ (encoded เป็น true)

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7...",
  }
}

ตัวอย่างการตอบกลับ: ประเภทการดำเนินการ (encoded เป็น false)

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": {
      "from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
      "to": "0x94853BdC9c6AdD50D7842D1A3117fab385457470",
      "data": "0xa9059cbb000000000000000000000000fbd488d1b00604d3b05124d80e35fea...",
      "nonce": 224,
      "chainId": 80001,
      "gas": 52676,
      "maxFeePerGas": 1575000048,
      "maxPriorityFeePerGas": 1575000000
    }
  }
}