วิธี

วิธีลดค่าธรรมเนียมการโอน USDT ผ่าน API : ขั้นตอนทีละขั้นด้วย TronNRG API

สรุปสั้นๆ: การโอน USDT TRC-20 มาตรฐานใช้ Energy 65,000 หน่วย หากกระเป๋าเงินของคุณไม่มี Energy อยู่ Tron จะเผา TRX ประมาณ 13 หน่วยจากยอดคงเหลือของคุณเพื่อชดเชย แต่ด้วย API TronNRG คุณสามารถมอบ Energy จำนวนเดียวกันนั้นให้ผู้อื่นได้โดยแลกกับ TRX เพียง 4 หน่วย ซึ่งคิดเป็นประมาณ 70% ของการส่งแต่ละครั้ง การทำงานร่วมกันประกอบด้วยการดำเนินการ HTTP สามขั้นตอน: ส่ง TRX ไปยังที่อยู่สำหรับส่ง, ลงนามในข้อความแสดงความเป็นเจ้าของ และส่ง POST ไปยังปลายทาง /delegate คู่มือนี้จะอธิบายแต่ละขั้นตอนพร้อมโค้ดและข้อผิดพลาดที่พบบ่อยที่สุดสี่ประการที่คุณจะพบเจอในการใช้งานจริง

ก่อนที่คุณจะเริ่มต้น

คุณต้องมีสามสิ่งต่อไปนี้ก่อนเรียกใช้ API ครั้งแรก:

กระเป๋าเงิน Tron ที่มี TRX อย่างน้อย 4 TRX เพื่อชำระค่าธรรมเนียมการมอบหมายหนึ่งครั้ง ในเวอร์ชันใช้งานจริงอาจต้องใช้มากกว่านี้ เพราะคุณจะต้องจ่ายค่าธรรมเนียมต่อการโอนแต่ละครั้ง และการเติมเงินเข้ากระเป๋าเงินแบบออนไลน์เป็นระยะๆ นั้นง่ายกว่าการเติมเงินจำนวนน้อยๆ ต่อการส่งแต่ละครั้ง

วิธีการลงนามข้อความ Tron TronWeb มีเมธอด tronWeb.trx.signMessageV2() ให้ใช้งาน Python ใช้ tron.trx.sign_message_v2() ผ่านไลบรารี tronpy ส่วน PHP ใช้ไลบรารี iexbase/tron-api เอกสารอ้างอิง API TronNRG มีตัวอย่างการใช้งานในทั้งสี่ภาษา

ที่อยู่กระเป๋าเงินของผู้รับ ตัดสินใจล่วงหน้าว่าจะมอบหมายไปยังกระเป๋าเงินของผู้ชำระเงินโดยตรง (กรณีที่ง่ายที่สุด) หรือไปยังกระเป๋าเงินอื่นที่คุณควบคุม (การตั้งค่าคลังเงิน) ทั้งสองวิธีใช้ได้ผล ลายเซ็นจะเชื่อมโยงทั้งสองเข้าด้วยกัน

สิ่งที่คุณกำลังสร้างอยู่จริง ๆ

ฟังก์ชันนี้เป็นตัวห่อหุ้มฟังก์ชันการส่ง USDT ที่มีอยู่ของคุณ ตัวห่อหุ้มนี้จะดำเนินการ HTTP สามขั้นตอน (ชำระเงิน ลงนาม รับสิทธิ์) รอให้ Energy เข้ามา จากนั้นเรียกใช้ตรรกะการโอน USDT ที่มีอยู่ของคุณ นั่นคือการผสานรวมทั้งหมด รายละเอียดของแต่ละขั้นตอนอยู่ด้านล่าง

ขั้นตอนที่ 1: ส่ง TRX ไปยังที่อยู่จัดส่ง

