跳转至

代币 API

Token API 提供 FT(可替代代币)的转移、查询和委托。

获取令牌信息

返回合约地址(contract)的代币合约信息。

请求 URL

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

路径参数

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

直播 URL https://bc-api.qpyou.cn/core/v1/ft/{contract}/account/{from}/balance
沙盒 URL https://sandbox-bc-api.qpyou.cn/core/v1/ft/{contract}/account/{from}/balance
HTTP 方法 GET
内容类型 application/json

路径参数

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

直播网址 https://bc-api.qpyou.cn/core/v1/ft/{contract}/account/{from}/allowance/{spender}
沙盒网址 https://sandbox-bc-api.qpyou.cn/core/v1/ft/{contract}/account/{from}/allowance/{spender}
HTTP 方法 GET
内容类型 application/json

路径参数

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

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

路径参数

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

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

路径参数

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

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

路径参数

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

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

头部参数

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