以太坊作为全球领先的智能合约平台,其公链虽然功能强大,但对于开发者而言,在进行应用测试、算法验证或学习研究时,搭建一个本地或私有的以太坊网络(即“私链”)往往更为便捷和高效,本文将详细介绍如何在 Ubuntu 系统上,从零开始搭建一个以太坊私链。
准备工作
在开始之前,请确保您的 Ubuntu 系统满足以下基本条件:
- 操作系统:推荐使用 Ubuntu 20.04 LTS 或 22.04 LTS 版本,这些版本拥有较好的稳定性和社区支持。
- 硬件要求:私链对硬件要求不高,一般 2GB 以上内存,10GB 以上可用硬盘空间即可满足基本需求。
- 软件环境:
git:用于下载源代码。make:用于编译构建。g++:C++ 编译器。build-essential:包含基本编译工具集。
- 网络连接:虽然私链可以离线运行,但初期安装和下载依赖需要网络连接。
更新系统并安装必要的软件包:
sudo apt update sudo apt upgrade -y sudo apt install -y git make g++ build-essential
安装 Go 语言环境
以太坊客户端(如 Geth)通常使用 Go 语言开发,因此需要先安装 Go。
-
下载 Go:访问 Go 官方下载页面 获取最新版本的 Linux AMD64 下载链接,以下以 Go 1.21.0 为例:
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
-
解压并安装:
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
-
配置环境变量:编辑
~/.bashrc文件,添加 Go 的 bin 目录到 PATH:echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc
-
验证安装:
go version
如果显示 Go 版本号,则安装成功。
编装并安装 Geth 客户端
Geth(Go-Ethereum)是以太坊官方实现的 Go 语言客户端,是最常用的以太坊节点软件之一。
-
克隆 Geth 源代码:
git clone https://github.com/ethereum/go-ethereum.git cd go-ethereum
-
编译 Geth:
make geth
编译过程可能需要一些时间,具体取决于您的电脑性能。
-
验证安装:
./build/bin/geth version
如果能看到 Geth 的版本信息,说明编译安装成功,为了方便使用,可以将 Geth 添加到系统 PATH:
sudo cp ./build/bin/geth /usr/local/bin/
初始化创世区块
私链需要一个独特的“创世区块”(Genesis Block),这是区块链的起点。
-
创建创世配置文件:在您的用户目录下创建一个
ethereum目录,并在其中创建一个genesis.json文件。