NFT 接口
NFT(非同质化代币)API 提供 NFT 铸造、转移和与 NFT 相关的信息。
获取 NFT 合约信息
返回合约地址(contract
)的NFT合约信息。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
code | api 请求结果代码,0:成功 | number |
message | 结果消息 | String |
data | API 响应数据 | json |
data.name | NFT 合约名称 | string |
data.symbol | NFT 合约符号 | string |
请求示例
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/0xc1aE02F65dA9819bbdE39255698193016F4aB018'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
响应示例
{
"code": 0,
"message": "success",
"data": {
"name": "Simple NFT",
"symbol": "SNFT"
}
}
获取 NFT 信息
返回一个令牌 ID (tokenId
) 的 NFT 信息。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | 是 |
tokenId | NFT ID | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用 API 所需的身份验证令牌 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
code | API 请求结果代码,0:成功 | 数字 |
message | 结果消息 | 字符串 |
data | API 响应数据 | json |
data.tokenUri | 这是 NFT URI。格式为 ipfs://{cid} ,您可以使用 获取元数据 API 获取 NFT 信息。 | 字符串 |
请求示例
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/0xc1aE02F65dA9819bbdE39255698193016F4aB018/tokens/1'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
响应示例
{
"code": 0,
"message": "success",
"data": {
"tokenUri": "ipfs://QmZcH4YvBVVRJtdn4RdbaqgspFU8gH6P9vomDpBVpAL3u4"
}
}
获取 NFT 拥有者
返回具有令牌 ID (tokenId) 的 NFT 所有者信息。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | 是 |
tokenId | NFT ID | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
code | API请求结果代码,0:成功 | number |
message | 结果消息 | String |
data | API响应数据 | json |
data.owner | NFT拥有者的地址 | string |
请求示例
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/0xc1aE02F65dA9819bbdE39255698193016F4aB018/tokens/1/account'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
响应示例
{
"code": 0,
"message": "success",
"data": {
"owner": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
}
}
获取授予 gend NFT 的账户信息
返回被授权发送特定NFT的账户信息。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | 是 |
tokenId | NFT ID | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的认证令牌 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
code | api请求结果代码,0:成功 | number |
message | 结果消息 | String |
data | API响应数据 | json |
data.spenders | 被授予发送NFT的账户地址列表。 | string[] |
请求示例
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/0xc1aE02F65dA9819bbdE39255698193016F4aB018/tokens/1/approval'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
响应示例
{
"code": 0,
"message": "success",
"data": {
"spenders": [
"0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
]
}
}
检查操作员发送所有NFT的权利
检查 operator
账户是否可以发送 owner
的每个 NFT。所有 NFT 都是在 contract
地址上铸造的。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | 是 |
owner | NFT 拥有者账户 | 字符串 | 是 |
operator | 查询的关于发送 NFT 权利的账户 | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
code | api 请求结果代码,0:成功 | number |
message | 结果消息 | String |
data | API 响应数据 | json |
data.isOperator | 账户是否有权发送NFT | boolean |
请求示例
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/nft/0xc1aE02F65dA9819bbdE39255698193016F4aB018/account/0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765/approval/0xFBd488D1b00604d3b05124d80E35FeA9A39C3296'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
响应示例
{
"code": 0,
"message": "success",
"data": {
"isOperator": true
}
}
发送 NFT
创建一个将代币发送到特定地址(to
)的交易。from
必须是代币的拥有者或被授权发送的账户。如果接收账户(to
)是一个合约,则该合约可以使用 data
执行额外的任务。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | Y |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用 API 所需的认证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
encoded | 返回的交易是否编码 true : 接收编码的原始交易字符串 (data.rawTx )。 false : 接收解码的 data.rawTx (JSON)。 | 布尔值 | 否 |
from | 发送代币的账户地址 | 字符串 | 是 |
to | 接收代币的账户地址 | 字符串 | 是 |
tokenId | 要发送的代币的代币 ID | 字符串 | 是 |
data | 如果接收者是合约,将发送的数据 | 字符串 | 否 |
回复
字段名称 | 描述 | 类型 |
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'
'http://sandbox-bc-api.qpyou.cn/core/v1/nft/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/transfer'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"to": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"tokenId": "1"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
铸造 NFT
创建一个交易,将代币铸造到特定地址(to
)。from
必须是有铸造权的账户。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必填 |
contract | NFT 合约地址 | 字符串 | Y |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
encoded | 返回的交易是否被编码 true : 接收编码的原始交易字符串 (data.rawTx ). false : 接收解码的 data.rawTx (JSON). | boolean | N |
from | 这是铸造代币的账户地址。必须是有铸造权限的账户。 | string | Y |
to | 接收代币的账户地址 | string | Y |
tokenId | 要铸造的代币的代币 ID | string | Y |
tokenUri | 上传元数据后获得的元数据 URI (data.uri ) | string | Y |
响应
字段名称 | 描述 | 类型 |
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/nft/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/mint'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"to": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"tokenId": "11",
"tokenUri": "ipfs://QmZcH4YvBVVRJtdn4RdbaqgspFU8gH6P9vomDpBVpAL3u4/11"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
授予发送NFT的权利
创建一个交易,将特定代币发送到地址(to
)的权利委托给该地址。from
必须是代币的拥有者。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | 是 |
tokenId | NFT ID | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
encoded | 返回的交易是否编码 true : 接收编码的原始交易字符串(data.rawTx )。 false : 接收解码的 data.rawTx (JSON)。 | 布尔值 | 否 |
from | 代币拥有者的地址 | 字符串 | 是 |
to | 将被授权发送代币的账户地址 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
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/nft/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/approve/1'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"to": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
授予发送所有NFT的权利
创建一个交易,将from
账户发送所有代币的权利委托给一个地址(to
)。to
账户还拥有发送from
账户将来将拥有的代币的权利。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | 这是 NFT 合约地址。to 账户将有权发送在此合约下铸造的每个 NFT。 | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必填 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
encoded | 返回的交易是否被编码 true : 接收编码的原始交易字符串 (data.rawTx ). false : 接收解码的 data.rawTx (JSON). | 布尔值 | 否 |
from | 代币拥有者的地址 | 字符串 | 是 |
to | 将被授予发送代币的账户地址 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
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/nft/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/approve'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"to": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
重新获得发送NFT的权利
创建一个交易,取消从地址(to
)发送特定代币的权利。from
必须是代币的拥有者。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | 是 |
tokenId | NFT ID | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
encoded | 返回的交易是否被编码 true : 接收编码的原始交易字符串 (data.rawTx ). false : 接收解码的 data.rawTx (JSON). | boolean | N |
from | 代币拥有者的地址 | string | Y |
to | 将被剥夺发送代币权利的账户地址(如果使用Polygon区块链,则此值应留空。) | string | 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/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/revoke/1'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"to": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
重新夺回发送所有NFT的权利
创建一个交易,取消从地址(to
)发送所有代币的权限。from
必须是代币的拥有者。在 ERC-721 代币(以太坊、Polygon)的情况下,不需要 to
账户地址。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | NFT 合约地址 | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
encoded | 返回的交易是否编码 true : 接收编码的原始交易字符串 (data.rawTx ). false : 接收解码的 data.rawTx (JSON). | 布尔值 | 否 |
from | 代币拥有者的地址 | 字符串 | 是 |
to | 将被剥夺发送代币权利的账户地址(如果使用Polygon区块链,此值应留空。) | 字符串 | 否 |
回复
字段名称 | 描述 | 类型 |
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/nft/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/revoke'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"to": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
部署 NFT 合约
创建一个部署标准(ERC-721)NFT合约的交易。
请求 URL
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 是否必填 |
encoded | 返回的交易是否被编码 true : 接收编码的原始交易字符串 (data.rawTx ). false : 接收解码的 data.rawTx (JSON). | boolean | N |
from | 部署合约的账户地址 | string | Y |
name | NFT 合约名称 | string | Y |
symbol | NFT 合约符号 | string | Y |
minter | 这是可以在此 NFT 合约中铸造 NFT 的账户地址。 | string | Y |
响应
字段名称 | 描述 | 类型 |
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/nft/contract'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"name": "Simple NFT",
"symbol": "SNFT",
"minter": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}