API ÖDEME ADRESİ
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Bu adrese TRX gönderin. İşlem özeti hash'iniz enerji delegasyonunu talep etmek için kullanılır.

TronWeb kullanarak eksiksiz Node.js entegrasyonu. Her adım projenize kopyalayabileceğiniz bağımsız bir kod bloğudur. Tam uçtan uca örnek aşağıda yer almaktadır.

Ön koşullar: Node.js 18+, tronweb yüklü ((npm install tronweb)), finanse edilmiş bir Tron cüzdanı.

Akış

API anahtarı yok. Kaydolma yok. Kodunuz TronEnergy ödeme adresine blok zincirde TRX gönderir, sahipliği kanıtlayan bir mesajı imzalar, sonra delegasyonu talep eder. Enerji yaklaşık 3 saniyede ulaşır. Daha sonra kodunuz temsilci enerjiyi kullanarak USDT gönderir.

Fiyatlandırma doğrusaldır: TRX başına 16,250 Enerji. Minimum sipariş 4 TRX (65,000 Enerji — bir standart USDT transferi), maksimum 1,000 TRX (16.25M Enerji). Gönderdiğiniz miktar geri aldığınız Enerji miktarını tam olarak belirler — tier veya paket yoktur. Tek bir standart transfer için 4 gönderin. Yeni cüzdan transferi için 8 gönderin. Toplu iş için daha fazla gönderin. Aşağıdaki kod bir trxAmount değişkeni kullanır, böylece bir yerde değiştirebilirsiniz.

Adım Adım

1. Kurulum

kurulum
const { TronWeb } = require('tronweb'); // destructured: the default import is broken in v6 const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io', privateKey: process.env.TRON_PRIVATE_KEY, }); const API = 'https://api.tronnrg.com'; const ADDR = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx'; // API payment address const USDT = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t';

2. TRX Gönderin

ödeme gönder
const TRX_AMOUNT = 4; // Linear: 16,250 energy per TRX. Min 4, max 1000. // 4 → 65k (standard) · 8 → 130k (new wallet) · 40 → 650k (10 transfers) const payment = await tronWeb.trx.sendTransaction(ADDR, TRX_AMOUNT * 1e6); console.log('Payment tx:', payment.txid);

3. Delegasyonu Talep Et

delegasyonu talep et
// Sign: proves you are the sender const msg = `${payment.txid}:${tronWeb.defaultAddress.base58}`; const sig = await tronWeb.trx.signMessageV2(msg); const delegation = await fetch(`${API}/delegate`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: payment.txid, delegate_to: tronWeb.defaultAddress.base58, signature: sig, }), }).then(r => r.json()); if (delegation.error) { throw new Error(delegation.message); } console.log('Energy delegated:', delegation.energy); // TRX_AMOUNT × 16,250

4. USDT Gönder

USDT gönder
const contract = await tronWeb.contract().at(USDT); const tx = await contract.transfer( recipientAddress, Math.round(usdtAmount * 1e6) ).send({ feeLimit: 50_000_000 }); console.log('USDT sent:', tx);

Hata Yönetimi

hataları işleme
const result = await fetch(`${API}/delegate`, { ... }) .then(r => r.json()); if (result.error) { switch (result.error) { case 'payment_verification_failed': // Payment not yet indexed on-chain. Wait 3s and retry. break; case 'hash_already_used': // Already claimed. Don't retry. break; case 'signature_mismatch': // Sender of TRX != signer of the message. Sign with the same key. break; case 'delegation_failed': // Provider could not deliver. Retry or contact support with result.ref. break; } }

Tam Örnek

Bunu bir dosyaya kopyalayın, ortam değişkenlerinizi ayarlayın ve çalıştırın. Script TRX gönderir, mesajı imzalar, delegasyonu yeniden deneme seçeneğiyle talep eder, ardından USDT gönderir.

delegate-energy.js
const { TronWeb } = require('tronweb'); // destructured: default import is broken in v6 const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io', privateKey: process.env.TRON_PRIVATE_KEY, }); const API = 'https://api.tronnrg.com'; const ADDR = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx'; const USDT = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'; async function claimWithRetry(txHash, delegateTo, signature, retries = 3) { for (let i = 0; i < retries; i++) { const res = await fetch(`${API}/delegate`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: txHash, delegate_to: delegateTo, signature }), }).then(r => r.json()); if (!res.error) return res; if (res.error !== 'payment_verification_failed') throw new Error(res.message); await new Promise(r => setTimeout(r, 3000)); } throw new Error('Transaction not found after retries'); } async function main() { const recipient = 'TRecipientWallet'; const trxAmount = 4; // min 4, max 1000 — you get trxAmount × 16,250 energy // 1. Send TRX (linear pricing: 16,250 energy per TRX) const payment = await tronWeb.trx.sendTransaction(ADDR, trxAmount * 1e6); console.log('Payment:', payment.txid); // 2. Claim delegation // Sign: proves you are the sender const message = `${payment.txid}:${recipient}`; const signature = await tronWeb.trx.signMessageV2(message); const result = await claimWithRetry(payment.txid, recipient, signature); console.log('Delegated:', result.energy, 'energy'); console.log('Delegation tx:', result.delegations[0].tx); // verify on TronScan console.log('Ref:', result.ref); // 3. Send USDT const contract = await tronWeb.contract().at(USDT); const tx = await contract.transfer(recipient, 10 * 1e6).send(); console.log('USDT sent:', tx); } main().catch(console.error);
Her zaman imzayı dahil edin. TRX gönderen cüzdan olduğunuzu kanıtlar. Olmadan API isteği reddeder ve missing_signature.
Telegram WhatsApp