跳轉至

鎖 API

鎖定 API 提供鎖定 NFT 以防止交易或重新釋放它們以便再次交易。

部署鎖定合約

創建一個部署鎖定合約的交易。鎖定合約提供將NFT鎖定在錢包中,防止其與其他帳戶進行交易或重新釋放以便再次交易。

請求 URL

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

標頭參數

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

請求主體

欄位名稱 描述 類型 必填
name 鎖定合約名稱 字串
from 部署鎖定合約的錢包地址 字串
executer 這是可以解鎖鎖定 NFT 的錢包地址。預設值為 from 地址。 字串
encoded 返回的交易是否編碼 true: 接收編碼的原始交易字串 (data.rawTx)。 false: 接收解碼的 data.rawTx (JSON)。 布林值

回應

欄位名稱 描述 類型
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/lock/contract' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...' 
  -H 'Content-Type: application/json' 
  -d '{
  "encoded": true,
  "name": "lock_test",
  "from": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39"
}'

回應範例

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
  }
}

鎖定 NFT

創建一個交易,NFT 擁有者帳戶(from)將 NFT(tokenId)發送到鎖定合約。一旦 NFT 被發送到鎖定合約,該 NFT 的所有權將轉移到鎖定合約,之前的擁有者將無法再將此 NFT 發送到其他帳戶。

請求 URL

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

路徑參數

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

標頭參數

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

請求主體

欄位名稱 描述 類型 必填
from NFT 擁有者的錢包地址 字串
lockContract NFT 鎖定合約的地址 字串
tokenId NFT ID 字串
encoded 返回的交易是否被編碼 true: 接收編碼的原始交易字串 (data.rawTx). false: 接收解碼的 data.rawTx (JSON). 布林值

回應

欄位名稱 描述 類型
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/contract/0x777358b228a4720ffa088516294b324f8d24639c/lock' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...' 
  -H 'Content-Type: application/json' 
  -d '{
  "from": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
  "lockContract": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
  "tokenId": "1",
  "encoded": true
}'

回應範例

// When the encoded is set to true 
{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f8d3830138810b8458e948068458e948168302e71494ebd9144485089ebe248f8490...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "5743f0aa-0323-47fc-a3da-173eee27bbe4"
  }
}
// When the encoded is set to false
{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": {
      "from": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
      "to": "0xebd9144485089ebe248f8490984a60579407c262",
      "data": "0xb88d4fde000000000000000000000000dcd51770d06b54204abd8c30a25b4583d4cab...",
      "nonce": 11,
      "chainId": 80001,
      "gas": 190228,
      "maxFeePerGas": 1491259270,
      "maxPriorityFeePerGas": 1491259255
    },
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "dd33ddd8-31fa-4491-9c3c-2f912f7059bc"
  }
}

解鎖 NFT

創建一個交易,鎖定合約將 NFT (tokenId) 發送回 NFT 擁有者帳戶。一旦 NFT 被發送回 NFT 擁有者帳戶,該帳戶可以恢復交易這個 NFT。

請求 URL

實時網址 https://bc-api.qpyou.cn/core/v1/lock/contract/{contract}/unlock
沙盒網址 https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/{contract}/unlock
HTTP 方法 POST
內容類型 application/json

路徑參數

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

標頭參數

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

請求主體

欄位名稱 描述 類型 必填
nftContract NFT 合約地址 字串
from 部署鎖定合約的帳戶(鎖定合約的擁有者)的錢包地址 字串
tokenId NFT ID 字串
encoded 返回的交易是否編碼 true: 接收編碼的原始交易字串(data.rawTx)。 false: 接收解碼的 data.rawTx(JSON)。 布林值

回應

欄位名稱 描述 類型
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/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/unlock' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...' 
  -H 'Content-Type: application/json' 
  -d '{
  "nftContract": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
  "from": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
  "tokenId": "1",
  "encoded": true
}'

回應範例

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f873830138810c8451f4d5c08451f4d5cf83018c0694572f47db51a98...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "0e40db96-8964-410f-81e2-a968269872d4"
  }
}

獲取鎖定 NFT 的擁有者資訊

返回擁有鎖定 NFT (tokenId) 的帳戶資訊。

請求 URL

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

路徑參數

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

標頭參數

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

查詢參數

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

回應

欄位名稱 描述 類型
code API 請求結果代碼,0:成功 數字
message 結果消息 字串
data API 回應數據 json
data.owner NFT 擁有者的地址 字串

請求範例

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/token/1/account?nftContract=0x777358b228a4720ffa088516294b324f8d24639c' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'

回應範例

{
  "code": 0,
  "message": "success",
  "data": {
    "owner": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463"
  }
}

獲取鎖定的 NFT 資訊

獲取位於鎖定合約(contract)的擁有者(owner)鎖定NFT的信息。

請求 URL

實時 URL https://bc-api.qpyou.cn/core/v1/lock/contract/{contract}/account/{owner}/tokens
沙盒 URL https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/{contract}/account/{owner}/tokens
HTTP 方法 GET
內容類型 application/json

路徑參數

欄位名稱 描述 類型 必需
contract NFT 鎖定合約的地址 字串
owner NFT 擁有者的地址 字串

標頭參數

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

回應

欄位名稱 描述 類型
code API 請求結果代碼,0:成功 數字
message 結果消息 字串
data API 回應數據 json
data.tokens 被鎖定的 NFT 列表 陣列
data.tokens.owner NFT 擁有者的錢包地址 字串
data.tokens.nftAddress NFT 合約地址 字串
data.tokens.tokenId NFT ID 字串

請求範例

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/account/0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765/tokens' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'

回應範例

{
  "code": 0,
  "message": "success",
  "data": {
    "tokens": [
      {
        "owner": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
        "nftAddress": "0xeBd9144485089EbE248f8490984A60579407c262",
        "tokenId": "2"
      }
    ]
  }
}