ANUANI YA MALIPO YA API
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Tuma TRX kwa anwani hii. Hashi yako ya tx inatumika kudai ugawaji wa nishati.

Kamilisha ujumuishaji wa Node.js kwa kutumia TronWeb . Kila hatua ni kizuizi cha msimbo kinachojitegemea ambacho unaweza kunakili katika mradi wako. Mfano kamili wa mwanzo hadi mwisho uko chini.

Masharti ya awali: Node.js 18+, tronweb imewekwa (npm install tronweb), pochi ya Tron inayofadhiliwa.

Mtiririko

Hakuna ufunguo wa API . Hakuna usajili. Nambari yako hutuma TRX kwenye mnyororo kwenye anwani ya malipo TronEnergy , husaini ujumbe unaothibitisha umiliki, kisha hudai ugawaji. Energy hufika baada ya takriban sekunde 3. Kisha nambari yako hutuma USDT kwa kutumia nishati iliyokabidhiwa.

Bei ni ya mstari: Energy 16,250 kwa kila TRX . Kiwango cha chini cha oda 4 TRX ( Energy 65,000 — uhamisho mmoja wa kawaida USDT ), kiwango cha juu cha TRX 1,000 ( Energy Milioni 16.25). Kiasi unachotuma huamua haswa ni Energy ngapi inarudi — hakuna ngazi au vifurushi. Kwa uhamisho mmoja wa kawaida, tuma 4. Kwa uhamisho mpya wa pochi, tuma 8. Kwa kazi ya kundi, tuma zaidi. Nambari iliyo hapa chini inatumia trxAmount kigezo ili uweze kukibadilisha katika sehemu moja.

Hatua kwa Hatua

1. Usanidi

usanidi
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. Tuma TRX

tuma malipo
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. Dai Uwakilishi

uwasilishaji wa madai
// 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. Tuma USDT

tuma dola za Marekani
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);

Kushughulikia Hitilafu

makosa ya kushughulikia
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; } }

Mfano Kamili

Nakili hii kwenye faili, weka vigezo vyako vya mazingira, na uiendeshe. Hati hutuma TRX , husaini ujumbe, hudai uwasilishaji kwa kujaribu tena, kisha hutuma 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);
Daima jumuisha sahihi. Inathibitisha kuwa wewe ndiye mkoba uliotuma TRX . Bila hiyo, API inakataa ombi hilo kwa missing_signature.
Telegram WhatsApp