什麼是 Geth node,以及如何運行
作者 Alchemy
Geth 與節點簡介
Ethereum 節點是屬於 Ethereum 區塊鏈網路的電腦。這些節點是實際運作軟體的電腦,負責檢查、儲存區塊,有時候也負責產生區塊。
「Client」是這種軟體的名稱。它讓我們可以透過 JSON-RPC API 與區塊鏈互動、讀取並驗證區塊鏈,以及讀取或寫入智能合約。
Geth 是其中一種 client,也是最常被使用的其中之一。它以 Go 語言撰寫,由 Ethereum Foundation 的一群人以及其他協助者維護更新。
Geth 的一些特性:
- 內建 JavaScript console,可透過 "geth console" 執行。
- 這個 client 可以與其他 JavaScript client 搭配運作(web3js)。
- 內建 Sepolia 與其他測試網(或是自行建立私有的 Ethereum 網路)
- 通常被視為其他 Ethereum 節點的標準。
在這篇 Alchemy 部落格文章中,我們會學習如何安裝並執行 Geth 節點。
網路(Mainnet 與 testnet)與 Geth
要了解 Geth 節點,我們需要先了解 Ethereum 的不同網路。
Ethereum 有一個單一的核心網路(Mainnet),所有交易都在這裡進行,但它也使用了其他測試網路,這些網路是用來測試功能的(Testnet)。可以考慮使用這些「練習用」區塊鏈,在 localhost 以外的環境嘗試區塊鏈的功能。
1. Mainnet
Ethereum mainnet 是用來產生 Ethereum 的網路。ETH 可以在這裡挖礦或在交易所交易,而且永遠可以使用。
2. Sepolia
Sepolia 是 Geth 開發者目前應使用的 Ethereum 測試網。它是由 Ethereum 核心開發者維護的權益證明網路,Ropsten、Rinkeby、Kovan、Goerli 與 Kiln 等舊測試網皆已棄用。
若要開始在 Sepolia 上建置,請從水龍頭取得 Sepolia ETH。
什麼是 Geth 節點?

透過 Geth,你可以建立自己的私有 Ethereum 網路。一個 Ethereum 網路的區塊鏈,是從一個稱為 genesis block(創世區塊)的根區塊開始的。genesis block 中沒有任何交易。
Ethereum 節點有不同種類,但 Geth 節點分為三類:light node、full node 與 archive node。
Light node
由於 light node 不會驗證每一個區塊,所以它們不會保存一份完整的 Ethereum 區塊鏈副本。因此,它們依賴來自 full node 的資料。執行 light node 有許多優點,包括啟動速度更快、儲存空間使用更少,以及運算/記憶體需求更低。light node 的信任程度較低,而且經常依賴 full node,這可能會造成問題。
Light node:
- 儲存區塊標頭鏈(header chain),並向其他節點請求其餘資料。
- 依據區塊標頭中的 state root 驗證資料的有效性。
- 提供給低運算能力的裝置使用,例如嵌入式裝置或手機,這些裝置無法負擔儲存數 GB 的區塊鏈資料。
Full node
Full node 會驗證區塊中的交易是否符合 Ethereum Yellow Paper 所規定的標準。它們這麼做是為了確保透過網路傳送的區塊是真實有效的。你可以信任它們所做的驗證工作。full node 使用這種驗證方式,讓網路維持符合 Ethereum 的要求。
Full node:
- 儲存完整的區塊鏈資料。
- 參與區塊驗證,並驗證所有區塊與狀態。
- 推導出所有的狀態(state)。
- 服務網路,並依請求提供資料。
Archive node
Archive node 是會保存完整交易歷史的節點。網路的健全性與結構都仰賴這些節點。
Archive node:
- 儲存 full node 所保存的所有資料,並建立歷史狀態(historical state)的存檔。如果你想要查詢帳戶餘額或任何鏈上資料,或是單純想在不透過挖礦的情況下,簡單且可靠地測試自己的交易集合,就需要使用 OpenEthereum。
- 提供的資料量以 TB(terabyte)為單位。這使得一般使用者較不會想使用,但對於區塊瀏覽器、錢包供應商與鏈上分析服務等來說相當實用。

