以太坊作为全球领先的智能合约平台,为去中心化应用(Dapps)的开发提供了强大的基础设施,想要踏入以太坊开发的世界,首先需要搭建一个本地开发环境,本教程将带你一步步完成以太坊开发环境的搭建,无论你是编程新手还是有经验的开发者,都能跟着顺利完成。
准备工作
在开始之前,请确保你的计算机满足以下基本要求:
安装基础工具

安装 Git
sudo apt update sudo apt install git
brew install git
安装完成后,验证:
git --version
安装 Node.js 和 npm
sudo apt update sudo apt install nodejs npm
注意:某些情况下,系统自带的 Node.js 版本可能较旧,建议使用 NodeSource 仓库安装较新版本。
brew install node
安装完成后,验证:
node -v npm -v
安装 Python (可选,但推荐)
sudo apt install python3 python3-pip
python3 --version
安装 VS Code 及 Solidity 插件
安装以太坊客户端 (Geth - Go-Ethereum)
Geth 是最常用的以太坊客户端之一,用于与以太坊网络交互,运行节点等。

sudo apt install software-properties-common sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt update sudo apt install geth
brew tap ethereum/ethereum brew install geth
geth-windows-amd64-1.x.x.x.zip)。geth.exe 所在路径添加到系统环境变量 PATH 中。验证安装:
geth version
安装开发框架 (Truffle 或 Hardhat)
开发框架可以大大简化智能合约的编写、测试、部署和管理流程,这里我们以 Truffle 为例进行介绍。
npm install -g truffle
-g 表示全局安装,方便在任意项目中使用。
验证安装:
truffle version
*(可选)Hardhat 安装**: Hardhat 是另一个流行的以太坊开发环境,以其强大的插件系统和调试功能著称。
npm install --global hardhat
验证安装:
```bash
npx hardhat --version
```
创建第一个以太坊项目
创建项目目录:
mkdir my-ethereum-project cd my-ethereum-project
初始化 Truffle 项目:

truffle init
这会创建一些标准目录结构,如 contracts/(存放智能合约)、migrations/(部署脚本)、test/(测试文件)等。
(可选)如果使用 Hardhat 初始化项目:
npx hardhat
然后按照提示选择 "Create a basic sample project"。
启动私有测试链 (使用 Geth)
为了不影响主网,并且无需消耗真实 ETH,我们通常在本地运行一个私有测试链。
初始化创世区块: 在项目目录下创建一个文件,genesis.json如下:
{
"config": {
"chainId": 15, // 自定义链ID,确保唯一性
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"difficulty": "0x4000",
"gasLimit": "0xffffffff",
"alloc": {
"7a5b7d3f5b2e4c8a9d0f1e2d3c4b5a6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2": { // 替换成你自己的以太坊地址,可以通过 geth account new 创建
"balance": "0x200000000000000000000000000000000000000000000000000000000000000"
}
}
} 创建账户 (如果还没有):
geth --datadir ./data account new
按照提示输入密码,记住这个密码,后续启动节点会用到,这会创建一个新账户,并返回地址,将地址填入 genesis.json 的 alloc 部分。
启动私有节点:
geth --datadir ./data --networkid 15 --nodiscover --rpc --rpcaddr "0.0.0.0" --rpcport 8545 --rpccorsdomain "*" --rpcapi "eth,net,web3,personal" --unlock 0 --password <密码文件路径或直接输入密码>
--datadir ./data: 指定数据存储目录。--networkid 15: 使用与创世区块配置相同的链ID。--nodiscover: 不自动发现其他节点,因为是私有链。--rpc: 启动 RPC 服务,方便 DApp 或其他工具连接。--rpcaddr "0.0.0.0": 允许任何 IP 访问 RPC 服务(开发环境使用,生产环境需谨慎)。--rpcport 8545: RPC 服务端口,默认 8545。--rpccorsdomain "*": 允许任何来源的 CORS 请求(开发环境使用)。--rpcapi "eth,net,web3,personal": 暴露的 RPC API。--unlock 0: 解锁第一个账户(索引为 0 的账户)。--password: 指定密码文件路径或直接输入密码。启动后,Geth 会开始同步创世区块,你可以看到类似 Successfully sealed new block 的日志,表示私有链正在运行。
部署智能合约
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com