购买能源
要使用此功能,您必须拥有API密钥。请在此处了解如何获取我们的API密钥
TronSave 使用API密钥购买
通过API密钥创建新的购买能源订单
POST
https://api.tronsave.io/v2/buy-resource
通过API密钥创建新的购买能源订单
速率限制 (Rate limit): 每1秒15个请求。
Headers
apikey*
String
Tronsave API密钥,用于内部帐户。
Request Body
resourceType
string
“ENERGY”或“BANDWIDTH”,默认: “ENERGY”
unitPrice
number
“FAST”、“MEDIUM”、“SLOW”, 或者一个数字。默认值: “MEDIUM”
“FAST”:如果市场准备填充度 = 100%,则 FAST = MEDIUM;如果市场准备填充度 < 100%,则 FAST = MEDIUM + 10;如果市场准备填充度 = 0%,则 FAST = SLOW + 20。
“MEDIUM”:此订单的最大市场填充量对应的最低价格。如果市场准备填充度 = 0%,则 MEDIUM = SLOW + 10。
“SLOW”:此订单可以设置的最低价格。
如果价格是一个数字,则价格单位为 SUN。
resourceAmount*
number
资源数量
receiver*
string
资源接收者的地址。
durationSec
number
购买资源的持续时间,时间单位为秒。默认值:259200(3天)。
sponsor
string
赞助代码
options
Object
optional
options.onlyCreateWhenFulfilled
Boolean
[true] => 仅在订单能够完成时创建订单
[false] => 即使订单无法完成也会创建订单
默认值:false
options.allowPartialFill
Boolean
允许订单部分匹配或整体匹配。
options.preventDuplicateIncompleteOrders
Boolean
[true]=>仅在不存在具有相同参数的未完成订单时创建订单。
[false]=>无论是否存在未完成订单,始终创建新订单。
默认值:false
options.maxPriceAccepted
number
仅在预估价格小于该值时创建订单。
options.minResourceDelegateRequiredAmount
number
单个提供者委托的最小能量数量。
如果成功,返回订单ID。
{
"error": false,
"message": "Success",
"data": {
"orderId": "6818426a65fa8ea36d119d2c"
}
}
例子 (Example)
{
"resourceType": "ENERGY",
"receiver": "TFFbwz3UpmgaPT4UudwsxbiJf63t777777",
"durationSec": 3600,
"resourceAmount": 32000,
"unitPrice": "MEDIUM",
"options": {
"allowPartialFill": true,
"onlyCreateWhenFulfilled": true,
"preventDuplicateIncompleteOrders": false,
"maxPriceAccepted": 100,
"minResourceDelegateRequiredAmount": 100000
}
}
Example Code
const BuyResource = async (apiKey, receiverAddress, resourceAmount, durationSec, maxPriceAccepted) => {
const url = `${TRONSAVE_API_URL}/v2/buy-resource`
const body = {
resourceType: RESOURCE_TYPE,
unitPrice: "MEDIUM", // 价格单位为 sun 或者 "SLOW"|"MEDIUM"|"FAST"
resourceAmount, // 想要购买的资源数量
receiver: receiverAddress,
durationSec, // 订单持续时间(秒)。默认值:259200(3天)
options: {
allowPartialFill: true, // 允许部分匹配
onlyCreateWhenFulfilled: false, // 只有在订单可完全匹配时才创建
maxPriceAccepted, // 最大可接受价格
}
}
const data = await fetch(url, {
method: "POST",
headers: {
'apikey': apiKey,
"content-type": "application/json",
},
body: JSON.stringify(body)
})
const response = await data.json()
/**
* 示例响应
* {
* "error": false,
* "message": "成功",
* "data": {
* "orderId": "6809fdb7b9...a41d726fd"
* }
* }
*/
return response
}
Last updated