API สัญญา
 API สัญญามีฟีเจอร์ดังต่อไปนี้
  - ลงทะเบียน, ค้นหา, และแก้ไขทรัพยากรสัญญา
- เปิดใช้งาน, ค้นหา, แก้ไขสัญญาและดำเนินการวิธีการสัญญา
ข้อกำหนดเบื้องต้น: รับโทเค็นการตรวจสอบสิทธิ์ API
 ในการเรียกใช้ Contract API คุณต้องเพิ่มโทเค็นการตรวจสอบสิทธิ์ไปยังส่วนหัวของ API นี่คือวิธีการรับโทเค็นการตรวจสอบสิทธิ์ API ของคุณ
  - ลงทะเบียนที่ Hive Console ไปที่ AppCenter > รายชื่อเกม > ลงทะเบียนเกมใหม่
- สร้าง AppID ใหม่ที่ AppCenter > รายชื่อ AppID > ลงทะเบียน AppID ใหม่ - ลงทะเบียน AppID ใหม่: Web Login AppID
- วัตถุประสงค์การใช้งาน: Blockchain
- AppID ที่จะใช้: เลือก “AppID ที่สร้างขึ้นโดยอัตโนมัติ” หรือ “AppID ที่สร้างขึ้นโดยอัตโนมัติ” พร้อม “ข้อมูลเพิ่มเติม”
 
- ไปที่ Hive Console > Blockchain > ค้นหาคีย์การพิสูจน์ตัวตน API เลือกและค้นหาชื่อเกม และรับ ID และ Secret key
- แทรก ID และ Secret key ในเนื้อหาการร้องขอของ auth-token API และเรียกใช้ API นี้
- คุณสามารถรับคีย์การพิสูจน์ตัวตน API ของคุณได้ที่ data.accessTokenในการตอบกลับ API
ลงทะเบียนทรัพยากรสัญญา
 ลงทะเบียนทรัพยากรของสัญญา ลงทะเบียนชื่อสัญญา (contractName), คำอธิบายสัญญา (contractDesc), และ bytecode และ ABI/Scheme ที่สร้างขึ้นหลังจากที่สัญญาถูกคอมไพล์
  Note
  - ทรัพยากรของสัญญาไม่ได้ถูกบันทึกไว้บนบล็อกเชน
- สัญญาต้องเขียนด้วย Solidity หรือ Rust.
  URL การร้องขอ
  พารามิเตอร์หัว
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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 การร้องขอ
  พารามิเตอร์หัวเรื่อง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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 การร้องขอ
  พารามิเตอร์เส้นทาง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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 ที่ร้องขอ
  พารามิเตอร์หัวเรื่อง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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 ที่ร้องขอ
  พารามิเตอร์หัวเรื่อง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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 การร้องขอ
  พารามิเตอร์เส้นทาง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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 ขอ
  พารามิเตอร์เส้นทาง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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 ที่ร้องขอ
  พารามิเตอร์เส้นทาง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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 ที่ร้องขอ
  พารามิเตอร์เส้นทาง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | 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
    }
  }
}