跳转至

代币 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"
  }
}