获取估算 TRX (Estimate TRX)
获取估算 TRX (Get estimate TRX)
POST https://api.tronsave.io/v2/estimate-buy-resource
POST https://api.tronsave.io/v2/estimate-buy-resource速率限制 (Rate limit): 每1秒15个请求。
请求参数 (Request params):
域
类型
描述
resourceAmount*
number
资源数量
unitPrice
string, number
"FAST", "MEDIUM", "SLOW" 等于快速,中等,慢速 或者按Sun单位填写想购买的价格: -"FAST":如果市场准备填满 = 100%,则 "FAST" = "MEDIUM"。如果市场准备填满 < 100%,则 "FAST" = "MEDIUM" + 10。如果市场准备填满 = 0%,则 "FAST" = "SLOW" + 20。 -"MEDIUM":这个订单的最大市场填充的最低价格。如果市场准备填满 = 0%,"MEDIUM" = "SLOW" + 10。 -"SLOW":此订单可以设置的最低价格。 -如果价格是数字,则价格单位等于SUN。
durationSec
number
购买资源的持续时间,时间单位为毫秒
requester
string
请求者的地址
receiver
string
接收资源的地址
resourceType
string
“ENERGY”或“BANDWIDTH”,默认: “ENERGY”
options
Object
optional
options.allowPartialFill
boolean
允许订单部分匹配或整体匹配。
minResourceDelegateRequiredAmount
number
单个提供者委托的最低能量数量。
请求参数示例 (Request params example):
{
"resourceType": "ENERGY",
"receiver": "TFwUFWr3QV376677Z8VWXxGUAMF123456",
"durationSec": 259200,
"resourceAmount": 32000,
"unitPrice": "MEDIUM",
"options": {
"allowPartialFill": true,
"minResourceDelegateRequiredAmount": 32000
}
}回应 (Responses):
{
"error": false,
"message": "Success",
"data": {
"unitPrice": 64,
"durationSec": 259200,
"estimateTrx": 6144000,
"availableResource": 32000
}
}示例代码 (Example code):
const GetEstimate = async (requestAddress, receiverAddress, resourceAmount, durationSec) => {
const url = TRONSAVE_API_URL + "/v2/estimate-buy-resource";
const body = {
resourceAmount,
unitPrice: "MEDIUM",
resourceType: RESOURCE_TYPE,
durationSec,
requester: requestAddress,
receiver: receiverAddress,
options: {
allowPartialFill: true,
},
};
const data = await fetch(url, {
method: "POST",
headers: {
"content-type": "application/json",
},
body: JSON.stringify(body),
});
const response = await data.json();
/**
* Example response
{
"error": false,
"message": 'Success',
"data": {
"unitPrice": 50,
"durationSec": 259200,
"estimateTrx": 7680000,
"availableResource": 32000
}
}
*/
return response;
};function getEstimate(): array {
$url = TRONSAVE_API_URL . "/v2/estimate-buy-resource";
$body = [
'resourceAmount' => BUY_AMOUNT,
'unitPrice' => "MEDIUM",
'resourceType' => RESOURCE_TYPE,
'durationSec' => DURATION_SEC,
'requester' => REQUEST_ADDRESS,
'receiver' => RECEIVER_ADDRESS,
'options' => [
'allowPartialFill' => true,
]
];
$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, [
'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}def get_estimate() -> Dict[str, Any]:
"""Get estimate for buying resource"""
url = f"{TRONSAVE_API_URL}/v2/estimate-buy-resource"
body = {
'resourceAmount': BUY_AMOUNT,
'unitPrice': "MEDIUM",
'resourceType': RESOURCE_TYPE,
'durationSec': DURATION_SEC,
'requester': REQUEST_ADDRESS,
'receiver': RECEIVER_ADDRESS,
'options': {
'allowPartialFill': True,
}
}
response = requests.post(url, json=body)
return response.json()Last updated