人员 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: 成功 | 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
路径参数
| 字段名称 | 描述 | 类型 | 必需 |
| 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
路径参数
| 字段名称 | 描述 | 类型 | 必需 |
| 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
路径参数
| 字段名称 | 描述 | 类型 | 必需 |
| 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
路径参数
| 字段名称 | 描述 | 类型 | 必需 |
| 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"
}
]
}
}