Menjalankan Node Geth: Go-Ethereum di Jaringan Ethereum
Anda memutuskan untuk berhenti mempercayakan lalu lintas dompet Anda kepada endpoint Infura. Mungkin seorang teman menawarkan untuk membantu Anda melakukan staking 32 ETH. Mungkin dApp Anda hampir mencapai batas rate-limit pada hari peluncuran. Apa pun alasannya, kalimat selanjutnya selalu sama: Anda perlu menjalankan node Geth.
Kalimat itu terdengar lebih rumit daripada kenyataannya. Geth, singkatan dari go-ethereum, adalah klien eksekusi Ethereum asli, yang ditulis dalam bahasa pemrograman Go oleh Jeffrey Wilcke dan tim sumber terbuka global pada tahun 2014. Laptop modern dengan SSD yang luas dapat menjalankannya. Begitu juga dengan perangkat Hetzner seharga $30 per bulan. Bagian yang membingungkan orang bukanlah perintah instalasinya. Melainkan pilihan-pilihan di sekitarnya: mode sinkronisasi mana yang harus dipilih, klien konsensus mana yang akan dipasangkan dengan Geth, apa yang terjadi setelah penggabungan (Merge), bagaimana menjaga agar node tetap aktif ketika disk penuh pada pukul 2 pagi.
Panduan ini akan membahas seluruh prosesnya. Mulai dari pembelian perangkat keras, instalasi, sinkronisasi Snap, pemasangan pasca-penggabungan dengan klien konsensus, konsol JavaScript, akun dan Clef, pengaturan validator, hingga masalah umum. Pada akhirnya, Anda akan tahu persis apa yang dilakukan mesin Anda ketika log putih tersebut bergulir, dan apa yang harus dilakukan ketika log tersebut berhenti.
Apa Itu Node Geth dan Mengapa Hal Itu Penting Saat Ini?
Node Geth adalah komputer yang menjalankan klien go-ethereum dan terhubung ke jaringan peer-to-peer Ethereum. Mesin ini mengunduh blok. Ia memverifikasi setiap transaksi. Ia menjalankan kontrak pintar di Ethereum Virtual Machine. Ia menyimpan salinan sinkron dari keadaan dunia. Dari luar, ia tampak seperti proses yang tenang yang mendengarkan beberapa port. Di dalam, ia adalah pencatat yang keras kepala yang menolak untuk menerima begitu saja kata-kata orang lain untuk buku besar. Ia menyimpan salinan data blockchain-nya sendiri, memungkinkan dompet Anda untuk memeriksa saldo akun atau mengirimkan transaksi ke rantai, dan memungkinkan dApp Anda untuk berinteraksi langsung dengan blockchain, bukan melalui API orang lain.
Mengapa semua ini penting di tahun 2026? Konsentrasi. Sebagian besar lalu lintas dApp publik di Ethereum mengalir melalui segelintir penyedia RPC yang dihosting — Infura, Alchemy, QuickNode, dan beberapa penyedia kecil lainnya. Infura sendiri melayani lebih dari 600 miliar permintaan blockchain tahun lalu. Mereka sebagian besar dapat diandalkan. Namun, mereka juga merupakan titik kegagalan tunggal: ketika penyedia mengalami gangguan di satu wilayah, separuh dompet yang mengarah ke titik akhir tersebut menunjukkan saldo yang usang dan transaksi yang macet hingga seseorang memperbaikinya. Jalankan node Geth Anda sendiri dan seluruh kelas kegagalan tersebut tidak lagi menjadi masalah Anda.
Ini juga merupakan permainan angka. Pelacak node Etherscan menghitung sekitar 13.678 node Ethereum aktif di seluruh dunia per April 2026. Amerika Serikat memegang 37,55% dari jumlah tersebut — sekitar 5.171 node. Jerman memiliki 16,05%. Cina, 12,06%. Mengaktifkan satu node lagi bukanlah tindakan heroik. Itu hanya bermanfaat, dan jaringan terus mengandalkan orang-orang untuk melakukannya.
Ada alasan yang lebih dalam juga. Ethereum tetap menjadi Ethereum karena siapa pun dapat memverifikasinya tanpa meminta izin. Geth adalah klien paling populer yang melakukan verifikasi tersebut. Setiap kali operator independen lain menghadirkan node Geth baru secara online, merebut rantai tersebut menjadi semakin sulit. Logika itu sudah ada sebelum Penggabungan dan tidak melemah sejak saat itu.

