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

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

পূর্বশর্তসমূহ: নোড.জেএস ১৮+, tronweb ইনস্টল করা হয়েছে (npm install tronweb), একটি অর্থায়িত Tron ওয়ালেট।

প্রবাহ

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

মূল্য নির্ধারণ রৈখিক: প্রতি TRX এ ১৬,২৫০ Energy । সর্বনিম্ন অর্ডার ৪ TRX (৬৫,০০০ Energy — একটি স্ট্যান্ডার্ড USDT ট্রান্সফার), সর্বোচ্চ ১,০০০ TRX (১৬.২৫ মিলিয়ন Energy )। আপনি যে পরিমাণ পাঠাবেন, তার উপরই নির্ভর করবে ঠিক কত Energy ফেরত আসবে — এর কোনো স্তর বা প্যাকেজ নেই। একটি একক স্ট্যান্ডার্ড ট্রান্সফারের জন্য ৪ পাঠান। নতুন ওয়ালেটে ট্রান্সফারের জন্য ৮ পাঠান। একসাথে একাধিক কাজ করার জন্য আরও বেশি পাঠান। নিচের কোডটি ব্যবহার করে 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);

৩. প্রতিনিধিদল দাবি করুন

দাবি প্রতিনিধি
// 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

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