安裝 Geth 的需求
- 多核心 CPU(7GB+ RAM)
- 本機 SSD 硬碟,約需 600GB+ 的可用空間
- 選用:使用 16/32 GB+ 的 CPU,透過快取(caching)提升效能。使用快取功能(也就是加上 '--cache' 參數)後,Geth 就能從記憶體讀取 state,而不必從硬碟讀取。
- Mac 使用者需要 Homebrew
- Linux/Ubuntu 使用者需要 PPA
- 選用:Parity(想了解更多資訊,可參考如何從 parity 遷移到 Geth)
Geth 安裝方式
你可以透過套件管理工具安裝 Geth,例如在 MacOS 上使用 homebrew,或在 Ubuntu 上使用 PPA;也可以直接下載、在 docker 中執行,或甚至從原始碼建置。
在 MacOS 終端機中使用 Homebrew:
$ brew tap ethereum/ethereum
$ brew install ethereum可以在這裡查看各種實用指令的清單(abigen、bootnode、checkpoint-admin、clef、devp2p、ethkey、evm、faucet、geth 等),或者也可以執行:
$ geth --helpLinux/Ubuntu 適用的 PPA:
$ sudo add-apt-repository -y ppa:ethereum/ethereum安裝穩定版本的 go-Ethereum:
$ sudo apt-get update
$ sudo apt-get install ethereumDocker:
從這裡下載 Docker。然後執行以下指令:
$ docker pull ethereum/client-go:latest接著執行:
$ docker run ethereum/client-go:latest執行 Geth
在我們解壓縮 Geth 資料夾/root 資料夾的位置,於終端機中執行以下指令,以便執行它:
$ ./Geth console --testnet --syncmode "light" --rpc --rpcaddr "localhost" --rpcport "8485" --rpccorsdomain "*" --rpcapi="db,eth,net,web3,personal"這會立刻將我們帶進 Geth console。
輸入 net,我們可以查看是否有任何 peer。輸入 eth.syncing,可以查看節點目前是否正在同步。你的節點有可能要等到重新啟動後才會開始同步。
舉例來說,執行 eth.syncing 會輸出以下的範例查詢結果:
結語
大多數供一般使用者採用的 web/擴充功能錢包(MetaMask、Coinbase、Rainbow 等)通常都已經內建了 Geth。
不過,如果你想嘗試挖礦,或開發自己專屬的 Ethereum 軟體,安裝並執行 Geth 是相當值得的。如果你只是想掌控自己的節點與錢包金鑰(自行簽署交易,而不依賴第三方軟體),這麼做也很有幫助。使用 Geth,現在你可以打開 Ethereum 開發的整個世界!
相關總覽
基礎設施2026年9月10日
打造自主 onchain 代理人的最佳 blockchain API
比較主要 blockchain API 供應商在自主 onchain 代理人方面的表現,涵蓋 agent-native 功能、鏈的覆蓋範圍,以及當你的使用者是機器時真正重要的能力。
基礎設施2026年9月9日
Alchemy vs. QuickNode:2026 年節點服務商比較
依據 2026 年 9 月 3 日為期 24 小時的 EVM 快照,比較 Alchemy 與 QuickNode 的即時 RPC 延遲、鏈覆蓋範圍、價格、支援與專屬基礎設施。
基礎設施2026年9月9日
什麼是 ERC-8004?免信任代理如何在 Ethereum 上運作
ERC-8004 是 Ethereum 的免信任代理標準。了解其鏈上身分、信譽與驗證註冊表,如何讓 AI 代理安全地進行交易。

打造區塊鏈魔法
Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。