购买 — 签名交易
使用签名交易购买能量的旧版 v0 流程 —— 预估 TRX、生成签名转账并创建订单。
旧版 API。 本页介绍位于 /v0/ 基础路径下的 v0 签名交易流程。新的集成应使用当前 API。参见使用签名交易购买(v2)。
签名交易流程让你可以直接从自己的钱包支付 TRX 来购买能量 —— 无需 API 密钥,因为 TRX 转账是用你的私钥签名的。共分三步:
预估 TRX —— 计算所需数量和租赁时长对应的 TRX。
获取签名交易 —— 对向 TronSave 资金地址的 TRX 转账进行签名,可自行签名或通过 API 签名。
创建订单 —— 提交签名交易以下达购买订单。
开始之前: 请确保你拥有钱包的私钥,并且钱包中持有足够的 TRX 以支付预估费用。
主网基础 URL 为 https://api.tronsave.io。如需在 TRON Nile 测试网上进行测试,请使用 https://api-dev.tronsave.io。参见环境。
预估 TRX
POST
https://api.tronsave.io/v0/estimate-trx
https://api-dev.tronsave.io/v0/estimate-trx
获取签名交易
POST
https://api.tronsave.io/v0/signed-tx
https://api-dev.tronsave.io/v0/signed-tx
创建订单
POST
https://api.tronsave.io/v0/buy-energy
https://api-dev.tronsave.io/v0/buy-energy
Step 1: 预估 TRX
计算给定资源数量和租赁时长所需的 TRX。响应会返回 unit_price 以及你在第 2 步中必须转账的 estimate_trx。
POST https://api.tronsave.io/v0/estimate-trx
速率限制: 每 1 秒 15 个请求。
请求头
Content-Type
application/json
是
请求参数
amount
body
number
true
资源数量
buy_energy_type
body
string, number
true
"FAST"、"MEDIUM"、"SLOW" 或数字:
-"FAST":如果市场可成交率 = 100%,则 FAST = MEDIUM。如果市场可成交率 < 100%,则 FAST = MEDIUM + 10。如果市场可成交率 = 0%,则 FAST = SLOW + 20。
-"MEDIUM":使该订单获得最大市场成交量的最低价格。如果市场可成交率 = 0%,则 MEDIUM = SLOW + 10。
-"SLOW":该订单可设置的最低价格。
-如果价格为数字,则价格单位等于 SUN
duration_millisec
body
number
true
所购资源的时长,时间单位为毫秒。
request_address
body
string
false
请求者的地址。
target_address
body
string
false
资源接收地址。
is_partial
body
boolean
false
是否允许订单被部分成交。
请求体示例
响应
unit_price
number
true
与你的 buy_energy_type 匹配的能量价格,以 SUN 计
duration_millisec
number
true
available_energy
number
true
TronSave 市场上与 unit_price 匹配的可用能量总量
estimate_trx
number
true
在 duration_millisec 内以 unit_price 价格购买全部 available_energy 所需支付的预估 trx 总额
成功
estimate_trx 值以 SUN 返回(1 TRX = 1,000,000 SUN)。
错误
此端点不需要 apikey 请求头 —— 签名交易流程通过钱包签名的 TRX 转账进行身份验证,因此此处不存在身份验证错误。当请求缺少必需字段或字段无效时,会返回 400 Bad Request,其 message 会指出出错的字段:
Step 2: 获取签名交易
你需要一笔从买家地址向 TronSave 资金地址转账 estimate_trx SUN 的签名 TRX 转账。你可以自行构建,也可以让 API 来完成。
TronSave 资金地址
此资金地址仅用于在 TRON Nile 网络上进行测试。
选项 1:编写你自己的函数
使用 tronWeb,为 estimate_trx(来自第 1 步)构建一笔 sendTrx 转账,并用买家的私钥签名:
BUYER_ADDRESS是买家的公开地址。PRIVATE_KEY是买家的私钥。TRONSAVE_FUND_ADDRESS是上面显示的 TronSave 资金地址。
选项 2:使用获取签名交易 API
POST https://api.tronsave.io/v0/signed-tx
速率限制: 每 1 秒 15 个请求。
请求头
Content-Type
application/json
是
请求参数
address
body
string
true
买家的公开地址
private_key
body
string
true
买家的私钥
请求体示例
响应
成功
错误
此端点不需要 apikey 请求头。当请求缺少必需字段或字段无效时,会返回 400 Bad Request,其 message 会指出出错的字段:
Step 3: 创建订单
将签名交易(来自第 2 步)与订单参数一起提交,以下达能量购买订单。
POST https://api.tronsave.io/v0/buy-energy
速率限制: 每 1 秒 15 个请求。
请求头
Content-Type
application/json
是
此端点通过你提交的 signed_tx 进行身份验证 —— TRX 付款由你自己的钱包签名 —— 因此不需要 apikey 请求头。
请求参数
resource_type
string
true
"ENERGY"
unit_price
number
true
价格单位等于 SUN。
allow_partial_fill
boolean
true
是否允许订单被部分成交
target_address
string
true
资源接收地址
duration_millisec
number
true
所购资源的时长,时间单位等于毫秒。
tx_id
string
true
交易 ID
only_create_when_fulfilled
Boolean
false
[true] => 仅当订单可被完全成交时才创建
[false] => 即使订单无法被完全成交也会创建
默认值:false
max_price_accepted
Number
false
仅当预估价格低于此值时才创建订单。
add_order_incomplete
Boolean
false
[true] => 仅当订单列表中不存在相同参数的未完成订单时才创建订单
[false] => 即使订单列表中不存在相同参数的未完成订单也会创建订单
默认值:false
请求体示例
响应
成功
message 值是所创建订单的 order_id。
错误
此端点通过提交的 signed_tx 进行身份验证,因此不需要 apikey 请求头,也不存在身份验证错误。当请求缺少必需字段或字段无效时,会返回 400 Bad Request,其 message 会指出出错的字段:
请求示例
以下示例展示完整流程:预估、对向资金地址的 TRX 转账进行签名,然后创建订单。请根据需要替换 YOUR_TRON_ADDRESS、私钥和资金地址。对 TRX 转账进行签名(第 2 步,选项 1)通常使用 TRON 库;cURL 示例改用 API(第 2 步,选项 2)。
后续步骤
迁移到当前 API:使用签名交易购买(v2)。
术语表,了解能量、带宽、TRX 和 SUN 的定义。
Last updated