Geth, Go Ethereum, dan Protokol Ethereum
Tiga nama, satu proyek. Orang-orang menggabungkannya dalam percakapan dan tidak ada yang salah, tetapi berikut adalah rincian sebenarnya.
Protokol Ethereum bukanlah kode. Ini adalah spesifikasi, yang tertulis di atas kertas kuning dan tumpukan panjang EIP, dan siapa pun dapat menulis klien untuknya. Go Ethereum, terkadang ditulis go-ethereum, adalah implementasi protokol Ethereum dalam bahasa Go. Geth adalah program baris perintah di dalam Go Ethereum yang Anda jalankan di baris perintah, konfigurasikan dengan flag, dan gunakan untuk berinteraksi dengan jaringan Ethereum. Semua hal lain di repositori adalah pustaka dan helper yang membungkusnya. "Node Geth" hanyalah sebuah mesin tempat Anda memulai Geth, mengarahkannya ke direktori `chaindata`, dan membiarkannya berkomunikasi dengan mainnet Ethereum.
Terdapat berbagai klien untuk protokol yang sama. Nethermind, dalam C#. Besu, dalam Java. Erigon dan Reth, keduanya dalam Rust. Format data yang sama. Kode yang berbeda, kinerja yang berbeda, riwayat yang berbeda.
Geth adalah yang tertua di antara semuanya. Lebih dari 400 orang telah berkontribusi; Péter Szilágyi telah memimpin pengembangannya selama bertahun-tahun. Pengembangnya adalah Ethereum Foundation; kode sumbernya ada di ethereum/go-ethereum di GitHub; lisensinya adalah GNU General Public License, GPL-3.0 untuk biner dan LGPL-3.0 untuk kode pustaka. Versi stabil saat ini, saat saya menulis ini, adalah v1.17.2 — dengan nama kode "EMF Suppressor" — yang dirilis pada 30 Maret 2026. Versi ini menambal tiga CVE (CVE-2026-26313, -26314, -26315) dan mengajarkan klien cara sinkronisasi terhadap rantai yang riwayat pra-Praha-nya telah dipangkas.
Sejumlah alat pendukung disertakan bersama Geth. Clef adalah penanda tangan terpisah yang menjaga kunci pribadi Anda tetap terpisah dari node itu sendiri. Abigen mengubah ABI Solidity menjadi binding Go yang benar-benar dapat Anda gunakan. Alat `evm` memungkinkan Anda menjalankan bytecode secara terisolasi ketika Anda perlu men-debug sesuatu yang spesifik. Tidak ada yang wajib. Anda akan menggunakan setidaknya satu alat dalam waktu seminggu.
Mengapa Menjalankan Node: Privasi, Kecepatan, Kedaulatan
Sebagian besar orang yang menjalankan node Geth sendiri melakukannya karena salah satu dari tiga alasan. Pertama, privasi. Ketika dompet berkomunikasi dengan RPC yang dihosting, penyedia tersebut melihat setiap alamat, setiap panggilan kontrak, dan setiap permintaan kuotasi. Node yang dihosting sendiri memutus hubungan tersebut. Penyedia tersebut tidak ada. Dompet Anda meminta data ke mesin Anda, mesin Anda meminta data ke jaringan, dan hanya mesin Anda yang melihat polanya.
Performa adalah alasan kedua. RPC yang dihosting mengalami pembatasan. Tingkat gratis Infura dibatasi hingga 100.000 permintaan per hari; tingkat Tim berharga $225 per bulan untuk 75 juta permintaan harian. Node lokal melayani lalu lintas Anda dengan kecepatan memori tanpa biaya per panggilan. Untuk dApp yang mengambil status pada setiap pemuatan halaman, perbedaan latensi sangat terasa. Untuk bot arbitrase yang memindai mempool, itu adalah perbedaan antara melakukan perdagangan dan melihatnya berlalu begitu saja. Mainnet sendiri memproses sekitar 200,4 juta transaksi pada Q1 2026, mencapai puncaknya pada 2,88 juta transaksi pada 16 Januari, jadi node yang dapat mengikuti kecepatan jaringan benar-benar melakukan pekerjaan yang nyata.
Kedaulatan adalah yang ketiga. Jika Anda melakukan staking di Ethereum, jaringan mengharapkan validator Anda untuk menerbitkan blok ketika gilirannya tiba. Mengalihkan penerbitan tersebut ke RPC bersama secara teknis diperbolehkan tetapi secara operasional rapuh. Jalankan klien lapisan eksekusi Anda sendiri dan Anda mengontrol slot Anda. Hal yang sama berlaku untuk pengembang dApp yang serius, analis on-chain, pencari MEV, dan siapa pun yang bisnisnya bergantung pada ketersediaan Ethereum khusus untuk mereka.
Setelah Penggabungan: Geth dan Klien Konsensus Anda
Sebelum September 2022, satu proses Geth melakukan semuanya. Ia melakukan peering dengan jaringan. Ia menjalankan EVM. Ia memilih pemenang di antara blok-blok yang bersaing melalui penambangan proof-of-work. Penggabungan membagi pekerjaan itu menjadi dua. Geth masih menjalankan EVM dan menyimpan status. Program kedua — klien konsensus — sekarang menangani proof-of-stake: menyebarkan informasi blok di antara validator, memberikan suara tentang apa yang dihitung, dan memberi tahu Geth fork mana yang kanonik.
Jadi, setiap pengaturan Geth modern adalah sepasang proses, bukan proses tunggal. Pilih klien konsensus untuk dijalankan bersamaan. Pilihannya adalah Lighthouse (Rust), Prysm (Go), Teku (Java), Nimbus (Nim), dan Lodestar (TypeScript). Kedua proses tersebut berkomunikasi satu sama lain melalui saluran pribadi yang disebut Engine API, yang dilindungi oleh rahasia JWT yang Anda buat sekali dan berikan ke kedua sisi dengan `--authrpc.jwtsecret`.
Jalankan Geth sendirian, tanpa klien konsensus, dan log akan mengatakan sesuatu seperti "Jaringan pasca-penggabungan, tetapi tidak ada klien beacon yang terlihat. Harap luncurkan satu untuk mengikuti rantai!" Node akan tetap di sana, sopan dan tidak berguna. Geth sendiri bukan lagi node Ethereum yang lengkap. Pasanganlah yang menjadi unitnya.
Keragaman klien sangat penting di sini. Komunitas Ethereum meminta operator untuk menyebar ke berbagai implementasi di kedua sisi pemisahan, karena jika lebih dari dua pertiga validator akhirnya menggunakan klien yang sama yang bermasalah, validator tersebut akan menghadapi penalti pemotongan penuh sebesar 32 ETH ketika terjadi kerusakan. Angka terbaru dari clientdiversity.org menempatkan Geth sekitar 41% dari klien eksekusi pada tahun 2026; laporan Stake.fish tahun 2026 mengatakan mendekati 50%. Bagaimanapun, angka tersebut turun dari lebih dari 86% pada tahun 2023, tetapi masih di atas ambang batas keamanan 33% yang dianggap ideal oleh komunitas. Itulah mengapa beberapa operator baru sengaja memilih Nethermind, Besu, atau Reth — meskipun Geth adalah langkah pertama yang lebih mudah.
Pectra, peningkatan Prague + Electra yang diaktifkan pada 7 Mei 2025, juga mengubah cara operator beroperasi sehari-hari. EIP-7251 meningkatkan saldo efektif maksimum per validator dari 32 ETH menjadi 2.048 ETH. Operator staking yang sebelumnya mengelola 1.000 validator individual kini dapat mengkonsolidasikannya menjadi 16 validator besar. EIP-6110 memangkas waktu tunggu antara deposit dan aktivasi dari sekitar 12 jam menjadi sekitar 13 menit. EIP-7002 memberi validator kemampuan untuk memicu penarikan mereka sendiri, alih-alih meminta penandatangan deposit asli untuk melakukannya. Menjalankan tumpukan validator yang dipasangkan dengan Geth pada tahun 2026 jauh lebih sederhana daripada pada tahun 2024.
Perangkat keras: CPU, RAM, dan SSD untuk Node Geth
Standar perangkat keras yang sebenarnya pada tahun 2026 lebih tinggi daripada yang diakui dalam dokumen resmi. Rencanakan untuk tiga tahun ke depan, bukan tiga tahun terakhir.
| Komponen | Dokumentasi resmi Geth (2023, masih berlaku) | Realitas tingkat operator (Cherry Servers, Chainstack, 2026) | Node arsip (berbasis jalur, v1.16+) |
|---|---|---|---|
| CPU | Quad-core | Prosesor AMD atau Intel modern dengan 8 inti/16 thread. | 8+ core, performa single-thread tinggi |
| RAM | 16 GB | Minimal 32 GB, 64 GB lebih lancar. | 64 GB atau lebih |
| Penyimpanan | SSD 2 TB | SSD NVMe 4 hingga 8 TB | 4 TB NVMe (berbasis jalur, ~2 TB terpakai) |
| Jaringan | 25 Mbps | 300 hingga 500 Mbps untuk RPC penuh | 300+ Mbps |
| Kekuatan | UPS merekomendasikan | UPS sangat direkomendasikan. | UPS diperlukan |
Kapasitas penyimpanan adalah hal yang mengejutkan operator baru. Node penuh Geth yang disinkronkan dan dipangkas saat ini membutuhkan sekitar 650 GB. Dokumentasi Geth sendiri menyebutkan bahwa kapasitasnya bertambah sekitar 14 GB per minggu. Tambahkan klien konsensus. Tambahkan ruang pertumbuhan beberapa bulan. Tambahkan lalu lintas L2 RPC apa pun yang Anda rencanakan untuk dilayani. Anda akan mendapatkan antara 4 dan 8 TB NVMe dengan cepat.
Sedikit penjelasan tentang jenis disk. Secara teknis, SSD SATA berfungsi. Namun, SSD SATA juga memperlambat sinkronisasi dan kehilangan pengesahan (attestation) saat beban kerja tinggi. NVMe bukan lagi pilihan di tahun 2026. Hard disk konvensional sudah tidak layak digunakan selama bertahun-tahun. Jika penyedia layanan Anda hanya menawarkan SATA pada paket murah, bayar lebih mahal. Perhitungannya sangat kejam: disk SATA yang macet akan membuat Anda kehilangan imbalan validator setiap epoch.
RAM adalah jebakan nomor dua. Halaman perangkat keras resmi Geth, yang terakhir diperbarui pada tahun 2023, masih menyebutkan 16 GB. Pada tahun 2026, Cherry Servers, Chainstack, dan bacloud semuanya telah menetapkan 32 GB sebagai batas minimum yang berfungsi, dengan 64 GB sebagai solusi yang nyaman. Geth menyimpan sebagian besar status dalam memori. Klien konsensus menginginkan bagiannya. Tambahkan Prometheus, Grafana, dan apa pun yang sebenarnya Anda gunakan, dan 16 GB akan cepat habis.
CPU adalah yang paling mudah dari ketiganya. Chip desktop modern memiliki kapasitas yang lebih besar daripada yang dibutuhkan Geth. Kecepatan clock hampir tidak menjadi masalah. Jumlah core dan instruksi modern lebih penting. AVX2 menjaga verifikasi tanda tangan tetap cepat. Delapan core mencegah lonjakan sinkronisasi yang dapat menyebabkan mesin Anda macet. Ke depan, batas gas blok melonjak dari 30 juta menjadi 45 juta menjadi 60 juta antara pertengahan 2024 dan November 2025. Ethereum Foundation telah mengisyaratkan angka 100 juta+ hingga tahun 2026. Itulah kurva yang Anda pertimbangkan, bukan beban tahun lalu.
Mode Sinkronisasi Geth untuk Blockchain Ethereum
Mode sinkronisasi adalah pengaturan terbesar yang dapat diubah oleh operator Geth baru. Jika salah pilih, Anda akan membuang waktu seminggu untuk mengunduh data yang sebenarnya tidak Anda butuhkan.
| Mode | Apa yang disimpannya | Disk pada tahun 2026 | Sinkronkan waktu | Kasus penggunaan |
|---|---|---|---|---|
| Jepret (default) | Status terkini + penerimaan terkini | ~650 GB, +14 GB/minggu | 1 hingga 3 hari (lebih cepat pada NVMe) | dApps, dompet digital, validator |
| Penuh | Status terkini + setiap header kembali ke genesis | ~1 TB | 3 hingga 5 hari | Memverifikasi setiap blok dari awal |
| Arsip (berbasis jalur, v1.16+) | Kondisi historis melalui perbedaan terbalik | 1,9 hingga 2,0 TB | 1 hingga 2 minggu | Sebagian besar kasus penggunaan arsip |
| Arsip (berbasis hash lama) | Setiap negara bagian bersejarah, setiap tanda terima, setiap percobaan | 12 hingga 20 TB | 4 hingga 8 minggu | Pengindeks DeFi yang membutuhkan eth_getProof |
Snap adalah mode default, dan hampir selalu merupakan pilihan yang tepat. Ia mengambil snapshot status terbaru dari rekan-rekan, lalu secara diam-diam mengisi header dan tanda terima di belakangnya. Anda mendapatkan node Geth yang berfungsi dalam beberapa hari pada perangkat keras yang layak. Ia melayani dompet, dApps, dan validator dengan baik. Satu hal yang tidak dapat dilakukannya adalah menjawab pertanyaan historis seperti "berapa saldo Vitalik pada 7 Oktober 2017?" Jika Anda tidak peduli tentang itu, Anda tidak perlu lagi memikirkan mode sinkronisasi.
Sinkronisasi penuh masih tersedia. Kebanyakan orang tidak membutuhkannya. Mode penuh menelusuri setiap blok kembali ke blok genesis dan menjalankan kembali setiap transaksi, sehingga klien dapat memverifikasi blockchain secara menyeluruh alih-alih mempercayai snapshot Snap. Berguna jika Anda paranoid tentang Snap, atau jika Anda sedang mengisi arsip riwayat yang telah dipangkas. Tidak berguna untuk operasi normal.
Pengarsipan adalah yang paling berat, dan tahun 2025 adalah saat node pengarsipan berubah. Hingga rilis v1.16, sebuah node pengarsipan berarti 12 hingga 20 TB SSD cepat — pada dasarnya sebuah server kecil. v1.16 menghadirkan mode pengarsipan berbasis jalur yang menyimpan status historis sebagai perbedaan terbalik dan mengurangi kebutuhan disk menjadi sekitar 1,9 hingga 2,0 TB di mainnet. Itu menurunkan jejak Geth mendekati Erigon (~1,77 TB). Komprominya, pada awalnya, adalah pengarsipan berbasis jalur tidak mendukung bukti Merkle historis (`eth_getProof` pada blok lama). Pengindeks DeFi dan beban kerja berat bukti lainnya masih membutuhkan pengarsipan berbasis hash lama. v1.17.0, pada Februari 2026, menambahkan dukungan bukti ke mode berbasis jalur dalam beberapa konfigurasi — periksa catatan rilis untuk versi Anda yang tepat. Operator pengarsipan tipikal adalah penjelajah blok, tim forensik, dan toko analitik serius. Sebagian besar orang yang membaca panduan ini tidak akan pernah membutuhkannya.
Satu catatan kaki. Mode klien ringan, flag `--syncmode "light"` lama, telah usang dan tidak lagi dipelihara di mainnet. Jika tutorial tahun 2026 menyarankan Anda untuk memulai Geth dalam mode ringan, tutorial tersebut sudah ketinggalan zaman.

