Tronsave
🇨🇳 Chinese
🇨🇳 Chinese
  • 📗INTRODUCTION
    • Tronsave是什么?
    • 什么选 Tronsave?
  • Buyer
    • 如何购买能量?
      • 在网站上购买
      • 如何在Telegram上购买能源
        • 1: 创建Telegram Tronsave帐户
        • 2: 如何存款
        • 3: 获取Tronsave API密钥
        • 4. 如何在 Telegram 上购买
    • 延长
      • 快速延长
      • 提高
  • 🏬Seller
    • 质押 2.0 (Stake 2.0)
    • 权限 (Permission)
    • 购买能源
      • 设置自动卖出 (Setup Auto Sell)
      • 手动出售
      • 卖出建议
  • DEVELOPER
    • 获取 API 密钥
      • 在网站上
      • 在Telegram上
    • 购买资源 (v2)
      • 使用签名交易 (Signed tx)
        • 估算TRX
        • 获取已签名交易
        • 创建订单
      • 使用 API 密钥
        • 获取内部账户信息
        • 获取订单簿 (Order book)
        • 获取估算 TRX (Estimate TRX)
        • 购买能源
        • 获取单个订单详情
        • 获取内部账户订单历史
    • 扩展订单 (v2)
      • 步骤 1:获取可扩展的委托人
      • 步骤 2:扩展请求
    • SDK 库
    • REST API v0
      • 通过 REST API 购买
        • 使用签名交易 (Signed tx)
          • 估算TRX
          • 获取已签名交易
          • 创建订单
          • Demo
        • 使用 API 密钥
          • 获取内部账户信息
          • 获取订单簿 (Order book)
          • 获取估算 TRX (Estimate TRX)
          • 购买能源
          • 获取单个订单详情
          • 获取内部账户订单历史
      • 订单延长使用API密钥
  • 🤝 Referrer
    • 推荐 (Referral)
  • 💡FAQ
    • 能源市场问题
    • 计算 TronSave 的年化收益率 (APY)
    • 如何在 Tronsave 中连接钱包?
    • 服务团队
  • 👨‍💻Full Code Example
    • Code Example (v2)
      • 使用私钥通过 API 购买能源
      • 使用 API 密钥通过 API 购买能源
      • 使用 API 密钥通过 API 扩展订单
      • 使用私钥通过 API 扩展订单
    • Code Exaample (v0)
      • 使用私钥通过 API 购买能源
      • 使用 API 密钥通过 API 购买能源
      • 使用API密钥通过API延长订单
Powered by GitBook
On this page
  1. DEVELOPER
  2. 扩展订单 (v2)

步骤 1:获取可扩展的委托人

步骤 1:检查所有可延长的委托

POST https://api.tronsave.io/v2/get-extendable-delegates

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

请求头

名称
类型
描述

apikey*

String

Tronsave API密钥,适用于内部账户

请求体

名称
类型
描述

extendTo*

String

你想要延长的时间(以毫秒为单位)

maxPriceAccepted

Number

你愿意支付的最大延长费用(数字)

receiver*

String

接收资源委托的地址

requester

String

请求者的地址。如果未提供,则从 API 密钥中获取请求者。

resourceType

String

“ENERGY”或“BANDWIDTH”,默认: “ENERGY”

{
    "extendOrderBook": [
        {
            "price": 133,
            "value": 64319
        },
        ...
    ], // 概述每个价格的扩展能源数量
    "totalDelegateAmount": 64319,
    // 收件人在Tronsave上的当前总委托
    "totalAvailableExtendAmount": 64319,
    // 收件人在Tronsave上的可用总委托
    "totalEstimateTrx": 8554427,
    // 如果使用下面的extend_data创建延长请求,估算的TRX支付
    "yourBalance": 20000000,
    // API密钥的内部余额
    "isAbleToExtend": true,
    // 比较余额和totalEstimateTrx
    "extendData": [
        {
            "delegator": "TMN2uTdy6rQYaTm4A5g732kHRf72tKsA44",
            "isExtend": true,
            "extraSmount": 0,
            "extendTo": 1728459019
        }
    ]
    // 用于创建下面延长请求的扩展数据
}
{
    "MISSING_PARAMS": "请求体中缺少某些参数",
    "INVALID_PARAMS": "某些参数无效"
}
{
    "API_KEY_REQUIRED": "请求头中缺少API密钥",
    "INVALID_API_KEY": "API密钥不正确"
}
{
    "RATE_LIMIT": "已达到速率限制"
}

示例

{
    "extendTo":1728704969000,
    "maxPriceAccepted":165,
    "receiver":"TFwUFWr3QV376677Z8VWXxGUAMF11111111",
    "resourceType": "ENERGY"
}
{
  "apikey": <YOUR_API_KEY>
}
{
    "extendOrderBook": [
        {
            "price": 108,
            "value": 100000
        },
        {
            "price": 122,
            "value": 200000
        }
    ],
    "totalDelegateAmount": 500000,
    "totalAvailableExtendAmount": 300000,
    "totalEstimateTrx": 24426224,
    "isAbleToExtend": true,
    "yourBalance": 37780396,
    "extendData": [
        {
            "delegator": "TQBV7xU489Rq8ZCsYi72zBhJM2222222",
            "isExtend": true,
            "extraAmount": 0,
            "extendTo": 1728704969000
        },
        {
            "delegator": "TMN2uTdy6rQYaTm4A5g732kHR333333333",
            "isExtend": true,
            "extraAmount": 0,
            "extendTo": 1728704969000
        }
    ]
}

示例代码

const GetEstimateExtendData = async (extendTo, maxPriceAccepted) => {
    const url = TRONSAVE_API_URL + `/v2/get-extendable-delegates`
    const body = {
        extendTo, // 要扩展到的时间(秒)
        receiver: RECEIVER, // 接收资源委托的地址
        maxPriceAccepted, // 可选。要支付扩展的最大价格
        resourceType: RESOURCE_TYPE, // ENERGY 或 BANDWIDTH,可选,默认值为 ENERGY
    }
    const data = await fetch(url, {
        method: "POST",
        headers: {
            'apikey': API_KEY,
            "content-type": "application/json",
        },
        body: JSON.stringify(body)
    })
    const response = await data.json()
    /**
     * 示例响应
     * @link  
       {
            "error": false,
            "message": "成功",
            "data": {
                "extendOrderBook": [
                    {
                        "price": 784,
                        "value": 1002
                    }
                ],
                "totalDelegateAmount": 5003, // 总委托数量
                "totalAvailableExtendAmount": 5003, // 可扩展的总数量
                "totalEstimateTrx": 4085783, // 预估 TRX 总量
                "isAbleToExtend": true, // 是否可以扩展
                "yourBalance": 2377366851, // 您的余额
                "extendData": [ // 扩展数据
                    {
                        "delegator": "TGGVrYaT8Xoos...6dmSZkohGGcouYL4", // 委托者地址
                        "isExtend": true, // 是否扩展
                        "extraAmount": 0, // 额外数量
                        "extendTo": 1745833276 // 扩展至的时间戳
                    },
                    {
                        "delegator": "TQBV7xU489Rq8Z...zBhJMdrDr51wA2", // 委托者地址
                        "isExtend": true, // 是否扩展
                        "extraAmount": 0, // 额外数量
                        "extendTo": 1745833276 // 扩展至的时间戳
                    },
                    {
                        "delegator": "TSHZv6xsYHMRCbdVh...qNozxaPPjDR6", // 委托者地址
                        "isExtend": true, // 是否扩展
                        "extraAmount": 0, // 额外数量
                        "extendTo": 1745833276 // 扩展至的时间戳
                    }
                ]
            }
        }
     */
    return response
}
function getEstimateExtendData(int $extendTo, int $maxPriceAccepted): array {
    $url = TRONSAVE_API_URL . "/v2/get-extendable-delegates";
    $body = [
        'extendTo' => $extendTo,
        'receiver' => RECEIVER,
        'maxPriceAccepted' => $maxPriceAccepted,
        'resourceType' => RESOURCE_TYPE,
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'apikey: ' . API_KEY,
        'Content-Type: application/json'
    ]);
    $response = curl_exec($ch);
    curl_close($ch);
    return json_decode($response, true);
}
def get_estimate_extend_data(extend_to: int, max_price_accepted: int) -> Dict[str, Any]:
    """Get estimate extend data"""
    url = f"{TRONSAVE_API_URL}/v2/get-extendable-delegates"
    headers = {
        'apikey': API_KEY,
        'Content-Type': 'application/json'
    }
    
    body = {
        'extendTo': extend_to,
        'receiver': RECEIVER,
        'maxPriceAccepted': max_price_accepted,
        'resourceType': RESOURCE_TYPE,
    }
    
    response = requests.post(url, headers=headers, json=body)
    return response.json()
Previous扩展订单 (v2)Next步骤 2:扩展请求

Last updated 20 days ago