Skip to content

估算能量数量 ​

此接口端点估算进行代币转账所需的能量数量,而不创建交易。

POST /v1/estimate-energy

请求 ​

请求参数 ​

字段类型必需描述
from_addressstring是发送方的波场钱包地址(34个字符)
to_addressstring是接收方的波场钱包地址(34个字符)
contract_addressstring否智能合约地址(默认:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t - Tether (USDT))
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "from_address": "TRX_FROM_ADDRESS",
  "to_address": "TRX_TO_ADDRESS",
  "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
}'

# 计算签名
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# 发送API请求
curl -X POST "https://api.trxup.com/v1/estimate-energy" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"
javascript
const crypto = require('crypto');
const axios = require('axios');

const apiToken = 'your_api_token';
const apiSecret = 'your_api_secret';
const requestBody = JSON.stringify({
  from_address: 'TRX_FROM_ADDRESS',
  to_address: 'TRX_TO_ADDRESS',
  contract_address: 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
});

// 计算签名
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// 发送API请求
axios({
  method: 'post',
  url: 'https://api.trxup.com/v1/estimate-energy',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
php
<?php
$apiToken = 'your_api_token';
$apiSecret = 'your_api_secret';
$requestBody = json_encode([
  'from_address' => 'TRX_FROM_ADDRESS',
  'to_address' => 'TRX_TO_ADDRESS',
  'contract_address' => 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
]);

// 计算签名
$signature = hash('sha256', $requestBody . $apiSecret);

// 发送API请求
$ch = curl_init('https://api.trxup.com/v1/estimate-energy');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer ' . $apiToken,
  'X-Signature: ' . $signature,
  'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
python
import hashlib
import json
import requests

api_token = 'your_api_token'
api_secret = 'your_api_secret'
request_body = json.dumps({
  'from_address': 'TRX_FROM_ADDRESS',
  'to_address': 'TRX_TO_ADDRESS',
  'contract_address': 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
})

# 计算签名
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# 发送API请求
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

response = requests.post(
  'https://api.trxup.com/v1/estimate-energy',
  headers=headers,
  data=request_body
)

print(response.json())

响应 ​

响应提供进行代币转账所需能量的详细计算信息。

响应字段 ​

字段类型描述
codeinteger响应代码(0 = 成功)
request_idstring唯一请求标识符
resultobject响应数据
result.amountinteger覆盖本次转账的能量购买量,也是传给 Create Transaction 的数值:若有服务正好出售该数量,即为估算值本身,否则为在售的、大于它的最小数量
result.energyinteger使用合约进行转账所需的能量数量 (已弃用,请使用 amount)
result.neededinteger转账本身实际消耗的能量,由节点给出。仅当它小于 amount 时返回,也就是转账低于在售的最小数量时
result.durationinteger持续时间(小时)(目前仅支持1小时)
result.pricefloat委托能量的价格
result.activation_feefloat地址激活价格(如果需要)
result.totalfloat包括激活费用的最终价格(如果需要)
result.from_addressstring请求中提供的发送方波场地址
result.to_addressstring请求中提供的接收方波场地址
result.contract_addressstring用于计算的智能合约地址

响应示例 ​

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "amount": 64400,
        "energy": 64400,
        "duration": 1,
        "price": 3.66,
        "activation_fee": 0,
        "total": 3.66,
        "from_address": "TRX_FROM_ADDRESS",
        "to_address": "TRX_TO_ADDRESS",
        "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
    }
}

响应示例(地址未激活) ​

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "amount": 64400,
        "energy": 64400,
        "duration": 1,
        "price": 3.66,
        "activation_fee": 1.4,
        "total": 5.06,
        "from_address": "TRX_FROM_ADDRESS",
        "to_address": "TRX_TO_ADDRESS",
        "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
    }
}

响应示例(转账低于在售最小数量) ​

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "amount": 65000,
        "energy": 65000,
        "duration": 1,
        "price": 3.4,
        "activation_fee": 0,
        "total": 3.4,
        "needed": 64285,
        "from_address": "TRX_FROM_ADDRESS",
        "to_address": "TRX_TO_ADDRESS",
        "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
    }
}

可能的错误 ​

错误代码Key描述
1auth身份验证错误(令牌或签名不正确)
10invalid_tron_address无效的发送地址
10invalid_tron_address无效的接收地址
10invalid_tron_address无效的合约地址
35service_unavailable服务不可用
500internal_server_error内部服务器错误

注释 ​

  • contract_address参数是可选的,默认为TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t(Tether USDT)
  • 此接口端点仅估算进行USDT转账的能量,而不创建交易
  • 要创建实际的能量购买交易,请使用创建交易接口端点
  • 能量按固定数量出售。消耗低于在售最小数量的转账,按该数量计价:amount 是你购买并支付的数量,needed 是转账本身消耗的数量。代码 35 service_unavailable 留给在售商品无法覆盖的估算——超过最大数量,或者根本没有按小时出售的能量

Tron Energy API Documentation