ส่ง TRX จากกระเป๋าเงินที่คุณใช้ชำระ Energy ไปยังที่อยู่จัดส่งของ TronNRG จำนวนขั้นต่ำคือ 4 TRX (ซึ่งซื้อ Energy ได้ 65,000 หน่วย เพียงพอสำหรับการโอน USDT มาตรฐานหนึ่งครั้ง) จำนวนสูงสุดต่อการมอบหมายคือ 1,000 TRX ( Energy 16.25 ล้านเหรียญ) ราคาจะเป็นแบบเชิงเส้นที่ 16,250 Energy ต่อ TRX ในระหว่างนั้น

ใน TronWeb :

รหัสขั้นตอนที่ 1

const DISPATCH = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx';
const payment = await tronWeb.trx.sendTransaction(DISPATCH, 4 * 1e6);
// payment.txid is what you will sign in Step 2

ข้อผิดพลาดที่พบบ่อย: การส่ง TRX ในรูปแบบจำนวนเต็มที่กำหนดเป็น SUN แต่ลืมการแปลงค่า TRX มีทศนิยม 6 ตำแหน่ง 4 TRX เท่ากับ 4_000_000 SUN ( 4 * 1e6 ) การแปลงค่าผิดพลาดอาจทำให้ส่ง TRX ไปน้อยมาก (การมอบหมายสิทธิ์จะน้อยเกินไป) หรือส่งไปหลายร้อย TRX (การมอบหมายสิทธิ์จะสำเร็จ แต่คุณจะต้องจ่ายมากกว่าที่จำเป็นมาก) ควรคูณจำนวนเงินด้วยสองเท่าก่อนส่งไปยัง sendTransaction เสมอ

ขั้นตอนที่ 2: ลงนามในข้อความอนุญาต

API ต้องการหลักฐานยืนยันว่าบุคคลที่อ้างสิทธิ์ในการมอบหมายนั้นเป็นบุคคลเดียวกันกับผู้ที่ชำระเงิน คุณสามารถแสดงหลักฐานนี้ได้โดยการลงนามในข้อความด้วยรหัสส่วนตัวของกระเป๋าเงินที่ใช้ชำระเงิน รูปแบบข้อความมีดังนี้:

{payment_tx_hash}:{delegate_to_address}

โดยที่ payment_tx_hash คือ txid ที่ได้จากขั้นตอนที่ 1 และ delegate_to_address คือที่อยู่ Tron ที่คุณต้องการมอบหมาย Energy ให้ ใน TronWeb :

รหัสขั้นตอนที่ 2

const message = `${payment.txid}:${delegateTo}`;
const signature = await tronWeb.trx.signMessageV2(message);

เหตุผลที่ใช้การออกแบบนี้: เพราะจะช่วยขจัดความจำเป็นในการใช้คีย์ API ในขณะที่ยังคงรักษาความปลอดภัยของการมอบหมายสิทธิ์ไว้ ไม่มีใครสามารถอ้างสิทธิ์ในการชำระเงินของคุณได้ เพราะมีเพียงคุณเท่านั้นที่ถือคีย์ส่วนตัว คุณยังสามารถชำระเงินจากกระเป๋าเงิน A และมอบหมายให้กระเป๋าเงิน B ได้ ตราบใดที่คุณควบคุมกระเป๋าเงิน A อยู่ — ซึ่งมีประโยชน์สำหรับคลังที่ใช้สนับสนุน Energy สำหรับกระเป๋าเงินผู้ส่งหลายใบจากผู้จ่ายเงินรายเดียว

ข้อผิดพลาดที่พบบ่อย: การใช้วิธีการลงนามที่ไม่ถูกต้อง Tron มีมาตรฐานการลงนามข้อความสองแบบ คือ signMessage (แบบเก่า) และ signMessageV2 (เข้ากันได้กับ EIP-191) API คาดหวังให้ใช้ V2 การใช้แบบเก่าจะสร้างลายเซ็นที่ดูเหมือนถูกต้อง แต่ API จะปฏิเสธเนื่องจากลายเซ็นไม่ตรงกัน

ขั้นตอนที่ 3: รับมอบอำนาจของคุณ

ส่งค่าแฮชการชำระเงิน กระเป๋าเงินปลายทาง และลายเซ็นไปยัง api.tronnrg.com/delegate ในรูปแบบ JSON

รหัสขั้นตอนที่ 3

const res = await fetch('https://api.tronnrg.com/delegate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tx_hash: payment.txid,
delegate_to: delegateTo,
signature
})
}).then(r => r.json());

API จะส่งคืนฟิลด์สามฟิลด์ที่คุณจะใช้ ได้แก่ res.energy (ปริมาณ Energy ที่มอบหมาย ซึ่งเท่ากับ TRX ที่ส่งคูณด้วย 16,250), res.delegations[0].tx (แฮชธุรกรรมการมอบหมายบนบล็อกเชน — เก็บข้อมูลนี้ไว้สำหรับบันทึกการตรวจสอบของคุณ) และ res.ref (รหัสอ้างอิง เช่น nrg_d_42 ซึ่งมีประโยชน์สำหรับการสอบถามการสนับสนุน)

การมอบอำนาจจะถูกบันทึกบนบล็อกเชนภายในเวลาประมาณ 3 วินาทีหลังจากที่การเรียกร้องสำเร็จ และจะคงอยู่เป็นเวลา 15 นาที นับจากเวลานั้น หลังจาก 15 นาที Energy ที่ไม่ได้ใช้จะถูกส่งคืนไปยังพูล TronNRG โดยอัตโนมัติ — ไม่มีการคืนเงินบางส่วน

ขั้นตอนที่ 4: ประกาศการโอน USDT ของคุณ

ก่อนที่จะส่ง USDT โอน โปรดยืนยันว่า Energy ได้มาถึงแล้ว ตรวจสอบ tronWeb.trx.getAccountResources() บนกระเป๋าเงินปลายทางเป็นระยะ ๆ จนกว่า EnergyLimit - EnergyUsed จะมีค่าอย่างน้อย 65,000 โดยปกติแล้วจะใช้ช่วงเวลา 500 มิลลิวินาที และหมดเวลา 30 วินาที

จากนั้นส่ง USDT ตามปกติ Energy ที่ได้รับจะครอบคลุมค่าธรรมเนียม ไม่มีการเผา TRX จากกระเป๋าเงินของผู้ส่ง

รูปแบบขั้นตอนที่ 4

// Wait for Energy to arrive
await pollUntilEnergyAvailable(delegateTo, 65000, { interval: 500, timeout: 30000 });

// Broadcast the USDT transfer
const contract = await tronWeb.contract().at( USDT _CONTRACT);
const txHash = await contract.transfer(recipient, amount).send({ feeLimit: 20_000_000 });

ตั้งค่า feeLimit เสมอ หากเกิดปัญหา Energy ไม่มาส่ง และโค้ดของคุณยังคงส่งออกไป feeLimit จะจำกัดจำนวน TRX สูงสุดที่เครือข่ายสามารถใช้ได้ 20 TRX (แสดงเป็น 20,000,000 SUN) เป็นจำนวนสูงสุดที่เหมาะสม — เพียงพอที่จะครอบคลุมการโอนหนึ่งครั้งหาก Energy ล้มเหลว และจำกัดไว้เพื่อป้องกันไม่ให้ข้อผิดพลาดทำให้ hot wallet หมดเกลี้ยง

สิ่งนี้จะช่วยคุณประหยัดอะไรได้บ้าง

การประหยัดต่อการโอนแต่ละครั้งนั้นถูกกำหนดไว้ในหน่วย TRX : ประหยัดได้ประมาณ 9 TRX ในการส่ง USDT มาตรฐานทุกครั้ง (ประหยัดการใช้ TRX ได้ 13 TRX ลบด้วยค่าใช้จ่ายด้าน Energy 4 TRX ) ตัวเลขนี้ไม่เปลี่ยนแปลงตามสภาวะตลาด — มันเป็นคุณสมบัติระดับโปรโตคอลของเครือข่าย Tron สิ่งที่เปลี่ยนแปลงคือจำนวนเงินดอลลาร์ที่ 9 TRX นั้นคิดเป็นเท่าใด

เมื่อนำไปใช้ในปริมาณธุรกิจจริง การประหยัดต้นทุนจะเพิ่มขึ้นอย่างรวดเร็ว:

