以太坊作为全球领先的智能合约平台,其底层客户端软件是参与网络运行、开发 DApp 或进行节点操作的基础,本文将详细介绍如何在 CentOS 系统(以 CentOS 7 为例)上安装和配置最常用的以太坊客户端之一——Geth(Go-Ethereum)。
准备工作
在开始安装之前,请确保您的系统满足以下基本要求:
- 操作系统:本文以 CentOS 7 64位为例,CentOS 8/Stream 或其他基于 RHEL 的系统也可参考,部分命令可能需微调。
- 权限要求:需要具有
sudo权限的用户账户,以便安装软件和修改系统配置。 - 网络连接:稳定的互联网连接,用于下载软件包和依赖项。
- 基本命令行操作:熟悉 Linux 基本命令。
更新系统
保持系统软件包为最新版本是个好习惯,打开终端,执行以下命令:
sudo yum update -y
安装必要依赖
Geth 的编译和运行需要一些基础的依赖库和工具,我们将使用 yum 包管理器来安装它们。
sudo yum groupinstall "Development Tools" -y sudo yum install wget git gcc make glibc-devel openssl-devel libstdc++-devel -y
Development Tools:包含了编译所需的 gcc、make 等基本工具。wget:用于从网络下载文件。git:用于从代码仓库获取 Geth 源码(如果选择编译安装)。- 其他
-devel包:是 Geth 编译所需的头文件库。
安装 Geth
在 CentOS 上安装 Geth,主要有两种方式:使用预编译的二进制文件(推荐)或从源码编译,对于大多数用户,预编译二进制文件更简单快捷。
使用预编译的二进制文件(推荐)
这是最简单的方法,无需编译源码。
-
访问 Geth 官方下载页面: 您可以访问 Geth 的 GitHub 发布页面获取最新版本的下载链接:https://github.com/ethereum/go-ethereum/releases 在页面上找到 "Assets" 部分,寻找适用于 Linux AMD64 的
geth-linux-amd64-版本号.tar.gz文件。 -
下载 Geth: 假设我们要下载最新稳定版本(v1.13.6,请根据实际情况替换版本号),可以使用
wget命令:# 请将下面的 URL 替换为实际的最新下载链接 wget https://github.com/ethereum/go-ethereum/releases/download/v1.13.6/geth-linux-amd64-1.13.6-4e582c5f.tar.gz
-
解压文件:
tar -xvf geth-linux-amd64-1.13.6-4e582c5f.tar.gz
-
移动到系统路径: 为了方便在任何目录下使用
geth命令,我们将它移动到/usr/local/bin目录:sudo mv geth-linux-amd64-1.13.6/geth /usr/local/bin/
-
验证安装: 执行以下命令检查 Geth 是否安装成功并查看版本:
geth version
如果能看到版本信息,则表示安装成功。
从源码编译(进阶用户)
如果您需要最新开发版或想参与贡献,可以从源码编译。
-
安装 Go 语言环境: Geth 是用 Go 语言编写的,因此需要先安装 Go。
# 下载 Go 二进制包(以 Go 1.21.0 为例,请替换为最新版本) wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz # 解压到 /usr/local sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz # 配置 Go 环境变量 echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc echo 'export GOPATH=$HOME/go' >> ~/.bashrc source ~/.bashrc
-
获取 Geth 源码:
go get -d github.com/ethereum/go-ethereum
-
编译 Geth:
cd $GOPATH/src/github.com/ethereum/go-ethereum make geth
-
移动到系统路径:
sudo cp build/bin/geth /usr/local/bin/
-
验证安装:
