Biaya Transfer TRC-20 Diuraikan: Energi, Bandwidth, dan Apa yang Sebenarnya Dibebankan
Dua Sumber Daya, Satu Transaksi
Setiap transfer TRC-20 di TRON mengonsumsi dua sumber daya yang berbeda: bandwidth dan energi. Keduanya ditagih secara terpisah, diambil dari kumpulan terpisah, dan memiliki mekanisme pengisian ulang yang sama sekali berbeda. Sebagian besar pengembang memahami salah satunya, tetapi interaksi di antara keduanya adalah tempat biaya tetap terkendali atau melonjak.
Bandwidth menutupi biaya byte mentah untuk menyiarkan transaksi ke jaringan. Energi menutupi biaya eksekusi VM dari menjalankan logika smart contract. Transfer TRX sederhana hanya membutuhkan bandwidth. Transfer TRC-20, yang memicu fungsi transfer(address,uint256) kontrak token, membutuhkan keduanya.
Bandwidth: Bagian yang Lebih Sederhana
Setiap akun TRON mendapatkan 600 bandwidth gratis per hari melalui alokasi dasar. Transaksi transfer TRC-20 standar biasanya berukuran sekitar 345 byte, yang setara dengan sekitar 345 unit bandwidth (jaringan membebankan 1 bandwidth per byte data transaksi, termasuk tanda tangan dan field memo).
Jika akun Anda memiliki cukup bandwidth harian gratis atau TRX yang di-staking untuk bandwidth, transaksi tidak menelan biaya apa pun pada dimensi ini. Jika kumpulan bandwidth kosong, jaringan membakar TRX langsung dengan tarif 0.001 TRX per unit bandwidth (1,000 SUN per byte). Untuk transaksi 345 unit, itu 0.345 TRX dibakar dari alamat pengirim, tanpa perlu staking.
600 unit harian gratis direset pada 00:00 UTC. Jika Anda melakukan transfer volume rendah, Anda jarang menemui biaya bandwidth sama sekali. Pengirim volume tinggi biasanya men-staking TRX untuk bandwidth daripada membakar, karena hasil staking menutupi lebih banyak transaksi per TRX dibandingkan tarif pembakaran.
Energi: Tempat Biaya Sebenarnya Berada
Transfer USDT TRC-20 mengonsumsi sekitar 65,000 energy. Angka tersebut berasal dari eksekusi bytecode yang kompatibel dengan EVM di dalam TRON Virtual Machine: baca dan tulis penyimpanan ke pemetaan saldo kontrak, emisi event untuk log Transfer, dan pemeriksaan keamanan internal. Angka pastinya dapat sedikit bervariasi tergantung pada apakah slot penyimpanan ditulis untuk pertama kalinya (cold) versus diperbarui (warm), tetapi 65,000 adalah angka standar untuk transfer USDT khas antara dua alamat aktif. Transfer ke penerima yang saldo USDT-nya saat ini nol kira-kira menggandakan menjadi sekitar 130,000 energy karena slot penyimpanan baru dialokasikan.
Energi memiliki dua sumber: TRX Anda sendiri yang di-staking, atau energi yang disewa (didelegasikan) dari pihak ketiga. Men-staking TRX memberi Anda bagian proporsional dari kumpulan energi total jaringan, dan kumpulan tersebut beregenerasi secara linear kembali ke 100% selama 24 jam. Rasio energi per TRX yang di-staking bergantung pada jumlah total stake di seluruh jaringan dan bergeser seiring waktu. Memulihkan 65,000 energy dari stake Anda sendiri saja membutuhkan sejumlah besar TRX yang terkunci, itulah sebabnya sewa energi ada.
Apa yang Terjadi Saat Energi Habis
Jika transaksi membutuhkan 65,000 energy dan akun Anda tidak memiliki cukup yang tersedia, jaringan tidak diam-diam memproses eksekusi parsial. Sebaliknya, jaringan memeriksa fee_limit transaksi dan membakar TRX dari akun Anda, hingga batas itu, untuk menutupi kekurangan energi, lalu mengeksekusi transaksi penuh. Jika kekurangan akan melebihi fee_limit Anda, transaksi gagal sebelum perubahan status apa pun dilakukan.
Ini adalah skenario yang ingin Anda hindari: membayar baik untuk energi yang di-staking maupun untuk TRX yang dibakar di atasnya, atau lebih buruk, gagal pada transaksi sepenuhnya karena fee_limit diatur terlalu rendah. Anda dapat memeriksa biaya TRX saat ini untuk menutupi 65,000 energy di halaman harga sebelum berkomitmen pada strategi.
Stake 2.0 Mengubah Cara Kerja Delegasi
Sebelum Stake 2.0 (diaktifkan di mainnet pada April 2023), staking dan delegasi saling terkait: pemilik sumber daya memanggil freezeBalance dan menentukan alamat penerima secara langsung, freeze terikat ke penerima itu, dan model tersebut tidak memiliki fleksibilitas yang dibutuhkan untuk pasar sumber daya.
Stake 2.0 memperkenalkan freezeBalanceV2 dan memisahkan tindakan staking dari tindakan delegasi. Anda sekarang men-staking TRX ke dalam kumpulan energi atau bandwidth pribadi, lalu mendelegasikan sumber daya tersebut secara terpisah melalui delegateResource. Ini berarti:
- Delegasi dapat dicabut secara default dan dapat ditugaskan ulang tanpa membatalkan staking. Ada flag
lockopsional: mengaturnya ke true menahan delegasi selama setidaknya periode penguncian minimum jaringan (saat ini 3 hari). Tanpa flag itu, Anda dapat menarik delegasi kembali kapan saja. - Periode tunggu unfreeze 14 hari berlaku untuk stake TRX yang mendasarinya ketika Anda menariknya, bukan untuk delegasi itu sendiri.
- Platform sewa energi dapat memutar delegasi ke banyak alamat penerima dari satu posisi yang di-staking.
Secara on-chain, ketika platform sewa seperti tronenergyrent.com mendelegasikan energi ke alamat Anda, jumlah yang didelegasikan tercermin dalam status akun Anda, terlihat melalui wallet/getaccount sebagai acquired_delegated_frozenV2_balance_for_energy. Energi yang dapat digunakan yang sesuai muncul terhadap batas energi akun Anda dan dapat segera dibelanjakan tanpa tindakan apa pun di sisi Anda.
Biaya Sewa vs. Biaya Pembakaran
Sewa dihargai per tingkat durasi: 1 jam, 1 hari, 3 hari, 30 hari. Tingkat 1 jam adalah yang termurah dalam TRX absolut, tingkat 30 hari adalah yang termahal, dengan 1 hari dan 3 hari di antaranya. Harga mencerminkan berapa lama stake TRX yang mendasari platform terkunci ke alamat Anda: jendela yang lebih panjang = lebih banyak modal terikat = lebih banyak TRX dibebankan. Untuk angka per tingkat saat ini dalam TRX, lihat halaman harga.
Dibandingkan dengan pembakaran, sewa hampir selalu menang untuk pengirim yang merencanakan ke depan. Membakar 65,000 energy penuh pada tarif dinamis jaringan itu sederhana tetapi terpapar pada berapa pun biaya pembakaran saat ini, yang dapat bergerak tajam ketika total permintaan energi jaringan bergeser. Sewa memberi Anda biaya TRX tetap pada saat pemesanan.
Urutan Prioritas Sumber Daya Selama Eksekusi
Saat transaksi dieksekusi, VM mengambil energi dalam urutan tertentu:
- Energi yang didukung oleh sumber daya yang didelegasikan ke alamat Anda oleh akun lain
- Energi dari TRX Anda sendiri yang di-staking
- TRX yang dibakar dari akun Anda untuk menutupi sisa kekurangan (dibatasi oleh
fee_limit)
Urutan ini penting untuk strategi sewa. Energi yang didelegasikan dikonsumsi sebelum stake Anda sendiri. Jadi jika Anda memiliki baik energi Anda sendiri yang di-staking maupun energi yang disewa, porsi yang disewa diambil terlebih dahulu. Setelah jendela sewa kedaluwarsa dan delegasi diambil kembali, akun Anda kembali ke saldo yang di-staking sendiri atau, jika itu tidak cukup, ke pembakaran TRX.
Bandwidth mengikuti prioritas yang sama: alokasi harian gratis terlebih dahulu, lalu bandwidth yang di-staking, lalu pembakaran TRX. Tidak ada substitusi lintas sumber daya; Anda tidak dapat menggunakan energi cadangan untuk menutupi kekurangan bandwidth.
Membaca Status Sumber Daya Akun Anda On-Chain
Endpoint API TRON wallet/getaccountresource mengembalikan objek JSON dengan field yang harus Anda ketahui:
EnergyLimit: total energi yang saat ini tersedia untuk akun Anda dari stake Anda sendiriEnergyUsed: energi yang dikonsumsi dalam jendela 24 jam saat iniTotalEnergyLimit: total energi seluruh jaringan (berguna untuk menghitung rasio stake-ke-energi)TotalEnergyWeight: total bobot yang di-staking seluruh jaringan untuk energifreeNetLimit: tunjangan bandwidth harian gratis Anda (biasanya 600)NetLimit: bandwidth dari TRX Anda sendiri yang di-stakingNetUsed: bandwidth yang dikonsumsi hari iniTotalNetLimit,TotalNetWeight: total seluruh jaringan untuk bandwidth
Untuk melihat berapa banyak energi yang telah didelegasikan ke alamat Anda oleh orang lain, kueri wallet/getaccount dan baca field acquired_delegated_frozenV2_balance_for_energy. Untuk detail per pemberi delegasi, termasuk kedaluwarsa kunci apa pun, gunakan wallet/getdelegatedresourcev2.
Jika Anda membangun sistem yang mengirim transfer TRC-20 secara programatik, polling endpoint ini sebelum penyiaran memungkinkan Anda mendeteksi kondisi energi rendah sebelum mereka menyebabkan pembakaran TRX yang tidak terduga. Dokumentasi API menjelaskan cara mengintegrasikan pemeriksaan sumber daya dan pesanan energi ke dalam alur kerja otomatis.
Mengapa Kontrak Token Bervariasi dalam Konsumsi Energi
Angka 65,000 energy USDT spesifik untuk kontrak Tether di TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. Kontrak TRC-20 lain akan berbeda. Kontrak token dengan logika tambahan (mekanisme fee-on-transfer, pemeriksaan allowance untuk router, atau emisi event untuk beberapa topik) akan mengonsumsi lebih banyak energi per panggilan. Kontrak gaya ERC-20 minimal mungkin di bawah 30,000.
Satu-satunya cara yang andal untuk mengetahui biaya energi aktual kontrak adalah dengan mensimulasikan transaksi atau melihat catatan eksekusi historis untuk kontrak spesifik itu di block explorer. Jangan terapkan angka USDT secara universal pada semua token TRC-20.