鎖 API
鎖定 API 提供鎖定 NFT 以防止交易或重新釋放它們以便再次交易。
部署鎖定合約
創建一個部署鎖定合約的交易。鎖定合約提供將NFT鎖定在錢包中,防止其與其他帳戶進行交易或重新釋放以便再次交易。
請求 URL
標頭參數
| 欄位名稱 | 描述 | 類型 | 必填 |
| 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
路徑參數
| 欄位名稱 | 描述 | 類型 | 必填 |
| 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
路徑參數
| 欄位名稱 | 描述 | 類型 | 必需 |
| 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
路徑參數
| 欄位名稱 | 描述 | 類型 | 必填 |
| 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
路徑參數
| 欄位名稱 | 描述 | 類型 | 必需 |
| 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"
}
]
}
}