Cara Menghitung Biaya Gas Ethereum: Base Fee, Priority Fee, dan Batas Gas
Pelajari arti unit gas, batas gas, base fee, priority fee, dan biaya maksimum di Ethereum, lalu hitung biaya transaksi yang sebenarnya.
Dalam panduan iniGas mengukur komputasi, bukan jumlah yang Anda kirim
Ringkasan singkat
Biaya gas Ethereum dihitung dengan mengalikan jumlah gas yang benar-benar digunakan oleh transaksi dengan harga gas efektif pada blok yang memuatnya. Protokol menetapkan dan membakar base fee; priority fee dapat diberikan kepada validator. Biaya maksimum adalah batas, bukan harga yang pasti Anda bayar.
Gas mengukur komputasi, bukan jumlah yang Anda kirim
Di Ethereum, gas adalah satuan untuk menghitung pekerjaan komputasi yang dibutuhkan EVM untuk memproses transaksi. Transfer ETH sederhana memerlukan pekerjaan yang relatif sedikit; memindahkan token atau menjalankan beberapa kondisi smart contract dapat membutuhkan lebih banyak. Karena itu, dua transaksi yang mengirim jumlah ETH sama bisa menggunakan jumlah gas berbeda jika pekerjaannya berbeda.
Unit gas menunjukkan banyaknya pekerjaan. Harga gas menunjukkan jumlah ETH yang Anda tawarkan per unit. Hasil kali keduanya adalah biaya. Batas gas adalah jumlah maksimum unit yang boleh dikonsumsi transaksi, sedangkan maxFeePerGas adalah batas harga per unit. Kolom-kolom ini bukan beberapa versi dari satu “biaya maksimum”.
Panduan ini membahas transaksi EIP-1559 standar di Ethereum mainnet. Blockchain lain dan jaringan layer 2 dapat memakai struktur biaya, aset pembayaran, dan label yang berbeda. Jangan otomatis menerapkan istilah Ethereum ke setiap jaringan. Panduan gas Ethereum.org dan panduan transaksinya menjelaskan definisi setiap kolom.
Penggunaan gas bergantung pada pekerjaan transaksi
EVM menetapkan biaya gas untuk komputasi dan perubahan state. Pemanggilan contract dapat menambah eksekusi fungsi, pembacaan atau penulisan penyimpanan, serta pencatatan event yang tidak diperlukan oleh transfer sederhana. Lebih banyak operasi atau jalur eksekusi yang lebih panjang dapat memakai lebih banyak gas. Gas yang digunakan tidak dihitung dengan mengalikan jumlah ETH yang dikirim atau harga pasar token.
Transfer ETH, transfer token, dan panggilan ke dapp menjalankan operasi yang berbeda. Pemanggilan contract dapat menjalankan fungsi tambahan serta membaca atau mengubah penyimpanan, sehingga dapat menggunakan lebih banyak gas daripada transfer sederhana. Untuk transaksi yang masuk ke blok, receipt mencatat jumlah gas yang benar-benar digunakan.
Ethereum.org memberi 21.000 gas sebagai contoh transfer ETH standar. Angka itu menjadi acuan untuk transfer sederhana, bukan batas gas yang bisa dipakai ulang untuk pemanggilan contract, karena pekerjaan pemanggilan bergantung pada fungsi yang dijalankan dan akses penyimpanannya.
Gas jaringan juga berbeda dari biaya penarikan sebuah layanan. Exchange dapat menambahkan biaya operasional atau memakai jadwal biayanya sendiri. Gas on-chain membayar komputasi yang diproses jaringan. Jika layar penarikan hanya menampilkan satu angka, periksa apakah angka itu menggabungkan biaya platform dengan biaya jaringan.
Batas gas dan gas yang digunakan adalah angka berbeda
Batas gas (gasLimit) adalah jumlah maksimum unit gas yang diizinkan untuk dikonsumsi transaksi. Gas yang digunakan (gasUsed) adalah jumlah yang benar-benar dikonsumsi saat eksekusi selesai. Menetapkan batas lebih tinggi tidak otomatis berarti semua unit dalam batas itu dikenai biaya. Untuk transaksi yang dimasukkan ke blok, biaya dihitung dari gas yang benar-benar dikonsumsi dan harga gas efektif; unit batas yang tidak digunakan tidak dikonsumsi.
Jika transaksi itu sendiri kehabisan gas saat eksekusi, seluruh batas gas akan digunakan dan transaksi gagal. Perubahan state dibatalkan, tetapi komputasi tetap dikenai biaya. Batas yang lebih tinggi memungkinkan lebih banyak pekerjaan, tetapi juga memperbesar paparan biaya gas maksimum: gasLimit × maxFeePerGas. Biaya aktual tetap bergantung pada gas yang digunakan dan harga efektifnya.
Batas gas adalah plafon, bukan prediksi penggunaan aktual. Batas bukan harga per unit, dan menaikkan harga tidak memperbaiki kekurangan unit gas. Jika Anda tidak memahami apa yang akan dijalankan sebuah pemanggilan, baca panduan resmi wallet atau aplikasinya sebelum mengubah batas secara sembarang.
Base fee berubah mengikuti permintaan ruang blok
Untuk transaksi EIP-1559, base fee adalah harga per gas yang ditetapkan protokol untuk suatu blok. Biaya maksimum transaksi harus cukup untuk menutup base fee pada blok yang memasukkannya. Protokol menyesuaikan base fee dari blok ke blok menurut seberapa banyak gas yang dipakai blok sebelumnya dibandingkan dengan targetnya. Base fee dapat naik atau turun; ini bukan tarif tetap selamanya.
Bagian base fee untuk gas yang benar-benar digunakan akan dibakar; validator tidak menerimanya sebagai tip. Karena base fee berubah dari blok ke blok, transaksi yang tertunda dapat menghadapi base fee berbeda saat dimasukkan ke blok dibandingkan saat dikirim.
Gwei adalah denominasi kecil ETH: 1 gwei sama dengan 0,000000001 ETH. Harga gas yang lebih tinggi menaikkan biaya dalam ETH meskipun jumlah gas yang digunakan tetap. Lebih banyak gas yang digunakan juga menaikkan biaya meskipun harga per unit tidak berubah. Keduanya dapat mengubah biaya dalam ETH, terpisah dari harga ETH dalam dolar.
Priority fee adalah tip yang dapat mendorong transaksi untuk dimasukkan
Priority fee adalah tip per gas yang ditawarkan kepada validator yang memasukkan transaksi. Pengguna bersaing memperebutkan ruang blok yang terbatas, sehingga tip lebih besar dapat membuat transaksi lebih menarik ketika kondisi lain serupa. Tip memberi sinyal urgensi, tetapi tidak menjamin transaksi masuk ke blok tertentu atau dalam waktu tertentu.
Angka priority fee yang tinggi berbeda dari jumlah unit gas yang dibutuhkan transaksi. Priority fee mengubah harga per unit; batas gas membatasi pekerjaan yang diizinkan. Pemanggilan contract yang rumit tetap dapat gagal jika gasnya kurang, sekalipun tip tinggi. Sebaliknya, unit gas yang cukup tidak membantu jika batas harganya tidak dapat menutup base fee blok.
Validator mempertimbangkan ruang blok dan kondisi transaksi lainnya saat memilih transaksi. Spesifikasi EIP-1559 menetapkan peran base fee dan priority fee yang berbeda serta membatasi harga efektif gabungannya agar tidak melampaui biaya maksimum.
Biaya maksimum adalah batas harga, bukan harga aktual
maxFeePerGas adalah harga tertinggi per unit yang bersedia Anda tanggung. maxPriorityFeePerGas adalah batas tertinggi tip per unit yang Anda tawarkan. Saat transaksi dimasukkan, harga efektifnya adalah base fee ditambah tip yang masih muat di dalam kedua batas tersebut. Tip yang diterapkan dibatasi oleh nilai yang lebih kecil antara maxPriorityFeePerGas dan maxFeePerGas - baseFee, sehingga harga efektif tidak melampaui biaya maksimum.
Misalnya, biaya maksimum 30 gwei, tip maksimum 2 gwei, dan base fee blok 18 gwei. Tip yang mungkin diterapkan adalah 2 gwei, sehingga harga efektifnya 20 gwei. Transaksi tidak otomatis membayar 30 gwei hanya karena itulah batas maksimumnya. Jika base fee naik menjadi 31 gwei, batas 30 gwei tidak cukup untuk blok itu dan transaksi tidak dapat dimasukkan ke dalamnya.
Saat base fee mendekati biaya maksimum, ruang untuk tip makin kecil. Bahkan jika batas tip 5 gwei, apabila maxFeePerGas - baseFee hanya 1 gwei, tip yang diterapkan paling banyak 1 gwei. Baca kedua batas bersama base fee saat itu.

