/ 币圈行情

更新软件包列表

发布时间:2025-12-08 15:48:15

从零开始:在Ubuntu系统上搭建以太坊开发环境全指南


以太坊作为全球领先的智能合约平台,是去中心化应用(Dapp)和区块链创新的核心,对于任何想要进入Web3世界的开发者来说,在本地搭建一个稳定、高效的以太坊开发环境是必不可少的第一步,本文将以广泛用于服务器和开发的Ubuntu操作系统为例,为您提供一份详尽、清晰的环境搭建指南,帮助您顺利开启以太坊开发之旅。

准备工作:环境与工具

在开始之前,请确保您的Ubuntu系统已准备就绪,我们推荐使用Ubuntu 20.04或22.04 LTS版本,因为它们拥有更长的支持周期和更好的软件兼容性。

  1. 操作系统:Ubuntu 20.04.4 LTS (64-bit) 或更高版本。
  2. 硬件要求
    • CPU:至少双核处理器。
    • 内存:建议至少8GB RAM,如果计划运行全节点或进行复杂测试,16GB或以上更佳。
    • 存储:至少50GB可用硬盘空间,用于安装软件和存储区块链数据。
  3. 软件
    • Git:用于从代码仓库下载代码。
    • Python 3:许多以太坊工具链的依赖。
    • Node.js 和 npm:用于运行和安装前端DApp框架(如React)和以太坊交互库(如Web3.js, Ethers.js)。
    • 代码编辑器:如 VS Code。

核心组件安装

以太坊开发环境由几个关键工具组成,我们将逐一进行安装。

安装Go语言

以太坊的官方客户端(如Geth)是用Go语言编写的,因此需要先安装Go。

# 安装Go语言
sudo apt install golang-go
# 验证安装
go version

安装Node.js 和 npm

Node.js是构建现代DApp前端和与以太坊网络交互的基础。

# 使用NodeSource仓库安装最新的LTS版本(以Node 18为例)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
# 安装Node.js和npm
sudo apt install nodejs
# 验证安装
node -v
npm -v

安装代码编辑器 VS Code

VS Code是当前最受欢迎的代码编辑器之一,拥有丰富的以太坊开发插件。

# 下载并添加Microsoft GPG密钥
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code/ stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
# 安装VS Code
sudo apt update
sudo apt install code
# 安装VS Code后,可以通过命令行启动
code .

VS Code 推荐插件

  • Solidity:由Juan Blanco开发,提供语法高亮、智能提示和编译功能。
  • Prettier - Code formatter:代码格式化工具。
  • ESLint:JavaScript代码检查工具。

核心以太坊客户端:安装Geth

Geth(Go-Ethereum)是官方的以太坊客户端,功能强大,可以用于同步全节点、创建私有链、挖矿以及作为DApp的后端。

编译并安装Geth

虽然可以通过apt安装Geth,但版本可能较旧,为了获得最新功能,我们推荐从源码编译。

# 安装编译Geth所需的依赖
sudo apt install build-essential
# 克隆Geth的官方代码仓库
git clone https://github.com/ethereum/go-ethereum.git
# 进入项目目录
cd go-ethereum
# 切换到最新的稳定版本分支(stable分支)
git checkout stable
# 编译Geth
make geth
# 将编译好的geth可执行文件移动到系统PATH中,方便全局使用
sudo cp build/bin/geth /usr/local/bin/
# 验证安装
geth version

启动并连接到以太坊网络

安装完成后,您可以使用Geth连接到公共的以太坊主网或测试网。

连接到以太坊主网

这是连接到真实、有价值的以太坊网络的方式。

# 启动Geth,连接到主网,并开启HTTP-RPC服务,默认端口8545
# --syncmode "full" 表示同步所有区块数据,成为全节点
# --http 启动HTTP-RPC API服务
# --http.addr "0.0.0.0" 允许任何IP地址访问API服务(注意安全风险)
# --http.vhosts "*" 允许任何主机名访问
geth --syncmode "full" --http --http.addr "0.0.0.0" --http.vhosts "*"

首次启动:第一次启动时,Geth需要同步大量的区块数据,这可能需要花费数天甚至数周的时间,并且会占用大量磁盘空间(超过1TB),在同步过程中,终端会显示同步进度。

连接到测试网(推荐开发使用)

对于开发者来说,使用测试网更经济、更快捷,我们以Goerli测试网为例。

# 启动Geth,连接到Goerli测试网
geth --goerli --syncmode "full" --http --http.addr "0.0.0.0"

Goerli测试网的区块数据要小得多,同步速度也快得多。

使用控制台交互

启动Geth后,您可以打开一个新的终端窗口,使用geth attach命令附加到Geth的JavaScript控制台,直接与区块链进行交互。

# 附加到刚刚启动的Geth节点
geth attach http://localhost:8545

进入控制台后,您可以执行以下命令:

  • eth.blockNumber:查看当前最新区块号。
  • eth.accounts:查看本地账户列表。
  • personal.newAccount("your_password"):创建一个新账户。

环境验证:部署一个简单的智能合约

环境搭建的最终目的是为了开发和部署智能合约,我们将使用Hardhat这一现代化的开发框架来验证我们的环境。

初始化Hardhat项目

# 创建一个新目录并进入
mkdir my-dapp && cd my-dapp
# 初始化Hardhat项目
npm init --yes
# 安装Hardhat
npm install --save-dev hardhat
# 在项目目录下创建Hardhat配置文件
npx hardhat

在交互式安装过程中,选择"Create a basic JavaScript project"即可。

编写智能合约

contracts/目录下,创建一个名为SimpleStorage.sol的文件:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
contract SimpleStorage {
    uint256 private myNumber;
    function set(uint256 _newNumber) public {
        myNumber = _newNumber;
    }
    function get() public view returns (uint256) {
        return myNumber;
    }
}

编译合约

在项目根目录下运行:

npx hardhat compile

编译成功后,您会在artifacts/目录下看到编译好的合约字节码和ABI。

恭喜!您已经成功在Ubuntu系统上搭建了一个完整的以太坊开发环境,您具备了以下能力:

  • 运行一个以太坊节点(主网或测试网)。
  • 通过HTTP-RPC API与节点进行交互。
  • 使用Hardhat框架编译和测试智能合约。

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

如有疑问请发送邮件至:bangqikeconnect@gmail.com