Instal Geth di Ubuntu, macOS, dan Windows
Langkah instalasinya singkat. Pilih platform yang benar-benar ingin Anda gunakan, bukan platform yang ada di laptop Anda.
Linux / Ubuntu (mesin andalan)
Sebagian besar node Geth produksi berjalan di Ubuntu. Tim Ethereum memelihara PPA, dan tiga perintah melalui pengelola paket Ubuntu akan memberi Anda biner yang berfungsi:
```
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
```
Jalankan `geth version` untuk konfirmasi. PPA melacak versi stabil terbaru. Dalam produksi, Anda biasanya mengunci build yang terbukti baik dengan sesuatu seperti `apt-get install ethereum=1.17.2-...` dan melakukan upgrade secara teratur daripada "kapan pun apt mau".
macOS (ramah pengembang)
Di macOS, Homebrew yang melakukan pekerjaannya. Dua baris kode:
```
brew tap ethereum/ethereum
instal ethereum dengan perintah brew
```
Mac sangat bagus untuk eksperimen testnet dan pengembangan dApp. Namun, hampir tidak ada yang menjalankan validator mainnet di Mac. Manajemen daya terlalu agresif, dan macOS akan dengan senang hati menidurkan node beacon Anda pada saat yang salah.
Windows
Tersedia file instalasi `.exe` dan arsip `.zip` di geth.ethereum.org dan di halaman rilis GitHub proyek tersebut. Klik file instalasi, biarkan program mengedit PATH Anda, lalu buka Command Prompt atau PowerShell dan jalankan `geth version`. Seharusnya akan ada respons.
Windows Server dapat menjalankan node Geth mandiri dengan sangat baik. Tumpukan validator cenderung condong ke Linux karena klien konsensus dikirim dengan Linux terlebih dahulu, tetapi Anda dapat mencampur dan mencocokkan jika Anda mau. Sisa panduan ini menulis perintahnya dalam gaya shell Linux. Menerjemahkan ke PowerShell sebagian besar hanya masalah pemisah jalur dan cara yang berbeda untuk melanjutkan baris.
Buruh pelabuhan
Perintah `docker pull ethereum/client-go:stable` akan menghasilkan kontainer yang bersih. Docker adalah cara termudah untuk menguji rilis Geth baru tanpa mengacaukan host Anda. Ini juga merupakan penerapan produksi yang layak jika tim Anda sudah terbiasa dengan kontainer. Satu peringatan: volume Docker yang menyimpan `chaindata` harus berada di NVMe. Menempatkannya pada volume EBS biasa, penyimpanan data HDD, atau volume Docker Desktop di Mac akan menghasilkan semua thread "sinkronisasi macet" di Reddit.
Membangun dari sumber
Pembuatan kode dari sumber membutuhkan Go 1.23 atau yang lebih baru, ditambah kompiler C. `make geth` hanya membangun node. `make all` memberi Anda rangkaian utilitas lengkap: geth, clef, abigen, evm, devp2p, rlpdump. Gunakan pembuatan kode dari sumber ketika Anda menginginkan rilis yang belum dikemas, atau ketika Anda memiliki patch pribadi yang tidak ingin Anda kelola sebagai fork.
Menjalankan Geth: Sinkronisasi Pertama dan Konsol JSON-RPC
Binary sudah terpasang, secret JWT sudah dibuat, klien konsensus sudah siap. Perintah pertama pada server mainnet kira-kira seperti ini:
```
geth \
--jaringan utama \
--datadir /var/lib/geth \
--syncmode snap \
--http \
--http.addr 127.0.0.1 \
--http.port 8545 \
--http.api eth,net,web3 \
--authrpc.addr 127.0.0.1 \
--authrpc.port 8551 \
--authrpc.jwtsecret /etc/geth/jwt.hex \
--authrpc.vhosts localhost
```
Tiga port berperan di sini. 30303 melalui TCP dan UDP — ini adalah jalur peer-to-peer Anda ke seluruh Ethereum. 8545, pintu HTTP-RPC tempat dompet dan skrip Anda masuk. 8551, API Engine, hanya dapat diakses oleh klien konsensus Anda dan dibatasi oleh rahasia JWT.
Untuk memeriksa node yang sedang berjalan, lampirkan konsol Geth. (Ini adalah konsol JavaScript yang terhubung dengan API node.) Buka shell kedua:
```
geth attach http://127.0.0.1:8545
```
Sekarang setiap metode JSON-RPC adalah panggilan JavaScript. `eth.blockNumber`. `net.peerCount` (sekitar tiga puluh adalah jumlah yang sehat di mainnet). `eth.syncing` mengembalikan `false` setelah node berhasil menyinkronkan data. Ingin saldo? `web3.fromWei(eth.getBalance('0x...'), 'ether')`. Itulah keseluruhan antarmuka interaktifnya.
Kemudian ada file log. Perhatikan. Baris yang ingin Anda lihat adalah `Imported new chain segment`. Itu berarti Geth telah menangkap yang terdepan dan terus mengikuti perkembangan, memproses setiap daftar transaksi baru dari jaringan blockchain Ethereum saat jaringan mengirimkannya. Jika log Anda mengatakan `Looking for peers` dan tidak ada yang lain, firewall memblokir P2P masuk. Buka port 30303 pada TCP dan UDP, mulai ulang Geth, coba lagi. Itu adalah solusi yang berhasil sembilan dari sepuluh kali.
Untuk otomatisasi, setiap pustaka Ethereum yang layak digunakan berkomunikasi melalui JSON-RPC melalui HTTP, atau melalui WebSocket jika Anda juga menyertakan `--ws`. ethers.js. web3.js. viem. Klien Go. Klien Python. Semuanya memperlakukan node Geth lokal Anda persis seperti Infura — arahkan ke `http://127.0.0.1:8545` dan selesai. Kode tetap sama. Satu-satunya yang berubah adalah siapa yang menjawab panggilan tersebut.
Gunakan Geth: Akun, Clef, dan Transaksi
Geth masih menyertakan pengelola akun, tetapi rekomendasi modern adalah memisahkan penandatanganan dari node dengan menjalankan Clef. Clef adalah program kecil terpisah yang menyimpan kunci Anda dan meminta konfirmasi eksplisit setiap kali sesuatu mencoba menggunakannya.
Proses pembuatan akun melalui Clef terlihat seperti ini:
```
clef newaccount --keystore /var/lib/geth/keystore
```
Clef membutuhkan kata sandi minimal sepuluh karakter. Ia menulis file keystore terenkripsi dan mengembalikan alamat kepada Anda. Alamat tersebut adalah akun yang dimiliki secara eksternal (EOA) — jenis yang sama seperti yang dibuat oleh dompet perangkat keras atau MetaMask. Tidak ada yang aneh.
Untuk membuat Geth menggunakan Clef, arahkan node ke soket IPC Clef: `--signer=/path/to/clef.ipc`. Mulai saat itu, setiap permintaan transaksi, baik yang berasal dari konsol Geth atau dari dApp yang menggunakan API JSON-RPC, harus disetujui di terminal Clef. Itulah model yang direkomendasikan tim Geth pada tahun 2026. Kunci berada di luar node. Node itu sendiri tidak dapat menghabiskan satu wei pun.
Transfer dari konsol akan terlihat seperti ini:
```
eth.sendTransaction({
from: '0xca57f3b40b42fcce3c37b8d18adbca5260ca72ec',
to: '0xce8dba5e4157c2b284d8853afeeea259344c1653',
value: web3.toWei(0.1, 'ether')
});
```
Clef muncul. Anda mengkonfirmasi. Transaksi masuk ke mempool, dan beberapa detik kemudian berada dalam sebuah blok. Di balik satu baris itu, Geth melakukan pencarian nonce, estimasi biaya, penyerahan tanda tangan ke Clef, siaran, dan pemeriksaan inklusi. Siklus yang sama berjalan di setiap dApp.
Untuk pekerjaan yang lebih kompleks, endpoint JSON-RPC yang sama menerima pengiriman transaksi, langganan event, panggilan fungsi tampilan, dan jejak. Dari sudut pandang pustaka, instance Geth lokal Anda tidak dapat dibedakan dari node yang dihosting — kecuali lebih cepat, gratis per panggilan, dan milik Anda.
Pengaturan Validator: Pertaruhkan Ether dan Dapatkan Hadiah
Setelah node Geth Anda disinkronkan dan dipasangkan dengan klien konsensus, menambahkan validator sebagian besar hanya konfigurasi. Anda tidak perlu menginstal node baru. Lapisan eksekusi (Geth) terus menjalankan tugasnya. Klien konsensus mengambil peran validator di atasnya: ia menandatangani pengesahan setiap epoch, dan ketika protokol memilih validator Anda, ia meminta Geth untuk menyusun isi blok.
Ada tiga bagian yang perlu diaktifkan. Pertama adalah deposit 32 ether. Anda membuat kunci validator dengan CLI deposit resmi, mengirim transaksi deposit ke kontrak di mainnet, dan menunggu aktivasi. Kedua adalah proses klien validator. Proses ini berjalan bersamaan dengan node beacon, menyimpan kunci penandatanganan Anda, dan menandatangani pengesahan sesuai jadwal. Ketiga adalah MEV-Boost atau pengaturan relay, jika Anda menginginkan imbalan pengurutan transaksi di atas imbalan dasar. Geth sendiri tidak menjalankan validator. Klien konsensus yang menjalankannya. Geth adalah titik akhir eksekusi yang membangun muatan blok sebenarnya ketika slot validator Anda aktif.
Dalam kegiatan sehari-hari, validator memperhatikan tiga angka: attestasi yang terlewat, waktu aktif sinkronisasi, dan tekanan disk. Attestasi yang terlewat hampir selalu disebabkan oleh node yang tertinggal dari node utama, yang pada gilirannya hampir selalu disebabkan oleh I/O disk atau kehilangan peer. Tekanan disk pada Geth adalah penyebab utamanya. Jika melebihi spesifikasi NVMe yang direkomendasikan, efektivitas attestasi Anda akan menurun. Imbalan pun akan ikut menurun.
Sebagian besar staking rumahan menggunakan mini-PC khusus: Intel NUC, Beelink, atau rakitan Ryzen kustom. Perangkat keras harganya berkisar antara $800 hingga $2.000 sekali bayar. Biaya listrik dan internet menambah $10 hingga $20 per bulan. Analisis Coin Bureau tahun 2026 menunjukkan validator Hetzner profesional seharga $30 hingga $40 per bulan, node penuh AWS dasar di bawah $100, dan node arsip AWS sekitar $1.500. Staking solo menghasilkan sekitar 4% APY pada hadiah dasar dan meningkat menjadi 5–6% dengan MEV-Boost; pada perangkat keras rumahan, hal itu mencapai titik impas dalam waktu sekitar 4 hingga 6 bulan dengan harga ether saat ini. Pada akhir tahun 2025, jaringan tersebut memiliki sekitar 1,06 juta validator aktif, yang memegang 35 hingga 37 juta ETH (29 hingga 31% dari total pasokan). Lido sendiri mengendalikan 27,7% dari total staking. Coinbase, 8,4%. Setiap validator independen tambahan secara diam-diam menggeser konsentrasi tersebut ke arah yang berlawanan, dan itulah sebagian besar alasan mengapa solo staking masih menjadi hal yang dilakukan orang.
Testnet vs Mainnet: Di Mana Menjalankan Node Ethereum?
Jangan memulai di mainnet. Kesalahan mudah terjadi di testnet, dan tidak ada yang lebih murah daripada gratis. Geth menangani setiap jaringan yang didukung hanya dengan satu flag.
Dua testnet Ethereum yang perlu Anda perhatikan di tahun 2026 adalah Holesky, testnet yang berfokus pada validator dan telah berjalan lama, dan Sepolia, testnet yang lebih ringan dan berfokus pada aplikasi. Ingin node Geth Sepolia? Ganti `--mainnet` dengan `--sepolia`. Holesky? `--holesky`. Direktori data Anda harus berada di jalur terpisah dari `chaindata` mainnet Anda. Jika Anda menggunakan folder yang sama, Geth akan menolak untuk memulai karena ID rantai tidak cocok — yang merupakan jenis pesan kesalahan yang membutuhkan waktu tiga puluh detik untuk diperbaiki dan satu jam untuk ditemukan.
Ether di testnet gratis. Faucet seperti Paradigm Multifaucet dan faucet Sepolia di faucet.sepolia.dev akan memberikan ETH Sepolia yang cukup untuk menyebarkan kontrak, menjalankan pengujian integrasi, dan mengirim beberapa ribu transaksi. "Ether" itu palsu. Segala sesuatu yang lain nyata: EVM berperilaku sama, API JSON-RPC sama, keterkaitan dengan klien konsensus Anda sama, kesulitan operasionalnya sama. Jalankan tumpukan Anda di Sepolia selama seminggu sebelum mengarahkan apa pun ke mainnet.
Jaringan uji lama sudah hilang. Ropsten, Rinkeby, Kovan, Goerli — semuanya sudah pensiun. Jika tutorial masih menyuruh Anda memulai Geth dengan `--ropsten`, itu adalah versi sebelum Merge dan Anda harus menutup tab tersebut.
Untuk lingkungan privat sejati, jalankan jaringan Anda sendiri. Mode `--dev` Geth menjalankan rantai node tunggal dalam hitungan detik, yang sangat bagus untuk pengujian unit. Untuk jaringan privat multi-mesin, tulis `genesis.json` kustom, bagikan di seluruh mesin, dan mulai setiap proses Geth dengan `--datadir` yang mengarah ke folder chaindata baru. Kerangka kerja Kurtosis mengemas semua ini dalam satu perintah jika Anda lebih memilih untuk tidak melakukan pengaturan secara manual.
Masalah Umum pada Node Geth dan Cara Pemecahan Masalah
Sebagian besar insiden Geth mengikuti pola-pola tertentu. Perbaikannya biasanya cepat setelah Anda mengenali bentuknya.
Sinkronisasi terhenti pada beberapa persen. Node Geth Anda online tetapi tidak dapat mengejar ketertinggalan: jumlah peer terlalu rendah, bandwidth Anda jenuh, atau disk tidak dapat mengimbangi. Periksa `net.peerCount` di konsol. Jika kurang dari lima belas, port P2P masuk Anda diblokir oleh firewall. Buka port TCP dan UDP 30303. Jika kondisinya baik, jalankan `iostat -xm 5` di Linux selama sinkronisasi; jika SSD mencapai pemanfaatan 100%, Anda mengalami keterbatasan I/O dan membutuhkan penyimpanan yang lebih cepat. Catatan khusus versi: Geth v1.17.1 (3 Maret 2026) dirilis khusus untuk memperbaiki regresi snap-sync di v1.17.0; jika Anda masih menggunakan versi tersebut, peningkatan versi adalah solusinya.
"Jaringan pasca-penggabungan, tetapi tidak ada klien beacon yang terlihat." Klien konsensus tidak berjalan, rahasia JWT tidak cocok, atau klien konsensus diarahkan ke port AuthRPC yang salah. Periksa jalur JWT, port 8551, dan pastikan kedua proses dimulai dengan file rahasia yang sama.
Disk akan penuh dalam semalam. Snap sync dapat meningkatkan penggunaan disk selama fase pemulihan status awal. Pruning akan berjalan otomatis setelahnya. Jika Anda memulai dengan SSD 1 TB, head akan segera mencapai batasnya. Solusinya selalu dengan menambah ruang, bukan melakukan pruning yang lebih agresif, karena pruning Geth sudah disetel dengan baik. Pindahkan chaindata ke NVMe yang lebih besar dan lakukan rsync.
Geth tidak dapat dijalankan: "basis data yang kompatibel dengan versi geth ini tidak ditemukan." Eksekusi sebelumnya menggunakan ID rantai yang berbeda, versi Geth yang lebih lama, atau status yang rusak. Folder `chaindata` tidak cocok. Lakukan sinkronisasi ulang ke direktori data yang baru atau kembalikan ke rilis Geth sebelumnya.
Validator melewatkan pengesahan. Jika node Geth Anda membaca setiap blok baru dengan benar tetapi validator masih melewatkan pengesahan, periksa tekanan disk terlebih dahulu, jaringan kedua, dan CPU terakhir. Pola pada alat pemantauan seperti Netdata sangat jelas: PSI (Pressure Stall Information) untuk disk mencapai 30% atau lebih selama jendela pengesahan.
Permintaan RPC lambat. Klien dApp yang berat yang terus-menerus menggunakan `eth_getLogs` atau `debug_traceTransaction` dapat membebani CPU Geth. Pindahkan lalu lintas tersebut ke node terpisah, atau gunakan `--rpc.gascap` dan `--rpc.txfeecap` untuk membatasi panggilan yang mahal.
Kebiasaan terakhir. Pantau log secara terus-menerus selama minggu pertama untuk menjaga agar Geth berjalan dengan lancar di bawah beban nyata. Alat seperti Netdata, Prometheus + Grafana, atau cukup `journalctl -fu geth` akan memperjelas mode kegagalan awal. Pada minggu kedua, peringatan tentang attestasi yang terlewat dan tingkat pengisian disk sudah cukup.
Geth vs Klien Ethereum Lainnya: Pertimbangan Kelebihan dan Kekurangan
Geth adalah langkah pertama standar. Namun, bukan satu-satunya, dan jawaban atas pertanyaan "haruskah saya beralih" bergantung pada kebutuhan Anda.
| Klien | Bahasa | Pangsa pasar tahun 2026 (clientdiversity.org / rentang Stake.fish) | Kekuatan | Gunakan jika... |
|---|---|---|---|---|
| Geth | Pergi | 41 hingga 50% | Stabilitas, komunitas besar, pengaturan default resmi | Anda menginginkan node pertama yang paling aman. |
| Nethermind | C# | 25 hingga 38% | Sinkronisasi cepat, kompatibel dengan plugin, Hyperledger | Anda menginginkan klien eksekusi non-Go. |
| Besu | Jawa | 10 hingga 16% | Fitur perusahaan, rantai izin, Hyperledger | Anda mengoperasikan rantai yang memiliki izin. |
| Reth | Karat | 2 hingga 8% | Kode program modular dan modern, sinkronisasi cepat. | Anda menginginkan klien Rust terkemuka. |
| Erigon | Rust/Go | 3 hingga 7% | Arsip ringkas (~1,77 TB), kueri historis cepat. | Anda memerlukan node arsip kecil. |
Argumen komunitas untuk memilih selain Geth adalah keragaman klien. Jika satu klien eksekusi melampaui mayoritas super dua pertiga di mainnet dan merilis pembaruan yang bermasalah, validator pada klien tersebut berisiko terkena pemotongan (slashing). Membagi armada validator Anda di antara dua klien akan mengurangi risiko tersebut menjadi setengahnya. Bagi seorang staker rumahan, perhitungannya lebih sederhana: pilih yang dapat Anda pertahankan, jalankan dengan baik, dan hanya beralih jika Anda memiliki alasan khusus. Arsitektur node serupa di semua klien tersebut, sehingga beralih di kemudian hari lebih mudah daripada yang Anda bayangkan. Erigon dan Reth khususnya kini sudah cukup matang untuk menjadi klien utama, bukan sekadar hal yang menarik.