การโอนย้ายรายวัน การเผา TRX ประจำปี (ไม่มี API ) TRX รายปีผ่าน API TRX ที่สะสมได้ต่อปี การลดน้อยลง
10 ~47,450 14,600 ~32,850 ~69%
100 ~474,500 146,000 ~328,500 ~69%
500 ~2.37 ล้าน 730,000 ~1.64 ล้าน ~69%
1,000 ~4.75 ล้าน 1.46 ล้าน ~3.29 ล้าน ~69%
5,000 ~23.7 ล้าน 7.30 เมตร ~16.4 ล้าน ~69%

หากต้องการทราบตัวเลข USD ปัจจุบันที่ราคา TRX แบบเรียลไทม์ โปรดใช้ เครื่องคำนวณค่าธรรมเนียม TronNRG โดยป้อนปริมาณการซื้อขายรายวันของคุณ แล้วระบบจะแสดงผลการประหยัดเงินดอลลาร์แบบเรียลไทม์ให้คุณ

หากคุณทำการโอนมากกว่า 500 ครั้งต่อวัน การเปรียบเทียบกับการใช้ TRX ในการสร้าง Energy ด้วยตนเองก็คุ้มค่าเช่นกัน การใช้ TRX ในการสร้างพลังงานด้วยตนเองมีค่าใช้จ่ายต่อการโอนเกือบเป็นศูนย์ แต่ต้องใช้เงินทุนจำนวนมาก เครื่องคำนวณจุดคุ้มทุนของ การวางเดิมพันจะบอกคุณว่าจุดตัดระหว่าง API กับการใช้ TRX ในการสร้างพลังงานด้วยตนเองอยู่ที่ใดสำหรับปริมาณการโอนของคุณ

การแก้ไขปัญหา

มีข้อผิดพลาดสี่อย่างที่เกิดขึ้นบ่อยพอที่จะควรทราบล่วงหน้า:

ลายเซ็นไม่ตรงกัน (พบบ่อยที่สุด) API ใช้ลายเซ็น V2 แต่คุณใช้ลายเซ็นแบบ signMessage เดิม วิธีแก้ไข: เปลี่ยนไปใช้ signMessageV2 รายการรหัสข้อผิดพลาดทั้งหมดอยู่ใน เอกสารข้อผิดพลาด TronNRG

ไม่พบการชำระเงิน คุณเรียกใช้ /delegate ก่อนที่ธุรกรรมการชำระเงินจะได้รับการยืนยันบนบล็อกเชน วิธีแก้ไข: รออย่างน้อยหนึ่งบล็อก (ประมาณ 3 วินาที) หลังจากขั้นตอนที่ 1 ก่อนเรียกใช้ขั้นตอนที่ 3 ในโค้ด ให้ตรวจสอบ tronWeb.trx.getTransaction(payment.txid) ไปเรื่อยๆ จนกว่าจะได้ผลลัพธ์

การชำระเงินต่ำกว่าจำนวนขั้นต่ำ คุณส่ง TRX น้อยกว่า 4 TRX ระบบจะถือว่าการชำระเงินที่ต่ำกว่า 4 TRX เป็นโมฆะและจะคืนเงินโดยอัตโนมัติ วิธีแก้ไข: ตรวจสอบจำนวนเงินก่อนส่ง — จำนวนขั้นต่ำเป็นจำนวนที่แน่นอน

Energy ไม่มาถึง การมอบหมายสิทธิ์สำเร็จแล้วในฝั่ง API แต่กระเป๋าเงินเป้าหมายยังคงไม่แสดง Energy วิธีแก้ไข: รออีกหนึ่งบล็อกแล้วตรวจสอบอีกครั้ง — การเผยแพร่ข้อมูลอาจใช้เวลา 6 วินาทีแทนที่จะเป็น 3 วินาที หาก Energy ยังไม่ปรากฏหลังจาก 30 วินาที ให้ตรวจสอบว่าที่อยู่กระเป๋าเงินเป้าหมายที่คุณส่งตรงกับที่คุณกำลังสอบถาม (การพิมพ์ผิดมักเป็นสาเหตุหลัก)