Hitung biaya dan batasnya dengan angka ilustratif
Angka berikut adalah asumsi untuk menunjukkan cara menghitung saja. Misalkan batas gas transaksi 30.000 unit, gas yang digunakan 24.000 unit, base fee blok 18 gwei, batas tip maksimum 2 gwei, dan biaya maksimum 30 gwei. Tip yang diterapkan adalah min(2, 30 - 18) = 2 gwei, sehingga harga efektifnya 18 + 2 = 20 gwei.
Biaya gas aktual adalah 24.000 × 20 = 480.000 gwei. Karena 1 ETH sama dengan 1.000.000.000 gwei, jumlah itu adalah 0,00048 ETH. Bagian base fee adalah 24.000 × 18 = 432.000 gwei, atau 0,000432 ETH. Bagian tip adalah 24.000 × 2 = 48.000 gwei, atau 0,000048 ETH. Jika dijumlahkan, keduanya sama dengan biaya aktual 0,00048 ETH.
Mengalikan batas gas penuh dengan batas harga keduanya menghasilkan 30.000 × 30 = 900.000 gwei, atau 0,0009 ETH. Itulah batas biaya gas dengan pengaturan tersebut jika seluruh batas dan harga maksimum digunakan. Angka ini bukan biaya aktual pada contoh tadi. ETH yang dikirim ke penerima terpisah dari biaya gas. Jangan menganggap batas maksimum sebagai biaya tetap atau biaya gas sebagai persentase jumlah transfer. Angka-angka ini hanya ilustrasi, bukan penawaran harga langsung.
Transaksi gagal tetap dapat menghabiskan gas
Jangan berasumsi biaya gas dikembalikan hanya karena wallet menampilkan pesan “gagal”. Jika transaksi sudah dimasukkan ke blok dan eksekusi EVM dimulai sebelum dibatalkan, perubahan state dapat dibatalkan, tetapi gas yang dipakai untuk komputasi tetap dikenai biaya. Jika transaksi itu sendiri kehabisan gas saat eksekusi, seluruh batas gas akan digunakan. Komputasi tetap berlangsung meskipun hasil yang dimaksud tidak tercapai.
Transaksi yang gagal validasi sebelum dimasukkan ke blok berbeda. Contohnya, transfer ETH yang dikirim dengan gas di bawah jumlah yang diwajibkan dapat ditolak sebelum masuk ke blok; dalam kasus itu gas eksekusi tidak digunakan. “Ditolak sebelum dimasukkan” dan “dimasukkan, lalu dibatalkan saat eksekusi” bukan status yang sama.
Periksa hash transaksi untuk melihat status, gas yang digunakan, harga gas efektif, dan hasil eksekusi. Pesan error singkat wallet mungkin tidak menunjukkan penyebabnya. Ethereum.org membedakan penolakan validasi sebelum transaksi masuk ke blok dari transaksi yang kehabisan gas saat eksekusi.
Baca batas, harga, dan jumlah transfer secara terpisah
Sebelum menandatangani, pastikan jaringan yang dipakai dan pahami apakah transaksinya transfer sederhana atau pemanggilan contract. Wallet dapat menampilkan estimasi biaya, batas gas, estimasi base fee, batas priority fee, batas biaya maksimum, serta jumlah ETH atau token yang akan dikirim. Semua angka itu menjawab pertanyaan berbeda. Jika layar hanya menampilkan biaya gas maksimum, buka rinciannya untuk mengetahui batas mana yang dimaksud, jangan menganggapnya sebagai potongan yang pasti.
Wallet dapat mengisi estimasi biaya, sehingga sering kali Anda tidak perlu menyesuaikan setiap kolom secara manual. Estimasi ini didasarkan pada kondisi jaringan saat itu; estimasi tersebut tidak menjamin kapan transaksi akan dimasukkan ke blok atau berapa biaya akhirnya. Batas harga yang rendah dapat membuat transaksi menunggu. Menaikkan batas atau tip tanpa memahami pemanggilannya dapat meningkatkan kemungkinan biaya tanpa menyelesaikan masalah dasarnya. Tinjau nilai saat ini dan tanda tangani hanya jika detail transaksinya masuk akal bagi Anda.
Penjelasan ini membahas alur transaksi standar Ethereum mainnet. Layer 2 atau chain lain dapat menampilkan biaya data tambahan, memakai aset biaya yang berbeda, atau menghitung biaya dengan cara lain. Jangan menerapkan rumus Ethereum ke jaringan lain tanpa memeriksa dokumentasinya. Untuk jaringan dan alamat tujuan, baca daftar periksa transfer kripto; untuk izin terpisah yang memungkinkan contract menggunakan token, baca panduan persetujuan token.
Pertanyaan umum
Q1Mengapa transaksi gagal masih dapat mengurangi ETH?
Jika transaksi sudah masuk blok dan eksekusi dimulai, komputasi dapat menggunakan gas meskipun perubahan state kemudian dibatalkan. Periksa hash transaksi untuk membedakan kegagalan saat eksekusi dari penolakan sebelum masuk blok.
Q2Apakah `maxFeePerGas` adalah harga gas aktual yang ditampilkan wallet?
Bukan. Itu adalah batas harga per unit. Harga efektif menggabungkan base fee blok yang memuat transaksi dengan tip yang muat di dalam batas, sehingga transaksi dapat membayar kurang dari batas maksimum.
Q3Apakah transaksi Ethereum mainnet membayar gas dengan ETH?
Transaksi standar Ethereum mainnet membayar gas dalam ether, aset asli jaringan. Jika wallet menampilkan token lain atau sponsor pihak ketiga, periksa apakah ada mekanisme pembayaran biaya yang terpisah. Chain lain dapat bekerja secara berbeda.
Sumber dan bacaan lanjutan
Laporkan masalah
Kami akan menyiapkan email berisi tautan artikel ini. Mark menerima laporan setelah Anda mengirimkannya
Cek cepat
Sudah membaca panduannya? Uji diri dengan 3 pertanyaan
Pertanyaan 01
Apa arti `gasLimit`?
Pilih jawaban untuk melihat penjelasannya