以太坊作为全球领先的智能合约平台,其底层客户端软件是参与网络运行、开发 DApp 或进行节点操作的基础,本文将详细介绍如何在 CentOS 系统(以 CentOS 7 为例)上安装和配置最常用的以太坊客户端之一——Geth(Go-Ethereum)。

准备工作

在开始安装之前,请确保您的系统满足以下基本要求:

  1. 操作系统:本文以 CentOS 7 64位为例,CentOS 8/Stream 或其他基于 RHEL 的系统也可参考,部分命令可能需微调。
  2. 权限要求:需要具有 sudo 权限的用户账户,以便安装软件和修改系统配置。
  3. 网络连接:稳定的互联网连接,用于下载软件包和依赖项。
  4. 基本命令行操作:熟悉 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,主要有两种方式:使用预编译的二进制文件(推荐)或从源码编译,对于大多数用户,预编译二进制文件更简单快捷。

使用预编译的二进制文件(推荐)

这是最简单的方法,无需编译源码。

  1. 访问 Geth 官方下载页面: 您可以访问 Geth 的 GitHub 发布页面获取最新版本的下载链接:https://github.com/ethereum/go-ethereum/releases 在页面上找到 "Assets" 部分,寻找适用于 Linux AMD64 的 geth-linux-amd64-版本号.tar.gz 文件。

  2. 下载 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
  3. 解压文件

    tar -xvf geth-linux-amd64-1.13.6-4e582c5f.tar.gz
  4. 移动到系统路径: 为了方便在任何目录下使用 geth 命令,我们将它移动到 /usr/local/bin 目录:

    sudo mv geth-linux-amd64-1.13.6/geth /usr/local/bin/
  5. 验证安装: 执行以下命令检查 Geth 是否安装成功并查看版本:

    geth version

    如果能看到版本信息,则表示安装成功。

从源码编译(进阶用户)

如果您需要最新开发版或想参与贡献,可以从源码编译。

  1. 安装 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
  2. 获取 Geth 源码

    go get -d github.com/ethereum/go-ethereum
  3. 编译 Geth

    cd $GOPATH/src/github.com/ethereum/go-ethereum
    make geth
  4. 移动到系统路径

    sudo cp build/bin/geth /usr/local/bin/
  5. 验证安装随机配图