Skip to content

Stima Quantità Energia

Questo endpoint stima la quantità di energia necessaria per effettuare un trasferimento di token senza creare una transazione.

POST /v1/estimate-energy

Richiesta

Parametri della Richiesta

CampoTipoRichiestoDescrizione
from_addressstringIndirizzo wallet TRON del mittente (34 caratteri)
to_addressstringIndirizzo wallet TRON del destinatario (34 caratteri)
contract_addressstringNoIndirizzo del contratto intelligente (default: 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"
}'

# Calcola la firma
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Effettua la richiesta API
curl -X POST "https://api.tronzap.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'
});

// Calcola la firma
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Effettua la richiesta API
axios({
  method: 'post',
  url: 'https://api.tronzap.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'
]);

// Calcola la firma
$signature = hash('sha256', $requestBody . $apiSecret);

// Effettua la richiesta API
$ch = curl_init('https://api.tronzap.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'
})

# Calcola la firma
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Effettua la richiesta API
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

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

print(response.json())

Risposta

La risposta fornisce informazioni dettagliate di calcolo per l'energia necessaria per effettuare un trasferimento di token.

Campi della Risposta

CampoTipoDescrizione
codeintegerCodice di risposta (0 = successo)
request_idstringIdentificatore univoco della richiesta
resultobjectDati della risposta
result.amountintegerQuantità di energia necessaria per effettuare il trasferimento utilizzando il contratto
result.energyintegerQuantità di energia necessaria per effettuare il trasferimento utilizzando il contratto (obsoleto, usa amount)
result.durationintegerDurata in ore (attualmente solo 1 ora è disponibile)
result.pricefloatPrezzo per delegare energia
result.activation_feefloatPrezzo per l'attivazione indirizzo (se richiesto)
result.totalfloatPrezzo finale inclusa l'attivazione se richiesta
result.from_addressstringL'indirizzo TRON del mittente fornito nella richiesta
result.to_addressstringL'indirizzo TRON del destinatario fornito nella richiesta
result.contract_addressstringL'indirizzo del contratto intelligente utilizzato per il calcolo

Esempio di Risposta

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"
    }
}

Esempio di Risposta (Indirizzo non attivato)

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"
    }
}

Possibili Errori

Codice ErroreKeyDescrizione
1authErrore di autenticazione (token o firma errati)
10invalid_tron_addressIndirizzo from non valido
10invalid_tron_addressIndirizzo to non valido
10invalid_tron_addressIndirizzo contratto non valido
35service_unavailableServizio non disponibile
500internal_server_errorErrore interno del server

Note

  • Il parametro contract_address è opzionale e per default è TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t (Tether USDT)
  • Questo endpoint stima solo l'energia per effettuare trasferimento USDT senza creare una transazione
  • Per creare una transazione di acquisto energia effettiva, utilizza l'endpoint Crea Transazione

Tron Energy API Documentation