跳轉至

擴展 API

擴展 API 提供標準 (ERC-721) API 不提供的功能。

獲取 NFT 版稅資訊

透過代幣 ID (tokenId) 和 NFT 銷售 (salePrice) 獲取版稅及接收該版稅的地址。版稅可以在鑄造 NFT 時設置,合約實現了 ERC-2981/CW-2981 接口。

請求網址

實時 URL https://bc-api.qpyou.cn/core/v1/nft/extension/{contract}/royalty/{tokenId}
沙盒 URL https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/{contract}/royalty/{tokenId}
HTTP 方法 GET
內容類型 application/json

路徑參數

欄位名稱 描述 類型 必填
contract NFT 合約地址 字串 Y
tokenId NFT ID 字串 Y

標頭參數

欄位名稱 描述 類型 必需
Authorization 認證令牌,呼叫 API 所需 字串 Y
x-network 區塊鏈網絡 字串 Y

查詢參數

欄位名稱 描述 類型 必需
salePrice NFT 銷售的金額 字串 Y

回應

欄位名稱 描述 類型
code api 請求結果代碼,0: 成功 數字
message 結果消息 字串
data API 回應數據 json
data.receiver 接收版稅的錢包地址 字串
data.amount 版稅金額 字串

請求範例

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.tokenIdmintMsg.metadata 等)加載到數組中,然後此 API 將把 NFT 信息上傳到 IPFS(星際文件系統)並鑄造 NFT。此 API 擴展了 NFT API 的功能,能夠同時鑄造最多 200 個代幣並設置版稅。from 必須是擁有鑄造權限的帳戶。

Note
  • 透過 API 創建的數字資產及其元數據 (mintMsg.metadata) 將在公共 IPFS(星際文件系統)上註冊。
  • 擴展 API 的 Mint NFT API 可以一次性為多個賬戶鑄造 NFT。如果您為每個賬戶鑄造 1 個 NFT,則最多可以為 XPLA 鑄造 200 個賬戶,為 Polygon 鑄造 50 個賬戶。如果您為 50 個賬戶鑄造 NFT,則可以為 XPLA 每個賬戶鑄造 4 個 NFT,為 Polygon 每個賬戶鑄造 1 個 NFT。

請求 URL

實時 URL https://bc-api.qpyou.cn/core/v1/nft/extension/{contract}/mint
沙盒 URL https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/{contract}/mint
HTTP 方法 POST
內容類型 application/json

路徑參數

欄位名稱 描述 類型 必需
contract NFT 合約地址 字串 Y

標頭參數

欄位名稱 描述 類型 必填
授權 認證令牌,需用於調用API 字串
x-network 區塊鏈網絡 字串

請求主體

欄位名稱 描述 類型 必要
from 鑄造 NFT 的帳戶地址 字串 Y
mintMsg 這是鑄造所需的信息。它是 JSON 陣列格式,因此您可以將 NFT 鑄造到多個帳戶。 陣列 Y
mintMsg.to 接收 NFT 的錢包地址 字串 Y
mintMsg.tokenId 這是 NFT ID。NFT ID 應該是唯一的,並由 NFT 鑄造者定義。
  • Polygon: 只允許字串和整數 (0~2256-1)。
  • XPLA: 只允許字串。
字串 Y
mintMsg.royaltyPercentage 這是版稅百分比。每次 NFT 被出售或轉售時,這是給予 NFT 創作者或索賠者的金錢。版稅率適用於銷售的總金額。此功能支持願意持續資助藝術家和 NFT 創作者的 NFT 市場。市場檢查 NFT 版稅並將其支付給接收者。當 NFT 被出售(轉讓)時,版稅不會直接支付給接收者。此功能已被 OpenSea 採用。
  • Polygon: 允許到小數點後 2 位。
  • XPLA: 只允許整數。
數字 N
mintMsg.metadata 元數據
  • 您需要檢查類型和 URL (animationUrl, youtubeUrl, externalUrl) 格式。如果這些數據不正確,API 請求可能會失敗。
  • 元數據將以蛇形命名法保存,以便在 IPFS 中保存時用於 OpenSea(例如: animationUrlanimation_url
json Y
mintMsg.metadata.name NFT 名稱 字串 Y
mintMsg.metadata.description NFT 描述 字串 N
mintMsg.metadata.image 這是 NFT 圖像地址。這是公共網站地址或上傳圖像到 IPFS 的公共 IPFS 地址。 字串 Y
mintMsg.metadata.animationUrl NFT 動畫的地址 字串 N
mintMsg.metadata.youtubeUrl Youtube 地址 字串 N
mintMsg.metadata.imageData NFT 圖像信息 字串 N
mintMsg.metadata.externalUrl 外部 URL 字串 N
mintMsg.metadata.backgroundColor 代幣的背景顏色信息 (OpenSea) 字串 N
mintMsg.metadata.attributes 這些是元數據屬性的資訊。這些包含額外信息,這些信息未在元數據中描述。 json N
mintMsg.metadata.attributes.traitType 構成屬性的項目名稱 字串 N
mintMsg.metadata.attributes.maxValue 屬性的最大值 數字 N
mintMsg.metadata.attributes.value 這是屬性值。它應該小於 mintMsg.metadata.attributes.maxValue。如果 mintMsg.metadata.attributes.displayType 是日期,則將此值設置為 unix 時間戳(秒)格式。 字串或數字 N
mintMsg.metadata.attributes.displayType 這是屬性的顯示類型。默認值為字串。
  • 數字: 數字類型
  • boost_percentage: 百分比 (OpenSea Boosts)
  • boost_number: 數字 (OpenSea Boosts)
  • 日期: 日期類型(例如: 2019 年 1 月 1 日,星期二)
字串 N
encoded 返回的交易是否編碼
  • true: 接收編碼的原始交易字串 (data.rawTx)。
  • false: 接收解碼的 data.rawTx (JSON)。
布林值 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/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

直播網址 https://bc-api.qpyou.cn/core/v1/nft/extension/contract
沙盒網址 https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/contract
HTTP 方法 POST
內容類型 application/json

標頭參數

欄位名稱 描述 類型 必需
授權 認證令牌,呼叫 API 所需 字串 Y
x-network 區塊鏈網絡 字串 Y

請求主體

欄位名稱 描述 類型 是否必填
from 部署合約的錢包地址 字串 Y
name NFT 合約名稱 字串 Y
symbol NFT 合約符號 字串 Y
minter 可以在此 NFT 合約中鑄造 NFT 的帳戶的錢包地址 字串 Y
encoded 返回的交易是否編碼
  • true: 接收編碼的原始交易字串 (data.rawTx).
  • false: 接收解碼的 data.rawTx (JSON).
布林值 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"
  }
}