跳转至

人员 API

锁定 API 提供锁定 NFT 以防止交易或释放它们以便再次交易。

部署锁定合约

创建一个部署锁定合约的交易。锁定合约提供将NFT锁定在钱包中,防止与其他账户交易或释放它们以便再次交易。

请求 URL

直播网址 https://bc-api.qpyou.cn/core/v1/lock/contract
沙盒网址 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: 成功 number
message 结果消息 String
data API 响应数据 json
data.rawTx 交易数据 string 或 json
data.hashedTx 这是哈希的 data.rawTx。当 API 头部 x-network 为 "polygon" 且请求体 from 是一个多签钱包地址时,此值才会返回。 string
data.requestId 可识别每个 API 请求的唯一值 string

请求示例

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

直播网址 https://bc-api.qpyou.cn/core/v1/nft/contract/{contract}/lock
沙盒网址 https://sandbox-bc-api.qpyou.cn/core/v1/nft/contract/{contract}/lock
HTTP 方法 POST
内容类型 application/json

路径参数

字段名称 描述 类型 必需
contract NFT 合约地址 字符串 Y

头部参数

字段名称 描述 类型 必需
x-network 区块链网络 字符串
Authorization 调用 API 所需的身份验证令牌 字符串

请求体

字段名称 描述 类型 必需
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

直播 URL https://bc-api.qpyou.cn/core/v1/lock/contract/{contract}/unlock
沙盒 URL https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/{contract}/unlock
HTTP 方法 POST
内容类型 application/json

路径参数

字段名称 描述 类型 必需
contract NFT锁定合约的地址 字符串 Y

头部参数

字段名称 描述 类型 必需
x-network 区块链网络 字符串
Authorization 调用API所需的认证令牌 字符串

请求体

字段名称 描述 类型 必填
nftContract NFT 合约地址 字符串
from 部署锁定合约的账户(锁定合约的所有者)的钱包地址 字符串
tokenId NFT ID 字符串
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 头部 x-network 为 "polygon" 且请求体 from 是多重签名钱包地址时,仅返回此值。 string
data.requestId 可识别每个 API 请求的唯一值 string

请求示例

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 合约地址 字符串

响应

字段名称 描述 类型
code api请求结果代码,0:成功 number
message 结果消息 String
data API响应数据 json
data.owner NFT所有者的地址 string

请求示例

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