购买能源

要使用此功能,您必须拥有API密钥。请在此处了解如何获取我们的API密钥

TronSave 使用API密钥购买

通过API密钥创建新的购买能源订单

POST https://api.tronsave.io/v2/buy-resource

通过API密钥创建新的购买能源订单

速率限制 (Rate limit): 每1秒15个请求。

Headers

Name
Type
Description

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