▸ API TronNRG พร้อมใช้งานแล้วที่ api.tronnrg.com

อ่านเอกสารฉบับเต็ม →

สำหรับปริมาณการใช้งานระดับองค์กร: ติดต่อ TronNRG ทาง Telegram เพื่อขอการยืนยันการเชื่อมต่อเว็บฮุค ราคาสำหรับการสั่งซื้อจำนวนมาก และข้อตกลงระดับบริการ (SLA) แบบกำหนดเอง

คู่มือที่เกี่ยวข้อง: API ของ Tron Energy สำหรับนักพัฒนา · โอน USDT โดยอัตโนมัติในปริมาณมาก · ส่ง USDT ในราคาต่ำกว่า 1 ดอลลาร์

เรียกใช้ API เพียง 3 ครั้ง รับส่วนลด 70% สำหรับทุกการโอน USDT

TronNRG พร้อมใช้งานแล้วที่ api.tronnrg.com ขั้นต่ำ 4 TRX ราคาแบบแปรผันตามจำนวน TRX สูงสุด 1,000 TRX การมอบหมายสิทธิ์ใช้เวลา 3 วินาที การตรวจสอบสิทธิ์แบบใช้ลายเซ็น ไม่จำเป็นต้องใช้คีย์ API เอกสารฉบับเต็มในทุกภาษาที่รองรับอยู่ที่ support.tronnrg.com

ค่าเช่าพลังงาน →

FAQ

