代币 API
Token API 提供 FT(可替代代币)的转移、查询和委托。
获取令牌信息
返回合约地址(contract
)的代币合约信息。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | 代币合约的地址 | 字符串 | Y |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用 API 所需的身份验证令牌 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
code | API请求结果代码,0:成功 | 数字 |
message | 结果消息 | 字符串 |
data | API响应数据 | json |
data.name | 令牌名称 | 字符串 |
data.symbol | 令牌的符号 | 字符串 |
data.decimals | 令牌的最大小数位数 | 数字 |
data.totalSupply | 总供应量 | 字符串 |
请求示例
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/ft/0x94853BdC9c6AdD50D7842D1A3117fab385457470'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
响应示例
{
"code": 0,
"message": "success",
"data": {
"name": "Simple Token",
"symbol": "ST",
"decimals": 18,
"totalSupply": "1000000000"
}
}
获取代币余额
返回令牌所有者账户(from
)的当前令牌余额。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | 代币合约的地址 | 字符串 | 是 |
from | 代币拥有者 | 字符串 | 是 |
查询参数
字段名称 | 描述 | 类型 | 必需 |
details | 是否返回余额详情 | boolean | N |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
code | API请求结果代码,0:成功 | number |
message | 结果消息 | String |
data | API响应数据 | json |
data.value | 代币余额 | string |
data.rawValue | 未应用data.decimals 的代币余额 | string |
data.symbol | 代币的符号 | string |
data.decimals | 代币的最大小数位数 | number |
请求示例
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/ft/0x94853BdC9c6AdD50D7842D1A3117fab385457470/account/0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765/balance?details=true'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
响应示例
{
"code": 0,
"message": "success",
"data": {
"value": "999998999",
"symbol": "ST",
"decimals": 18,
"rawValue": "999998999000000000000000000"
}
}
获取可用于批准转移的令牌数量
返回令牌拥有者账户 from
已批准 spender
账户代表所有者发送的令牌数量。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | 代币合约的地址 | 字符串 | 是 |
from | 代币拥有者 | 字符串 | 是 |
spender | 被授权发送代币的账户 | 字符串 | 是 |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用 API 所需的身份验证令牌 | 字符串 | 是 |
响应
字段名称 | 描述 | 类型 |
code | API请求结果代码,0:成功 | number |
message | 结果消息 | String |
data | API响应数据 | json |
data.allowance | 可以发送的令牌数量 | string |
请求示例
curl -X 'GET'
'https://sandbox-bc-api.qpyou.cn/core/v1/ft/0x94853BdC9c6AdD50D7842D1A3117fab385457470/account/0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765/allowance/0xFBd488D1b00604d3b05124d80E35FeA9A39C3296'
-H 'accept: application/json'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
响应示例
{
"code": 0,
"message": "success",
"data": {
"allowance": "0"
}
}
发送令牌
创建一个将代币发送到特定地址的交易。from
必须是代币的拥有者。如果接收账户(to
)是一个合约,则该合约可以使用 data
执行额外的任务。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | 代币合约的地址 | 字符串 | Y |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
encoded | 返回的交易是否被编码 true : 接收编码的原始交易字符串 (data.rawTx ). false : 接收解码的 data.rawTx (JSON). | 布尔值 | N |
from | 发送代币的账户地址 | 字符串 | Y |
to | 接收代币的账户地址 | 字符串 | Y |
amount | 要发送的代币数量 | 字符串 | Y |
回复
字段名称 | 描述 | 类型 |
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/ft/0x94853BdC9c6AdD50D7842D1A3117fab385457470/transfer'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"to": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
"amount": "100.55"
}'
响应示例
// Polygon
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
// XPLA
{
"code": 0,
"message": "success",
"data": {
"rawTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076.....",
"reqeustId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
代表所有者发送令牌
创建一个交易,代表代币所有者将代币发送到特定地址。from
必须是被授权从代币所有者(owner
)发送代币的账户。如果接收账户(to
)是一个合约,则该合约可以使用 data
执行额外的任务。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | 合同地址 | 字符串 | Y |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的认证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
from | 被授权发送代币的账户的钱包地址 | 字符串 | 是 |
to | 接收代币的钱包地址 | 字符串 | 是 |
amount | 要发送的代币数量 | 字符串 | 是 |
data | 如果接收方是合约,将发送的数据 | 字符串 | 是 |
owner | 代币拥有者账户的钱包地址 | 字符串 | 是 |
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/ft/0x5bd415aeb2b382c7fac9cc72c1f3994e33ff7b02/transfer-from'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
"to": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
"amount": "0.000001",
"owner": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
授予发送代币的权限
创建一个交易,from
账户批准to
账户代表from
账户发送amount
数量的代币。from
必须是代币的拥有者。
请求 URL
路径参数
字段名称 | 描述 | 类型 | 必需 |
contract | 代币合约的地址 | 字符串 | Y |
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用API所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
from | 代币拥有者账户的钱包地址 | 字符串 | 是 |
to | 接收发送代币权利的账户的钱包地址 | 字符串 | 是 |
amount | 要发送的代币数量 | 字符串 | 是 |
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/ft/0x5bd415aeb2b382c7fac9cc72c1f3994e33ff7b02/approve'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
"to": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
"amount": "100"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}
部署令牌合约
创建一个部署标准代币合约的交易。
请求 URL
头部参数
字段名称 | 描述 | 类型 | 必需 |
x-network | 区块链网络 | 字符串 | 是 |
Authorization | 调用 API 所需的身份验证令牌 | 字符串 | 是 |
请求体
字段名称 | 描述 | 类型 | 必需 |
from | 部署代币合约的钱包地址 | 字符串 | 是 |
name | 代币名称 | 字符串 | 是 |
symbol | 代币符号 | 字符串 | 是 |
decimals | 代币的最大小数位数 | 数字 | 是 |
initialSupply | 铸造的代币初始数量 | 字符串 | 是 |
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/ft/contract'
-H 'accept: */*'
-H 'x-network: polygon'
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'
-H 'Content-Type: application/json'
-d '{
"encoded": true,
"from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
"name": "Simple Token",
"symbol": "ST",
"decimals": 18,
"initialSupply": "1000000000"
}'
响应示例
{
"code": 0,
"message": "success",
"data": {
"rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
"hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
"requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
}
}