СУРОҒАИ ПАРДОХТИ API
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
TRX ба ин суроға фиристед. Хэши tx-и шумо барои гирифтани тақсимоти энергия истифода мешавад.

Ҳамгироии пурраи Node.js-ро бо истифода аз TronWeb анҷом диҳед. Ҳар як қадам як блоки рамзи мустақил аст, ки шумо метавонед онро ба лоиҳаи худ нусхабардорӣ кунед. Мисоли пурраи аз аввал то охир дар поён оварда шудааст.

Пешшартҳо: Node.js 18+, tronweb насбшуда (npm install tronweb), ҳамёни Tron , ки маблағгузорӣ мешавад.

Ҷараён

Калиди API нест. Бақайдгирӣ нест. Рамзи шумо TRX ба суроғаи пардохтии TronEnergy дар шабака мефиристад, паёмеро имзо мекунад, ки моликиятро тасдиқ мекунад ва сипас ваколатро талаб мекунад. Energy тақрибан дар 3 сония мерасад. Сипас, рамзи шумо бо истифода аз энергияи ваколатдор USDT мефиристад.

Нархгузорӣ хаттӣ аст: 16,250 Energy барои TRX . Ҳадди ақал фармоиш 4 TRX (65,000 Energy — як интиқоли стандартии USDT ), ҳадди аксар 1,000 TRX (16.25M Energy ). Маблағе, ки шумо мефиристед, дақиқ муайян мекунад, ки чӣ қадар Energy бармегардад — сатҳҳо ё бастаҳо вуҷуд надоранд. Барои як интиқоли стандартӣ, 4 фиристед. Барои интиқоли ҳамёни нав, 8 фиристед. Барои кори гурӯҳӣ, бештар фиристед. Коди зер аз a истифода мебарад. trxAmount тағйирёбанда, то шумо онро дар як ҷо иваз карда тавонед.

Қадам ба қадам

1. Танзимот

ташкил кардан
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 фиристед

пардохтро фиристед
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. Даъвои намояндагӣ

намояндагии даъво
// 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 фиристед

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);

Коркарди хатогиҳо

хатогиҳои коркард
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; } }

Намунаи пурра

Инро ба файл нусхабардорӣ кунед, тағирёбандаҳои муҳити худро муқаррар кунед ва онро иҷро кунед. Скрипт TRX мефиристад, паёмро имзо мекунад, ваколатро бо такрори такрорӣ талаб мекунад ва сипас 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);
Ҳамеша имзоро дохил кунед. Ин исбот мекунад, ки шумо ҳамёнест, ки TRX ро фиристодааст. Бе он, API дархостро бо ... рад мекунад. missing_signature.
Telegram WhatsApp