วิธีที่เร็วที่สุดในการลดค่าธรรมเนียมการโอน USDT โดยใช้โปรแกรมคืออะไร?
ใช้ API การมอบหมาย Energy API ของ TronNRG ที่ api.tronnrg.com จะมอบหมาย Energy 65,000 หน่วย (การโอน USDT มาตรฐานหนึ่งครั้ง) ในราคา 4 TRX แทนที่จะเป็นประมาณ 13 TRX ที่เครือข่ายจะต้องใช้ไป — ลดค่าธรรมเนียมได้ประมาณ 70% การทำงานร่วมกันประกอบด้วยการดำเนินการ HTTP สามขั้นตอน: ส่ง TRX ไปยังที่อยู่จัดส่ง ลงนามในข้อความแสดงความเป็นเจ้าของ และส่ง POST ไปที่ /delegate เวลาตั้งแต่ต้นจนจบประมาณ 3 วินาที ก่อนที่คุณจะสามารถส่งการโอน USDT ของคุณได้
ฉันจำเป็นต้องมีคีย์ API เพื่อใช้งาน api.tronnrg.com หรือไม่?
ไม่จำเป็นต้องใช้คีย์ API สำหรับขั้นตอนการมอบหมายมาตรฐาน การตรวจสอบสิทธิ์ทำได้โดยการลงนามข้อความด้วยคีย์ส่วนตัวของกระเป๋าเงินที่ใช้ชำระเงิน ซึ่งเป็นการพิสูจน์ความเป็นเจ้าของบนบล็อกเชนและช่วยให้ API สามารถตรวจสอบคำขอได้โดยไม่ต้องตั้งค่าบัญชี แดชบอร์ด หรือหมุนเวียนรหัสลับใดๆ สำหรับปริมาณธุรกรรมระดับองค์กร (มากกว่า 500 รายการต่อวัน) พร้อมการยืนยันผ่านเว็บฮุคและ SLA ที่กำหนดเอง โปรดติดต่อ TronNRG ทาง Telegram
ฉันสามารถชำระเงินจากกระเป๋าเงินหนึ่งและมอบหมาย Energy ให้กับอีกกระเป๋าเงินหนึ่งได้หรือไม่?
ใช่แล้ว ข้อความที่ลงนามแล้วจะผูกแฮชของธุรกรรมการชำระเงินเข้ากับที่อยู่กระเป๋าเงิน delegate_to ตราบใดที่คุณถือคีย์ส่วนตัวของกระเป๋าเงินที่ชำระเงิน คุณสามารถมอบหมาย Energy ที่ได้รับไปยังที่อยู่ Tron ใดก็ได้ ซึ่งมีประโยชน์สำหรับการตั้งค่าคลังที่กระเป๋าเงินที่ให้ทุนจ่ายค่า Energy ในนามของกระเป๋าเงินที่ส่งหลายใบ
รูปแบบการคิดราคาเป็นอย่างไร — ฉันต้องจ่าย 4 TRX ทุกครั้งหรือไม่?
ราคาจะคิดตามสัดส่วนเชิงเส้นที่ 16,250 Energy ต่อ TRX โดยมีขั้นต่ำ 4 TRX (65,000 Energy การโอนมาตรฐานหนึ่งครั้ง) และสูงสุด 1,000 TRX (16.25 ล้าน Energy ) ดังนั้น 8 TRX จะซื้อ Energy ได้เพียงพอสำหรับการโอนมาตรฐานสองครั้ง หรือการโอนไปยังกระเป๋าเงินใหม่หนึ่งครั้ง (ซึ่งมีค่าใช้จ่ายเป็นสองเท่า) 40 TRX จะซื้อพลังงานได้เพียงพอสำหรับการโอน 10 ครั้ง และอื่นๆ การมอบหมายสิทธิ์จะคงอยู่เป็นเวลา 15 นาที ดังนั้นคุณสามารถชำระเงินเพียงครั้งเดียวและส่งธุรกรรม USDT หลายรายการภายในช่วงเวลานั้นได้
จะเกิดอะไรขึ้นหากการมอบหมายอำนาจล้มเหลวหลังจากที่ฉันชำระเงินไปแล้ว?
TronNRG จะคืน TRX ไปยังที่อยู่ผู้ส่งบนบล็อกเชนโดยอัตโนมัติ หากการมอบหมายไม่สามารถดำเนินการได้สำเร็จไม่ว่าด้วยเหตุผลใดก็ตาม จึงไม่มีสถานการณ์เงินติดค้าง อย่างไรก็ตาม ในการใช้งานจริง คุณควรมีกลไกสำรองไว้ด้วย: หากการเรียกใช้ /delegate ล้มเหลว หรือ Energy ไม่มาถึงภายในระยะเวลาที่เหมาะสม ให้ทำการโอน USDT โดยไม่มี Energy (เครือข่ายจะเผา TRX แต่การโอนยังคงเสร็จสมบูรณ์) และบันทึกเหตุการณ์ไว้เพื่อตรวจสอบ
บริการ TronNRG เป็นบริการแบบไม่เก็บรักษาข้อมูลใช่หรือไม่?
ใช่แล้ว Energy จะถูกส่งผ่านกลไกการมอบหมายระดับโปรโตคอลดั้งเดิมของ Tron TronNRG ไม่เคยเก็บ USDT ของคุณ ไม่จำเป็นต้องเชื่อมต่อกับกระเป๋าเงิน และไม่ขออนุมัติโทเค็นใดๆ บริการนี้จะส่ง Energy ไปยังที่อยู่กระเป๋าเงินของคุณ คุณส่ง USDT จากที่อยู่กระเป๋าเงินของคุณ การดำเนินการทั้งสองเป็นอิสระต่อกันอย่างสมบูรณ์ โทเค็นเดียวที่ TronNRG เกี่ยวข้องคือ TRX ที่คุณส่งเพื่อซื้อ Energy
ภาษาโปรแกรมใดบ้างที่มีตัวอย่างการใช้งานจริง?
เอกสารสำหรับนักพัฒนา TronNRG ที่ support.tronnrg.com มีตัวอย่างที่สามารถคัดลอกและวางได้ใน JavaScript ( TronWeb ), Python (tronpy), PHP (iexbase/tron-api) และ cURL ภาษาใดก็ตามที่สามารถลงนามข้อความ Tron และทำการเรียก HTTP สามารถผสานรวมได้ — การใช้งาน Go, Rust, Java และ C# ได้ถูกนำไปใช้งานจริงบน API นี้แล้ว
Telegram WhatsApp