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"
}
}