API ADDRESS NG PAGBABAYAD
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Ipadala TRX sa address na ito. Ang iyong tx hash ay ginagamit upang i-claim ang energy delegation.

Kumpletuhin ang integrasyon ng Node.js gamit ang TronWeb . Ang bawat hakbang ay isang standalone na code block na maaari mong kopyahin sa iyong proyekto. Ang kumpletong halimbawa mula simula hanggang katapusan ay nasa ibaba.

Mga Kinakailangan: Node.js 18+, tronweb naka-install (npm install tronweb), isang pinondohan na Tron wallet.

Ang Daloy

Walang API key. Walang pag-sign-up. Ipapadala ng iyong code TRX on-chain sa TronEnergy payment address, pipirma ng mensaheng nagpapatunay ng pagmamay-ari, pagkatapos ay kinukumpisal ang delegasyon. Darating Energy sa loob ng humigit-kumulang 3 segundo. Pagkatapos, ipapadala ng iyong code USDT gamit ang itinalagang enerhiya.

Linear ang presyo: 16,250 Energy bawat TRX . Minimum na order: 4 TRX (65,000 Energy — isang standard USDT transfer), maximum na 1,000 TRX (16.25M Energy ). Ang halagang ipapadala mo ang eksaktong magtatakda kung gaano karaming Energy ang babalik — walang mga tier o pakete. Para sa isang standard transfer, magpadala ng 4. Para sa isang bagong wallet transfer, magpadala ng 8. Para sa batch work, magpadala ng higit pa. Ang code sa ibaba ay gumagamit ng trxAmount variable para mabago mo ito sa iisang lugar.

Hakbang-hakbang

1. Pag-setup

pag-setup
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. Ipadala TRX

magpadala ng bayad
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. Angkinin ang Delegasyon

paglalaan ng paghahabol
// 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. Ipadala USDT

magpadala ng usdt
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);

Paghawak ng Error

mga pagkakamali sa paghawak
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; } }

Kumpletong Halimbawa

Kopyahin ito sa isang file, itakda ang iyong mga environment variable, at patakbuhin ito. Ipapadala ng script TRX , pipirmahan ang mensahe, kinukumpisal ang delegasyon gamit ang retry, pagkatapos ay ipapadala USDT .

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);
Palaging isama ang lagda. Pinapatunayan nito na ikaw ang wallet na nagpadala ng TRX . Kung wala ito, tatanggihan ng API ang kahilingan gamit ang missing_signature.
Telegram WhatsApp