什麼是 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 testnet。它是由 Ethereum 核心開發者維護的權益證明(proof-of-stake)網路,舊有的測試網如 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,其餘資料則另外請求取得。
- 根據區塊 header 中的 state root 驗證資料的有效性。
- 適用於低容量裝置,例如嵌入式裝置或手機,這些裝置無法負擔儲存數 GB 的區塊鏈資料。
Full node
Full node 會驗證區塊中的交易是否符合Ethereum Yellow Paper所定義的規範,藉此確保網路上傳輸的區塊是真實有效的。你可以信任它們的驗證結果。Full node 就是透過這種驗證方式,讓網路維持符合 Ethereum 的要求。
Full node:
- 儲存完整的區塊鏈資料。
- 參與區塊驗證,驗證所有區塊與狀態。
- 推導出所有狀態。
- 服務網路,並依請求提供資料。
Archive node
Archive node 是會保存完整交易歷史的節點,網路的健全性與結構也仰賴這些節點。
Archive node:
- 儲存 full node 所保存的一切,並額外建立歷史狀態的存檔。如果你想查詢帳戶餘額或任何鏈上資料,或是單純想可靠地測試自己的交易集合而不進行挖礦,可以使用 OpenEthereum,這時就需要 archive node。
- 提供的資料量可達數 TB。這使得一般使用者較少使用,但對於區塊瀏覽器、錢包供應商、鏈上分析服務等來說相當實用。

安裝 Geth 的需求
- 多核心 CPU(7GB+ RAM)
- 本地 SSD 硬碟,至少約 600GB+ 可用空間
- (選擇性)使用 16/32 GB+ CPU 並搭配快取以最佳化效能。啟用快取功能(即使用 '--cache' 旗標)後,Geth 可以從記憶體讀取 state,而不必讀取硬碟。
- Mac 使用者請安裝 Homebrew
- Linux/Ubuntu 請使用 PPA
- (選擇性)Parity(詳見如何從 Parity 移轉到 Geth)
Geth 安裝方式
你可以透過套件管理工具安裝 Geth,例如 MacOS 上的 homebrew 或 Ubuntu 上的 PPA,也可以直接下載、透過 docker 執行,或是從原始碼自行建置。
在 MacOS terminal 使用 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 資料夾/根目錄所在的位置,於 terminal 中執行以下指令即可執行 Geth:
$ ./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/extension 錢包(如 MetaMask、Coinbase、Rainbow 等)通常都已經內建 Geth。
不過,如果你想嘗試挖礦或開發自己的 Ethereum 客製化軟體,安裝並執行 Geth 仍然值得一試。如果你單純想掌控自己的節點以及錢包的金鑰(自行簽署交易,而非依賴第三方軟體),這麼做也很有用。透過 Geth,你就能開啟 Ethereum 開發的完整世界!
相關總覽
基礎設施2026年10月13日
什麼是 blockchain indexer?
區塊鏈索引器如何讀取區塊、熬過重組,以及何時自建、何時呼叫託管 API。
基礎設施2026年10月13日
Google Cloud Blockchain Node Engine 替代方案:如何切換至 Alchemy
Google Cloud Blockchain Node Engine 將於 2026 年 12 月 15 日停止服務。只需更換 URL 即可切換至 Alchemy,保留現有程式碼,並以一組金鑰使用 100 多條鏈。
基礎設施2026年9月10日
打造自主 onchain agent 的最佳區塊鏈 API
比較各大區塊鏈 API 供應商在自主 onchain agent 上的表現,涵蓋 agent-native 功能、鏈的覆蓋範圍,以及當使用者是機器時真正重要的能力。

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