环境准备

在开始搭建以太坊私链前,需确保CentOS系统满足基本要求,并安装必要的依赖工具,本文以CentOS 7为例,其他版本可参考类似步骤。

系统要求

  • 操作系统:CentOS 7.x(64位)
  • 内存:至少2GB(推荐4GB以上,避免节点运行卡顿)
  • 存储:至少20GB可用空间(用于存储区块链数据)
  • 网络:本地网络环境(无需公网IP,私链独立运行)

安装必要依赖

以太坊节点运行需要git(下载源码)、make(编译工具)和gcc(C语言编译器),可通过以下命令安装:

# 更新系统软件包
sudo yum update -y
# 安装git、make、gcc等工具
sudo yum install -y git make gcc-c++

安装Go语言环境

以太坊(Geth)是基于Go语言开发的,需先安装Go环境,本文以Go 1.19为例(推荐较新稳定版)。

下载Go安装包

访问Go官网下载Linux AMD64版本的tar包,或直接使用wget命令:

# 进入/opt目录(存放软件源码)
cd /opt
# 下载Go 1.19.5安装包(可根据需要更换版本)
sudo wget https://dl.google.com/go/go1.19.5.linux-amd64.tar.gz

解压并配置环境变量

# 解压到/usr/local目录
sudo tar -C /usr/local -xzf go1.19.5.linux-amd64.tar.gz
# 配置Go环境变量(编辑/etc/profile文件)
sudo vim /etc/profile

在文件末尾添加以下内容:

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

保存后执行以下命令使配置生效:

source /etc/profile

验证Go安装

go version
# 若输出类似 "go version go1.19.5 linux/amd64",则安装成功

编译安装Geth客户端

Geth(Ethereum Go)是以太坊官方的Go语言客户端,用于搭建节点、管理私链等。

下载Geth源码

# 进入$GOPATH/src目录(Go项目标准路径)
mkdir -p $GOPATH/src/github.com/ethereum
cd $GOPATH/src/github.com/ethereum
# 克隆Geth源码(从GitHub官方仓库)
git clone https://github.com/ethereum/go-ethereum.git

编译Geth

# 进入go-ethereum目录
cd go-ethereum
# 切换到最新稳定版本(如v1.13.6,可根据需求选择版本)
git checkout v1.13.6
# 编译geth(make命令会自动下载依赖并编译)
make geth

编译完成后,可执行文件位于$GOPATH/src/github.com/ethereum/go-ethereum/build/bin/geth,可通过以下命令添加到系统PATH(方便全局调用):

# 创建软链接到/usr/local/bin
sudo ln -s $GOPATH/src/github.com/ethereum/go-ethereum/build/bin/geth /usr/local/bin/geth
# 验证geth安装
geth version
# 若输出Geth版本信息,则安装成功

初始化创世区块

私链需要自定义创世区块(Genesis Block),通过创世配置文件定义链的初始规则(如区块奖励、 gas限制等)。

创建创世配置文件

在任意目录(如随机配图