API የክፍያ አድራሻ
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
TRX ወደዚህ አድራሻ ይላኩ። የቴክስ ሃሽዎ የኢነርጂ ውክልናን ለመጠየቅ ጥቅም ላይ ይውላል።

ሙሉ የ PHP ውህደትን በመጠቀም iexbase/tron-api ቤተ-መጽሐፍት። እያንዳንዱ እርምጃ ወደ ፕሮጀክትዎ መቅዳት የሚችሉት ራሱን የቻለ የኮድ ብሎክ ነው። ከማንኛውም የ PHP ማዕቀፍ ወይም ተራ PHP ጋር ይሰራል።

ቅድመ ሁኔታዎች፡ PHP 7.4+፣ አቀናባሪ፣ ext-gmp እና ext-bcmath ነቅቷል፣ የገንዘብ ድጋፍ የተደረገለት Tron ቦርሳ።
ስለ PHP መግባት፡ የ TronEnergy API የኪስ ቦርሳ ፊርማ ያስፈልገዋል tronWeb.trx.signMessageV2(). ዘ iexbase/tron-api ቤተ-መጻሕፍት ይህንን ትክክለኛ የፊርማ የመጀመሪያ ደረጃ አያጋልጥም፣ ስለዚህ ይህ መመሪያ ለመፈረም ደረጃ ትንሽ የNode.js ረዳት ይጠቀማል። የተቀረው ነገር ሁሉ ( TRX መላክ፣ API መጥራት፣ USDT መላክ) በ PHP ውስጥ ይቆያል። ትክክለኛ የ signMessageV2 ፊርማ የሚያቀርብ ንፁህ-PHP የፊርማ መፍትሄ ካለዎት፣ ሌላ ማንኛውንም እርምጃ ሳይቀይሩ ረዳቱን መቀየር ይችላሉ።

ፍሰቱ

API ቁልፍ የለም። ምዝገባ የለም። ኮድዎ TRX በሰንሰለት ወደ TronEnergy የክፍያ አድራሻ ይልካል፣ የባለቤትነት ማረጋገጫ መልእክት ይፈርማል፣ ከዚያም ውክልናውን ይጠይቃል። Energy በግምት በ3 ሰከንዶች ውስጥ ይደርሳል። ከዚያም ኮድዎ የተወከለውን ኃይል በመጠቀም USDT ይልካል።

1
TRX ላክ
አራት ወይም ከዚያ በላይ TRX ወደ የክፍያ አድራሻው (ቢያንስ 4፣ ቢበዛ 1000) ይላኩ።
2
ምልክት
ላኪው መሆንዎን ለማረጋገጥ tx_hash:delegate_ን ይፈርሙ።
3
የይገባኛል ጥያቄ
የቴክስ ሃሽ እና ፊርማ ያለው/የውክልና ስልጣን ይስጡ። Energy በ~3 ሰከንድ ውስጥ ይደርሳል።
ዋጋው መስመራዊ ነው፡ 16,250 በ TRX Energy ። ዝቅተኛው ትዕዛዝ 4 TRX (65,000 Energy — አንድ መደበኛ USDT ዝውውር)፣ ቢበዛ 1,000 TRX (16.25 ሚሊዮን Energy )። የሚልኩት መጠን ምን ያህል Energy እንደተላከ በትክክል ይወስናል - ደረጃዎች የሉም፣ ፓኬጆች የሉም። ለአንድ መደበኛ ዝውውር፣ ይጠቀሙ $trxAmount = 4ለአዲስ የኪስ ቦርሳ ዝውውር፣ ይጠቀሙ 8ለባች ሥራ፣ ተጨማሪ ይጠቀሙ። ከታች ያለው ኮድ የሚከተለውን ይጠቀማል $trxAmount ተለዋዋጭ ስለዚህ በአንድ ቦታ መቀየር ይችላሉ።

ደረጃ በደረጃ

1. ጫን

አቀናባሪ
composer require iexbase/tron-api

2. ማዋቀር

setup.php
require_once 'vendor/autoload.php'; use IEXBase\TronAPI\Tron; $tron = new Tron(); $tron->setPrivateKey('YOUR_PRIVATE_KEY'); $tron->setAddress('YOUR_WALLET_ADDRESS'); $api = 'https://api.tronnrg.com'; $addr = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx'; // API payment address $usdt = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'; // USDT contract
በጭራሽ ጠንካራ ኮድ ማረጋገጫዎች የሉም። የግል ቁልፍዎን ከአካባቢ ተለዋዋጮች ወይም ከሚስጥር አስተዳዳሪ ይጫኑ። ሚስጥሮችን በጂት ላይ በጭራሽ አያድርጉ።

3. የክፍያ መረጃ ያግኙ (አማራጭ)

የክፍያ መረጃ ያግኙ
// Get pricing and payment address (optional, energy is always available) $supply = json_decode( file_get_contents("${api}/supply"), true ); echo "Pay to: " . $supply['pay_to'] . "\n"; echo "Energy per TRX: " . $supply['energy_per_trx'] . "\n";

4. TRX ን ይላኩ

TRX ላክ
// Send TRX to the API payment address — pricing is linear. // 16,250 energy per TRX. Min 4 TRX, max 1,000 TRX. // $trxAmount = 4 → 65,000 energy (standard USDT transfer) // $trxAmount = 8 → 130,000 energy (new wallet transfer) // $trxAmount = 40 → 650,000 energy (10 standard transfers) // $trxAmount = 1000 → 16,250,000 energy (max) $trxAmount = 4; $payment = $tron->sendTrx($addr, $trxAmount); if (!isset($payment['result']) || !$payment['result']) { throw new Exception('TRX transfer failed'); } $txHash = $payment['txid']; echo "Payment sent: ${txHash}\n";

