以太坊作为去中心化应用和智能合约的首选平台,其开发环境的搭建是每一位开发者的必修课,Linux系统,尤其是开发者友好的Ubuntu,因其稳定性和强大的命令行工具,成为了搭建以太坊开发环境的热门选择,本文将详细指导您如何在Ubuntu系统上,一步步搭建一个功能完善的以太坊开发环境。
第一步:系统准备与基础环境配置
在开始之前,确保您的Ubuntu系统已更新至最新版本,并安装了必要的开发工具。
-
更新系统包列表 打开终端(快捷键
Ctrl+Alt+T),首先更新系统的软件包列表:sudo apt update
-
安装基础开发工具 这些工具包括编译器、构建工具等,是后续开发的基础。
sudo apt install -y build-essential curl software-properties-common
第二步:安装Node.js 与 npm
Node.js是运行以太坊JavaScript/TypeScript框架(如Hardhat, Truffle)的必要条件,我们推

-
安装nvm 运行以下命令来安装nvm(请从nvm官方GitHub仓库获取最新的安装命令,以下命令为常见版本):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
安装完成后,关闭并重新打开终端,或运行以下命令使配置生效:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
-
使用nvm安装Node.js 推荐安装LTS(长期支持)版本的Node.js,例如v18或v20。
nvm install 20
安装完成后,将其设置为默认版本:
nvm use 20 nvm alias default 20
验证安装:
node -v npm -v
第三步:安装Python 与 pip
以太坊的一些工具(如Web3.py)需要Python环境,Ubuntu 22.04通常默认安装了Python 3。
-
验证Python安装
python3 --version
如果未安装,请运行:
sudo apt install -y python3 python3-pip
-
安装以太坊相关Python库(可选) 如果您计划使用Python进行开发,可以安装Web3.py库:
pip3 install web3
第四步:安装Geth(以太坊官方客户端)
Geth(Go-Ethereum)是以太坊的官方Go语言实现,它是一个功能完整的以太坊节点,可以用于同步链数据、挖矿、发送交易等。
-
添加以太坊PPA源 为了安装最新稳定版的Geth,我们添加官方的PPA源:
sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt update
-
安装Geth
sudo apt install -y ethereum
-
验证Geth安装
geth version
第五步:安装Hardhat(现代以太坊开发框架)
Hardhat是一个用Node.js构建的智能合约开发、编译、测试和部署环境,是目前最受欢迎的开发框架之一。
-
创建项目目录
mkdir my-eth-project cd my-eth-project
-
初始化Hardhat项目 在项目目录中运行:
npx hardhat
按照提示进行操作:
Which solidity version do you want to use?: 选择一个兼容的Solidity版本(8.20)。Do you want to create a .gitignore?: 建议选择Yes。What do you want to do? ...: 选择Create a basic sample project来快速开始。
-
安装依赖 Hardhat会自动创建一个
contracts、scripts和test目录,进入项目根目录,安装必要的依赖:npm install
第六步:安装其他常用工具
-
安装MetaMask浏览器插件 虽然这不是一个命令行工具,但MetaMask是开发过程中与DApp交互的必备钱包,请访问 MetaMask官网 下载并安装您浏览器的插件。
-
安装Remix IDE(可选) Remix是一个基于浏览器的智能合约编辑器,非常适合快速编写和测试简单合约,您可以直接访问 Remix IDE官网 使用,无需安装。
-
安装Truffle(可选) Truffle是另一个流行的智能合约开发框架,与Hardhat类似,如果需要,您可以在项目目录中安装:
npm install -g truffle
第七步:连接与验证
让我们启动一个本地的私有测试网络,并部署一个简单的合约来验证环境。
-
启动一个私有Geth节点 在一个新的终端窗口中,运行以下命令启动一个开发节点:
geth --dev --http
这个命令会启动一个私有链,并监听默认的HTTP端口(8545),您会看到节点开始同步创世区块。
-
配置Hardhat连接到本地节点 Hardhat默认配置为连接到本地的
http://127.0.0.1:8545,这与我们启动的Geth节点完美匹配,您可以在hardhat.config.js文件中确认或修改配置。 -
部署合约 打开第一个终端(Hardhat项目目录),运行部署脚本:
npx hardhat run scripts/deploy.js --network localhost
如果一切顺利,您将看到合约被成功部署到本地测试网络,并返回合约地址。
恭喜!您现在已经在Ubuntu系统上成功搭建了一个功能齐全的以太坊开发环境,这个环境包括了:
- 后端节点: Geth,用于运行区块链。
- 开发框架: Hardhat,用于智能合约的编译、测试和部署。
- 编程语言: Node.js 和 Python,用于编写应用逻辑。
- 交互工具: MetaMask,用于与DApp进行钱包交互。
有了这个坚实的基础,您就可以开始探索智能合约的世界,编写您的第一个DeFi应用、NFT项目或其他去中心化创新了,祝您开发愉快!