什么是 Geth 节点,以及如何运行一个
作者 Alchemy
Geth 与节点简介
Ethereum 节点是 Ethereum 区块链网络的组成部分。这些节点是运行相应软件的实际计算机,负责检查、存储,有时还负责生成区块。
“客户端”是这类软件的名称。它让我们能够通过 JSON-RPC API 与区块链交互,读取并验证区块链,或对智能合约进行读写操作。
Geth 是这些客户端之一,也是使用最广泛的客户端之一。它用 Go 语言编写,由一批任职于 Ethereum Foundation 的人员及其他协助者维护更新。
Geth 的一些特点:
- 自带 JavaScript 控制台,可通过 “geth console” 运行。
- 该客户端可与其他 JavaScript 客户端配合使用(web3js)。
- 内置 Sepolia 及其他测试网(或可自行搭建私有 Ethereum 网络)
- 通常被视为其他 Ethereum 节点的标准参照。
在本篇 Alchemy 博客中,我们将学习如何安装并运行 Geth 节点。
网络(主网与测试网)与 Geth
要理解 Geth 节点,首先需要了解 Ethereum 的不同网络。
Ethereum 有一个核心网络(主网),所有交易都在其上发生,同时它也使用了若干其他测试网络用于测试(测试网)。可以考虑使用这些“游乐场”区块链,在本地主机之外体验区块链功能。
1. 主网
Ethereum 主网是用于生成 Ethereum 的网络。ETH 可以在其中被挖矿或在交易所交易,且始终可用。
2. Sepolia
Sepolia 是当前 Geth 开发者应使用的 Ethereum 测试网。它是一个由 Ethereum 核心开发者维护的权益证明网络,而 Ropsten、Rinkeby、Kovan、Goerli、Kiln 等旧测试网已被弃用。
要开始在 Sepolia 上构建,请从水龙头获取 Sepolia ETH。
什么是 Geth 节点?

借助 Geth,你可以搭建自己的私有 Ethereum 网络。一条 Ethereum 网络的区块链从一个称为创世区块的根区块开始。创世区块中不包含任何交易。
Ethereum 节点有多种类型,而 Geth 节点则分为三类:轻节点、全节点和归档节点。
轻节点
由于不验证每一个区块,轻节点不保存 Ethereum 区块链的副本,因此依赖全节点提供的数据。运行轻节点有若干优势,包括启动更快、存储占用更低、计算/内存需求更少。轻节点的信任级别较低,且常常依赖全节点,这可能带来问题。
轻节点:
- 存储区块头链,其余数据按需请求。
- 依据区块头中的状态根验证数据的有效性。
- 为存储空间有限的低性能设备(如嵌入式设备或手机)提供用途,这些设备无法承受存储数 GB 的区块链数据。
全节点
全节点验证区块中的交易是否符合 Ethereum Yellow Paper 中规定的标准。以此确保在网络中传输的区块是真实有效的。你可以信赖它们的工作。全节点正是通过这种验证方式,使网络保持符合 Ethereum 的要求。
全节点:
- 存储完整的区块链数据。
- 参与区块验证,验证所有区块和状态。
- 推导所有状态。
- 为网络提供服务,按需提供数据。
归档节点
归档节点是保存完整交易历史的节点。网络的健康程度与结构在很大程度上依赖这些节点。
归档节点:
- 存储全节点所保存的一切内容,并构建历史状态的归档。如果你想查询账户余额或任何链上数据,或者只是想简单可靠地测试自己的交易集而不通过 OpenEthereum 挖矿处理,这一功能是必需的。
- 提供的数据量达到数太字节(TB)级别。这使它们对普通用户吸引力较低,但对区块浏览器、钱包服务商和链上分析等服务而言十分实用。

安装 Geth 的要求
- 多核 CPU(7GB+ 内存)
- 本地 SSD 硬盘,至少 ~600GB+ 可用空间
- 可选:使用 16/32 GB+ CPU 以通过缓存获得优化性能。启用缓存功能(即使用 “--cache” 参数)后,Geth 可以从内存而非硬盘中获取状态数据。
- 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 --help在 linux/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 文件夹/根文件夹所在的位置打开终端,运行以下命令,即可启动 Geth:
$ ./Geth console --testnet --syncmode "light" --rpc --rpcaddr "localhost" --rpcport "8485" --rpccorsdomain "*" --rpcapi="db,eth,net,web3,personal"这会立即将我们带入 Geth 控制台。
输入 net,我们可以查看是否有任何 peer。输入 eth.syncing,可以查看节点当前是否正在同步。节点可能要在重启后才会开始同步。
例如,运行 eth.syncing 会输出如下示例查询结果:
结语
在目前面向大众的绝大多数网页/扩展钱包中(MetaMask、Coinbase、Rainbow 等),Geth 通常已经内置其中。
但如果你想尝试挖矿,或开发自己的 Ethereum 定制软件,安装并运行 Geth 仍然是值得的。如果你只是想自己掌控节点及钱包私钥(自行签署交易,而不依赖第三方软件),这同样很有用。借助 Geth,你就能开启 Ethereum 开发的整个世界!
相关概览
基础设施2026年10月13日
什么是区块链索引器?
区块链索引器如何读取区块、应对重组,以及何时自建、何时调用托管 API。
基础设施2026年10月13日
Google Cloud Blockchain Node Engine 替代方案:如何迁移到 Alchemy
Google Cloud Blockchain Node Engine 将于 2026 年 12 月 15 日关停。只需更换 URL 即可迁移到 Alchemy,现有代码保持不变,一个 key 即可使用 100 多条链。
基础设施2026年9月10日
用于构建自主链上代理的最佳区块链 API
对比主流区块链 API 服务商在自主链上代理场景下的表现,涵盖面向代理的原生功能、链覆盖范围,以及当你的用户是机器时真正重要的能力。

构建区块链应用
Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。