API ส่วนขยาย
API ส่วนขยายให้ฟังก์ชันที่ API มาตรฐาน (ERC-721) ไม่สามารถให้ได้
รับข้อมูลค่าลิขสิทธิ์ NFT
รับค่าลิขสิทธิ์และที่อยู่ที่ได้รับค่าลิขสิทธิ์นี้ผ่านทาง ID โทเคน (tokenId) และการขาย NFT (salePrice) ค่าลิขสิทธิ์สามารถตั้งค่าได้เมื่อสร้าง NFT โดยใช้สัญญาที่ใช้มาตรฐาน ERC-2981/CW-2981
URL ที่ร้องขอ
พารามิเตอร์เส้นทาง
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
| contract | ที่อยู่ของสัญญา NFT | สตริง | ใช่ |
| tokenId | รหัส NFT | สตริง | ใช่ |
พารามิเตอร์หัวเรื่อง
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
| Authorization | โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API | string | Y |
| x-network | เครือข่ายบล็อกเชน | string | Y |
พารามิเตอร์การค้นหา
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
| salePrice | จำนวนเงินจากการขาย NFT | string | Y |
การตอบกลับ
| ชื่อฟิลด์ | คำอธิบาย | ประเภท |
| code | รหัสผลลัพธ์ของคำขอ API, 0: สำเร็จ | number |
| message | ข้อความผลลัพธ์ | String |
| data | ข้อมูลการตอบกลับ API | json |
| data.receiver | ที่อยู่กระเป๋าเงินที่รับค่าลิขสิทธิ์ | string |
| data.amount | จำนวนค่าลิขสิทธิ์ | string |
ตัวอย่างการร้องขอ
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/royalty/1?salePrice=0.5'
-H 'accept: application/json'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb...'
-H 'x-network: polygon'
ตัวอย่างการตอบกลับ
{
"code": 0,
"message": "success",
"data": {
"receiver": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
"amount": "0.0375"
}
}
มิ้นท์ NFT
สร้างธุรกรรมที่สร้างโทเค็นไปยังที่อยู่เฉพาะ (to) คุณสามารถเรียกใช้ API นี้โดยการโหลดข้อมูล NFT ที่จำเป็น (mintMsg.tokenId, mintMsg.metadata เป็นต้น) ลงในอาร์เรย์ และ API นี้จะอัปโหลดข้อมูล NFT ไปยัง IPFS (InterPlanetary File System) และสร้าง NFT API นี้ขยายฟีเจอร์ของ NFT API สามารถสร้างโทเค็นสูงสุด 200 โทเค็นในเวลาเดียวกันและตั้งค่าค่าลิขสิทธิ์ from ต้องเป็นบัญชีที่มีสิทธิ์ในการสร้าง
Note
- สินทรัพย์ดิจิทัลและข้อมูลเมตาของมัน (
mintMsg.metadata) ที่สร้างขึ้นผ่าน API จะถูกลงทะเบียนที่ IPFS สาธารณะ (InterPlanetary File System)。 - Mint NFT API ของ Extension API สามารถสร้าง NFT ให้กับหลายบัญชีพร้อมกันได้ หากคุณสร้าง NFT 1 ชิ้นให้กับ 1 บัญชีแต่ละบัญชี คุณสามารถสร้าง NFT ได้สูงสุด 200 บัญชีสำหรับ XPLA และ 50 บัญชีสำหรับ Polygon หากคุณสร้าง NFT ให้กับ 50 บัญชี คุณสามารถสร้าง NFT ได้ 4 ชิ้นต่อบัญชีสำหรับ XPLA และ 1 ชิ้นต่อบัญชีสำหรับ Polygon。
URL การร้องขอ
พารามิเตอร์เส้นทาง
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
| สัญญา | ที่อยู่สัญญา NFT | สตริง | ใช่ |
พารามิเตอร์หัวเรื่อง
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
| Authorization | โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API | string | Y |
| x-network | เครือข่ายบล็อกเชน | string | Y |
เนื้อหาคำขอ
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
| from | ที่อยู่บัญชีที่สร้าง NFT | สตริง | ใช่ |
| mintMsg | นี่คือข้อมูลที่จำเป็นสำหรับการสร้าง NFT มันอยู่ในรูปแบบอาร์เรย์ JSON ดังนั้นคุณสามารถสร้าง NFT ให้กับหลายบัญชีได้ | อาร์เรย์ | ใช่ |
| mintMsg.to | ที่อยู่กระเป๋าเงินที่รับ NFT | สตริง | ใช่ |
| mintMsg.tokenId | นี่คือ ID ของ NFT ID ของ NFT ควรมีเอกลักษณ์ และถูกกำหนดโดยผู้สร้าง NFT - Polygon: อนุญาตเฉพาะสตริงและจำนวนเต็ม (0~2256-1)
- XPLA: อนุญาตเฉพาะสตริง
| สตริง | ใช่ |
| mintMsg.royaltyPercentage | นี่คือเปอร์เซ็นต์ค่าลิขสิทธิ์ มันคือเงินที่มอบให้กับผู้สร้าง NFT หรือผู้เรียกร้องทุกครั้งที่ NFT ถูกขายหรือขายต่อ อัตราค่าลิขสิทธิ์จะถูกนำไปใช้กับจำนวนเงินรวมของการขาย ฟีเจอร์นี้ได้รับการสนับสนุนสำหรับตลาด NFT ที่ต้องการสนับสนุนศิลปินและผู้สร้าง NFT อย่างต่อเนื่อง ตลาดจะตรวจสอบค่าลิขสิทธิ์ NFT และจ่ายให้กับผู้รับ ค่าลิขสิทธิ์จะไม่ถูกจ่ายโดยตรงให้กับผู้รับเมื่อ NFT ถูกขาย (โอน) ฟีเจอร์นี้ถูกนำไปใช้สำหรับ OpenSea
- Polygon: อนุญาตให้มี 2 ตำแหน่งทศนิยม
- XPLA: อนุญาตเฉพาะจำนวนเต็ม
| หมายเลข | ไม่ใช่ |
| mintMsg.metadata | เมตาดาต้า - คุณต้องตรวจสอบประเภทและรูปแบบ url (
animationUrl, youtubeUrl, externalUrl) หากข้อมูลนี้ไม่ถูกต้อง การร้องขอ API อาจล้มเหลว
- เมตาดาต้าจะถูกบันทึกในรูปแบบ snake case เพื่อใช้สำหรับ OpenSea เมื่อมันถูกบันทึกใน IPFS (ตัวอย่าง:
animationUrl → animation_url)
| json | ใช่ |
| mintMsg.metadata.name | ชื่อ NFT | สตริง | ใช่ |
| mintMsg.metadata.description | คำอธิบาย NFT | สตริง | ไม่ใช่ |
| mintMsg.metadata.image | นี่คือที่อยู่ของภาพ NFT นี่คือที่อยู่เว็บไซต์สาธารณะหรือที่อยู่ IPFS สาธารณะสำหรับการอัปโหลดภาพไปยัง IPFS | สตริง | ใช่ |
| mintMsg.metadata.animationUrl | ที่อยู่สำหรับอนิเมชัน NFT | สตริง | ไม่ใช่ |
| mintMsg.metadata.youtubeUrl | ที่อยู่ Youtube | สตริง | ไม่ใช่ |
| mintMsg.metadata.imageData | ข้อมูลภาพ NFT | สตริง | ไม่ใช่ |
| mintMsg.metadata.externalUrl | ที่อยู่ url ภายนอก | สตริง | ไม่ใช่ |
| mintMsg.metadata.backgroundColor | ข้อมูลสีพื้นหลังของโทเคน (OpenSea) | สตริง | ไม่ใช่ |
| mintMsg.metadata.attributes | นี่คือข้อมูลของคุณลักษณะเมตาดาต้า ข้อมูลเหล่านี้ประกอบด้วย ข้อมูลเพิ่มเติม ที่ไม่ได้อธิบายไว้ในเมตาดาต้า | json | ไม่ใช่ |
| mintMsg.metadata.attributes.traitType | ชื่อของรายการที่ประกอบเป็นคุณลักษณะ | สตริง | ไม่ใช่ |
| mintMsg.metadata.attributes.maxValue | ค่าสูงสุดของคุณลักษณะ | หมายเลข | ไม่ใช่ |
| mintMsg.metadata.attributes.value | นี่คือค่าของคุณลักษณะ ควรน้อยกว่า mintMsg.metadata.attributes.maxValue หาก mintMsg.metadata.attributes.displayType เป็นวันที่ ให้ตั้งค่านี้ตามรูปแบบ timestamp unix (วินาที) | สตริงหรือหมายเลข | ไม่ใช่ |
| mintMsg.metadata.attributes.displayType | นี่คือประเภทการแสดงผลของคุณลักษณะ ค่าเริ่มต้นคือสตริง - หมายเลข: ประเภทเชิงตัวเลข
- boost_percentage: เปอร์เซ็นต์ (OpenSea Boosts)
- boost_number: เชิงตัวเลข (OpenSea Boosts)
- วันที่: ประเภทวันที่ (ตัวอย่าง: วันอังคารที่ 1 มกราคม 2019)
| สตริง | ไม่ใช่ |
| encoded | ว่าการทำธุรกรรมที่ส่งคืนถูกเข้ารหัสหรือไม่
-
true: รับสตริงธุรกรรมดิบที่เข้ารหัส (data.rawTx)
-
false: รับ data.rawTx ที่ถูกถอดรหัส (JSON)
| บูลีน | ไม่ใช่ |
การตอบสนอง
| ชื่อฟิลด์ | คำอธิบาย | ประเภท |
| code | รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ | number |
| message | ข้อความผลลัพธ์ | String |
| data | ข้อมูลการตอบกลับ API | json |
| data.rawTx | ข้อมูลการทำธุรกรรม | string หรือ json |
| data.hashedTx | นี่คือ data.rawTx ที่ถูกแฮช ค่านี้จะถูกส่งกลับเมื่อ API header x-network เป็น "polygon" และ Request Body from เป็นที่อยู่กระเป๋าเงินหลายลายเซ็น | string |
| data.requestId | ค่าที่ไม่ซ้ำกันซึ่งสามารถระบุการร้องขอ API แต่ละรายการ | string |
ตัวอย่างคำขอ
curl -X 'POST'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/mint'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb...'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Content-Type: application/json'
-d '{
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"mintMsg": [
{
"to": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"tokenId": "101",
"metadata": {
"name": "Arbiter'''s Robe",
"description": "desc",
"image": "https://image01.c2x.world/equip_92053030.gif",
"animationUrl": "https://image01.c2x.world/equip_92053030.gif",
"externalUrl": "https://dex.c2xnft.com/market?key=4423",
"attributes": [
{
"traitType": "Category",
"value": "Game",
}
]
},
"royaltyPercentage": 12
}
],
"encoded": true
}'
ตัวอย่างการตอบกลับ
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8f3830138810b8459682f008459682f1083023...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "6fb62650-d52e-4bec-bb91-dd081813d7f1"
}
}
เปิดใช้งานสัญญา NFT
สร้างธุรกรรมที่ปรับใช้สัญญา NFT สัญญาที่ปรับใช้รองรับมาตรฐาน ERC-721/CW-721 และฟีเจอร์เสริม
- การสร้างเหรียญจำนวนมาก
- ค่าลิขสิทธิ์ (ERC-2981/CW-2981)
URL ที่ร้องขอ
พารามิเตอร์หัวเรื่อง
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
| Authorization | โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API | สตริง | ใช่ |
| x-network | เครือข่ายบล็อกเชน | สตริง | ใช่ |
เนื้อหาคำขอ
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
| from | ที่อยู่กระเป๋าเงินที่ใช้ในการปรับใช้สัญญา | string | Y |
| name | ชื่อสัญญา NFT | string | Y |
| symbol | สัญลักษณ์ของสัญญา NFT | string | Y |
| minter | ที่อยู่กระเป๋าเงินของบัญชีที่สามารถสร้าง NFT ที่สัญญา NFT นี้ | string | Y |
| encoded | ว่าการทำธุรกรรมที่ส่งกลับถูกเข้ารหัสหรือไม่
-
true: รับสตริงธุรกรรมดิบที่เข้ารหัส (data.rawTx).
false: รับ data.rawTx ที่ถูกถอดรหัส (JSON).
| boolean | N |
การตอบสนอง
| ชื่อฟิลด์ | คำอธิบาย | ประเภท |
| code | รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ | หมายเลข |
| message | ข้อความผลลัพธ์ | สตริง |
| data | ข้อมูลการตอบกลับ API | json |
| data.rawTx | ข้อมูลธุรกรรม | สตริงหรือ json |
| data.hashedTx | นี่คือ data.rawTx ที่ถูกแฮช ค่านี้จะถูกส่งกลับเมื่อส่วนหัว API x-network เป็น "polygon" และเนื้อหาการร้องขอ from เป็นที่อยู่กระเป๋าเงินหลายลายเซ็น | สตริง |
| data.requestId | ค่าที่ไม่ซ้ำกันซึ่งสามารถระบุการร้องขอ API แต่ละรายการ | สตริง |
ตัวอย่างคำขอ
curl -X 'POST'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/contract'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb...'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"name": "Extension NFT",
"symbol": "ENFT",
"minter": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
}'
ตัวอย่างการตอบกลับ
{
"code": 0,
"message": "success",
"data": {
rawTx: "02f8f3830138810b8459682f008459682f108302...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "6fu656d0-t52q-2bdc-ba93-dd063815s7e1"
}
}