5. መልእክቱን ይፈርሙ

API TRX የላከው ተመሳሳይ የኪስ ቦርሳ ውክልናውን እየጠየቀ መሆኑን የሚያረጋግጥ ፊርማ ይፈልጋል። ይህንን የምናደርገው በትንሽ የNode.js ረዳት ነው። እንደ sign.js ከ PHP ፋይልዎ አጠገብ፦

sign.js
// Usage: node sign.js <tx_hash> <delegate_to> // Outputs the signature to stdout. Reads private key from TRON_PRIVATE_KEY env var. const { TronWeb } = require('tronweb'); const [, , txHash, delegateTo] = process.argv; const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io', privateKey: process.env.TRON_PRIVATE_KEY, }); tronWeb.trx.signMessageV2(`${txHash}:${delegateTo}`) .then(sig => process.stdout.write(sig)) .catch(e => { console.error(e.message); process.exit(1); });

TronWeb በተመሳሳይ አቃፊ ውስጥ ይጫኑት፦ npm install tronwebከዚያም ከ PHP ይደውሉለት፡

ከ PHP ምልክት ያድርጉ
// Both the sender (in $tron) and the signer must be the SAME wallet. // Make sure TRON_PRIVATE_KEY in your environment matches the wallet that sent the TRX. $delegateTo = 'TWalletThatNeedsEnergy'; $signature = trim(shell_exec( sprintf('node sign.js %s %s', escapeshellarg($txHash), escapeshellarg($delegateTo) ) )); if (!$signature) { throw new Exception('Signing failed. Check that node and tronweb are installed and TRON_PRIVATE_KEY is set.'); } echo "Signed: " . substr($signature, 0, 20) . "...\n";

6. ውክልናውን ይጠይቁ

የይገባኛል ጥያቄ ውክልና
// $txHash, $delegateTo, and $signature are all defined in the previous steps. $ch = curl_init("${api}/delegate"); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode([ 'tx_hash' => $txHash, 'delegate_to' => $delegateTo, 'signature' => $signature, ]), ]); $result = json_decode(curl_exec($ch), true); curl_close($ch); echo "Energy: " . $result['energy'] . "\n"; echo "Ref: " . $result['ref'] . "\n";

7. USDT ይላኩ

ዩኤስዲቲ ይላኩ
// Energy is now delegated. Send USDT. $contract = $tron->contract($usdt); $transfer = $contract->transfer($delegateTo, 10 * pow(10, 6)); echo "USDT sent: " . $transfer . "\n";

የስህተት አያያዝ

የይገባኛል ጥያቄውን በትንሽ የድጋሚ ሙከራ ረዳት ውስጥ ጠቅልለው። በጣም የተለመደው ስህተት payment_verification_failed ቴክሱ ገና በሰንሰለት ላይ መረጃ ጠቋሚ ካልተደረገለት - ለጥቂት ሰከንዶች ይጠብቁ እና አንድ ጊዜ እንደገና ይሞክሩ።

የስህተት አያያዝ
function claimDelegation($api, $txHash, $delegateTo, $signature, $retries = 3) { for ($i = 0; $i < $retries; $i++) { $ch = curl_init("${api}/delegate"); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode([ 'tx_hash' => $txHash, 'delegate_to' => $delegateTo, 'signature' => $signature, ]), ]); $result = json_decode(curl_exec($ch), true); curl_close($ch); if (!isset($result['error'])) { return $result; // Success } switch ($result['error']) { case 'payment_verification_failed': // Most common: tx not yet indexed. Wait and retry. sleep(3); continue 2; case 'hash_already_used': throw new Exception('This tx hash has already been claimed'); case 'signature_mismatch': throw new Exception('Signer does not match payment sender. Sign with the same wallet that sent TRX.'); case 'delegation_failed': // Refund queued automatically if payment was verified throw new Exception('Delegation failed: ' . $result['message']); default: throw new Exception($result['message'] ?? 'Unknown error'); } } throw new Exception('Transaction not found after retries'); }

የተሟላ ምሳሌ

delegate-energy.php
<?php require_once 'vendor/autoload.php'; use IEXBase\TronAPI\Tron; $tron = new Tron(); $tron->setPrivateKey(getenv('TRON_PRIVATE_KEY')); $tron->setAddress(getenv('TRON_WALLET_ADDRESS')); $api = 'https://api.tronnrg.com'; $addr = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx'; try { $delegateTo = 'TRecipientWallet'; $trxAmount = 4; // min 4, max 1000 — energy = trxAmount × 16,250 // 1. Send TRX (linear pricing: 16,250 energy per TRX) $payment = $tron->sendTrx($addr, $trxAmount); $txHash = $payment['txid']; echo "Payment: ${txHash}\n"; // 2. Sign via Node helper (see Step 5 above) $signature = trim(shell_exec( sprintf('node sign.js %s %s', escapeshellarg($txHash), escapeshellarg($delegateTo) ) )); if (!$signature) throw new Exception('Signing failed'); // 3. Claim delegation (with retry) $result = claimDelegation($api, $txHash, $delegateTo, $signature); echo "Energy: " . $result['energy'] . "\n"; echo "Ref: " . $result['ref'] . "\n"; // 4. Send USDT (energy is now available) $contract = $tron->contract('TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'); $transfer = $contract->transfer($delegateTo, 10 * pow(10, 6)); echo "USDT sent: ${transfer}\n"; } catch (Exception $e) { echo "Error: " . $e->getMessage() . "\n"; }
Telegram WhatsApp