API পেমেন্ট ঠিকানা
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
এই ঠিকানায় TRX পাঠান। আপনার tx হ্যাশ এনার্জি ডেলিগেশন দাবি করতে ব্যবহৃত হয়।

TronWeb ব্যবহার করে সম্পূর্ণ Node.js ইন্টিগ্রেশন। প্রতিটি ধাপ একটি স্বাধীন কোড ব্লক যা আপনি আপনার প্রকল্পে অনুলিপি করতে পারেন। সম্পূর্ণ এন্ড-টু-এন্ড উদাহরণ নীচে আছে।

পূর্বশর্তাবলী: Node.js 18+, tronweb ইনস্টল করা (npm install tronweb), একটি তহবিল সরবরাহকৃত Tron ওয়ালেট।

প্রবাহ

কোনো API কী নেই। কোনো সাইন-আপ নেই। আপনার কোড TronEnergy পেমেন্ট ঠিকানায় অন-চেইনে TRX পাঠায়, মালিকানা প্রমাণ করে একটি বার্তায় স্বাক্ষর করে, তারপর ডেলিগেশন দাবি করে। এনার্জি প্রায় ৩ সেকেন্ডে পৌঁছায়। তারপর আপনার কোড প্রতিনিধিত্বকৃত এনার্জি ব্যবহার করে USDT পাঠায়।

মূল্য নির্ধারণ রৈখিক: প্রতি TRX ১৬,২৫০ এনার্জি। সর্বনিম্ন অর্ডার ৪ TRX (৬৫,০০০ এনার্জি — একটি মানক USDT ট্রান্সফার), সর্বাধিক ১,০০০ TRX (১৬.২৫ মিলিয়ন এনার্জি)। আপনি যে পরিমাণ পাঠান তা নির্ধারণ করে ঠিক কত এনার্জি ফেরত আসে — কোনো স্তর বা প্যাকেজ নেই। একটি একক মানক ট্রান্সফারের জন্য, ৪ পাঠান। একটি নতুন-ওয়ালেট ট্রান্সফারের জন্য, ৮ পাঠান। ব্যাচ কাজের জন্য, আরও পাঠান। নীচের কোডটি একটি trxAmount ভেরিয়েবল ব্যবহার করে যাতে আপনি এটি একটি জায়গায় পরিবর্তন করতে পারেন।

ধাপে ধাপে

১. সেটআপ

সেটআপ
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';

২. 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