Cara kerja delegasi energi TRON
Delegasi energi TRON adalah satu transaksi dan dua field akun. Sebuah alamat yang sudah melakukan staking TRX untuk energi memanggil delegateResource sambil menyebut penerimanya, dan sejak blok itu penerima tersebut bisa membelanjakan energi yang tidak pernah ia stake sendiri, sementara pihak yang melakukan staking tetap memegang tiap TRX yang dibekukannya. Tidak ada yang dipindahkan, tidak ada yang disetujui di sisi penerima, tidak ada kunci yang berpindah tangan. Inilah mekanisme yang menopang seluruh pasar sewa energi, dan yang berikut ini dibaca dari aktuator java-tron sendiri, dari pembacaan langsung mainnet dan dari dua kali jalan transaksional di testnet Nile pada 3 dan 4 September 2026.
Apa yang menyeberang, dan apa yang tinggal
TRX yang di-stake tidak pernah meninggalkan akun pemiliknya: mendelegasikan hanya memindahkannya di antara dua kantong di dalam akun itu, keluar dari saldo yang dibekukan untuk energi dan masuk ke saldo yang didelegasikan untuk energi. TRON Power — bobot suaranya — adalah jumlah kedua kantong itu, jadi meminjamkan tidak membuat pihak yang melakukan staking kehilangan suara maupun imbalan suara. Sebuah akun mainnet yang melakukan staking, dibaca pada 3 September 2026, menunjukkannya lebih baik daripada kode sumbernya: ia memberikan 3,080,000 suara sambil memegang kurang dari separuh jumlah itu dalam keadaan tidak didelegasikan, sisanya dipinjamkan, dan angka TRON Power yang diberikan node untuknya adalah kedua kantong itu dijumlahkan.
Penerimanya mendapat separuh tawaran yang lain: energi, dan tidak ada yang lain. Field yang ditulis sebuah delegasi pada akun penerima tidak masuk hitungan TRON Power, jadi energi pinjaman tidak membawa hak suara apa pun — penerima pada pembacaan yang sama itu sama sekali tidak punya angka TRON Power, dan begitu pula milik kami di Nile.
Apa yang ditunjukkan akun penerima
Dua angka bergerak. acquired_delegated_frozenV2_balance_for_energy naik sebesar jumlah yang didelegasikan, dan batas energi akun itu naik bersamanya — sebesar TRX yang didelegasikan dikali TotalEnergyLimit jaringan dibagi TotalEnergyWeight-nya, dipotong. Pada 3 September 2026 sebuah penerima di mainnet yang memegang 31246 TRX delegasi dari dua pemberi delegasi menunjukkan batas energi 299,638, yang persis aritmetika itu pada rasio yang dibawa jaringan malam tersebut: 180,000,000,000 berbanding 18,770,236,993.
Dan di situlah pembeli energi terkejut: sebuah delegasi dihitung dalam TRX, bukan dalam energi. Pembaginya adalah total bobot stake jaringan, ia bergerak tiap blok, dan angka yang diukur di tempat lain tidak ikut berpindah — stake yang sama bernilai sekitar 7.7 kali lebih banyak energi di Nile pekan itu dibanding di mainnet.
Kunciannya, dan empat penolakannya
Secara bawaan sebuah delegasi bisa ditarik kembali kapan saja. lock=true pada panggilan delegasinya adalah yang mencegah itu, dan hanya itu yang mencegahnya. Ia menerima satu parameter, lock_period, dihitung dalam blok berdurasi tiga detik — field yang terbaca seperti sebuah durasi padahal sebuah cacahan, jadi meminta 300 di antaranya karena Anda menginginkan 300 detik membeli lima belas menit, tanpa sepatah kata. Dibiarkan nol atau dihilangkan, ia berarti 86,400 blok: tiga hari. Batas atasnya adalah parameter chain, dan di mainnet pada 3 September 2026 ia berdiri di 864,000 blok, atau tiga puluh hari.
Kuncian bisa diperpanjang dan tidak pernah diperpendek. Delegasi kedua ke penerima yang sama hanya diterima kalau periodenya sekurang-kurangnya sepanjang waktu yang masih berjalan, dan ia lalu menyetel ulang masa berlaku seluruh saldo yang terkumpul alih-alih hanya bagian yang baru — jadi menambah delegasi yang terkunci akan mengunci ulang semua yang ada di bawahnya. Selain itu jaringan menolaknya. Keempat jawaban ini kembali dari sebuah node mainnet pada 3 September 2026, diarahkan ke sepasang alamat dengan kuncian dua puluh empat jam yang sedang berjalan; node-nya menjalankan validasi milik aktuatornya sendiri sewaktu menyusun panggilan mana pun dari keduanya, jadi keempatnya adalah jawaban aktuator itu sendiri dan tidak ada yang ditandatangani atau dikirim:
- kuncian satu blok di atas kuncian yang sedang berjalan —
The lock period for ENERGY this time cannot be less than the remaining time[86241000ms] of the last lock period for ENERGY!, yang menyebutkan berapa yang masih tersisa, dalam milidetik; - kuncian empat jam di atas kuncian yang sama — penolakan yang identik. Lebih panjang daripada kuncian yang baru bukanlah ujiannya; lebih panjang daripada sisa yang masih berjalan, itulah ujiannya;
- kuncian satu blok melewati plafonnya —
The lock period of delegate resource cannot be less than 0 and cannot exceed 864000!; - pembatalan delegasinya sendiri —
insufficient delegateFrozenBalance(Energy), request=1000000, unlock_balance=0. Bukan "kurang dari yang Anda minta": selama kunciannya bertahan, saldo yang terkunci sama sekali tidak dihitung.
Susunan yang lolos validasi bukanlah sebuah blok, jadi hal yang sama dikerjakan dengan kuncian milik kami sendiri. Dua kali jalan di Nile pada 4 September 2026 memasang kuncian, langsung meminta pembatalan delegasi, menunggu kunciannya habis lalu meminta lagi: ditolak dua-duanya dengan kalimat terakhir itu karakter demi karakter, diterima dua-duanya begitu masa berlakunya lewat — pada lima menit dan pada empat jam. Jalan yang panjang juga menuntaskan apa yang dihitung satuannya: di antara kedua transaksi itu jam pada header maju 4,801 slot tiga detik sementara tinggi bloknya maju 4,785, jadi enam belas slot tidak menghasilkan blok dan kunciannya tetap berjalan empat jam penuh. lock_period menghitung slot pada jam blok, bukan blok yang benar-benar dihasilkan.
Mengakhirinya, dan melihat bahwa ia berakhir
Pemberi delegasi memanggil undelegateResource, dan tanpa kuncian yang menghalangi hal itu selesai dalam satu blok. Tidak satu pun dari kedua panggilan itu membawa biaya di luar bandwidth — kedua aktuatornya mematok harganya sendiri pada nol — dan karena itulah energi bisa dijual dalam satuan menit sama sekali. Menghadapi kuncian yang sedang berjalan tidak ada pembatalan dan tidak ada biaya yang bisa membeli jalan keluar; mendelegasikan lagi dengan lock=false juga bukan jalan keluar, sebab itu menulis baris tersendiri dan membiarkan baris yang terkunci tetap berdiri.
Kunciannya terlihat di tepat satu tempat: baris delegasi untuk pasangan alamat itu, tempat expire_time_for_energy berupa stempel waktu dalam milidetik. Kunci yang tidak ada berarti tidak ada kuncian — itulah rupa delegasi milik penyedia sewa biasa, dan baris-baris sebuah pool mainnet, dibaca pada 3 September 2026, sama sekali tidak membawa kunci masa berlaku. Bacalah angka itu alih-alih menghitungnya: aktuatornya menstempelkannya dari header blok sebelumnya, jadi perhitungan dari blok delegasinya sendiri meleset satu blok, dan perhitungan dari stempel waktu transaksinya meleset sebesar angka yang berbeda tiap kali. Kedua kali jalan di Nile mencocoki nilai yang tersimpan sampai ke milidetiknya di bawah aturan yang pertama dan tidak di bawah dua yang lain.
Ketika sebuah delegasi berakhir, kedua field milik penerimanya tidak menjadi nol — keduanya lenyap dari jawabannya, dan baris delegasinya kembali kosong. Apa pun yang memantau sebuah akun harus memperlakukan yang hilang sebagai nol, kalau tidak ia akan terus menampilkan energi yang sudah pulang ke pemiliknya beberapa menit lalu.
Kenapa dompet penerima tidak menandatangani apa pun
Semuanya terjadi di sisi pemberi delegasi: penerimanya disebut di dalam transaksinya, satu field ditulis pada akunnya, dan tidak ada yang perlu diterima, disetujui atau dihubungkan — dan itu juga sebabnya sebuah delegasi tidak bisa menjangkau apa yang dipegang dompet tersebut. Dua syarat mengarah ke arah sebaliknya: alamatnya harus sudah ada sebagai akun, dan ia tidak boleh berupa kontrak, yang ditolak aktuatornya terang-terangan. Itulah yang membuat energi bisa disewakan lewat API sama sekali (apa itu energi, dan dari mana asalnya).
Apa yang dibangun penyewaan di atasnya
Penjual energi adalah akun yang punya stake dan kebiasaan mendelegasikan: ia mendelegasikan ke dompet pengirim Anda untuk satu jangka, Anda membelanjakan energinya pada sebuah transfer USDT, lalu ia menarik delegasinya kembali. Jangkanya berbeda dari penjual ke penjual; milik kami 300 detik, sebab sebuah transfer memakan hitungan detik. Sebuah pesanan menjawab dengan send_before — saat jendela pengirimannya menutup, tiga detik sebelum jangka itu habis — dan field itulah, bukan jam dinding, yang harus dijadikan patokan.
Semuanya terlihat selama jangkanya berjalan, dan itulah bagian yang berguna dari menyewa di atas rantai publik: transaksi delegasi pada dompet pengirimnya, batas energi yang naik padanya, dan baris di antara kedua alamat itu pada penjelajah mana pun yang membaca keadaan delegasi. Energinya entah ada di alamat itu atau tidak, dan yang ditagih adalah yang pertama (berapa biayanya sekarang). Dompet yang mengirim sepanjang hari adalah mekanisme yang sama yang dijadwalkan: sebuah aturan Auto-refill mengisinya kembali sesudah tiap transfer alih-alih meminta Anda membuat pesanan.
Dua hal yang belum kami ukur, dan keduanya pantas dikatakan terbuka. Yang pertama adalah apa yang dilakukan aktivitas staking milik akun penerima sendiri terhadap delegasi yang berdiri di atasnya: kalau penerimanya melakukan unstake atau mendelegasikan lagi ke pihak lain di tengah jangka, kode aktuatornya memberi kesan ada sesuatu yang bisa ditemukan, dan kami belum menjalankannya. Yang kedua adalah penambahan: kode sumbernya dan TIP-542 sama-sama mengatakan bahwa delegasi kedua yang diterima akan mengunci ulang seluruh saldo di bawahnya, dan kami belum pernah memasukkan satu pun.