以太坊作为全球领先的智能合约平台和去中心化应用(DApps)开发框架,吸引了无数开发者和创业者,在Windows系统上搭建以太坊开发环境是踏入区块链开发领域的第一步,本文将详细介绍如何在Windows操作系统上,从零开始搭建一个功能完善的以太坊开发环境,涵盖必要工具的安装、配置及简单测试。
准备工作:明确开发需求与环境选择
在开始搭建之前,首先需要明确你的开发需求,以太坊开发环境主要分为以下几种:
对于初学者而言,推荐从本地私有链开发开始,熟悉后再逐步尝试测试网络和主网,本文将以本地私有链开发为主,并介绍如何连接到公共测试网络。

核心开发工具安装与配置
搭建以太坊开发环境,通常需要以下几个核心工具:
步骤1:安装 Node.js 和 npm
node -v npm -v
若显示版本号,则表示安装成功。
步骤2:安装 Visual Studio Code 及以太坊插件
Ctrl Shift X)。步骤3:安装 Geth

Geth是以太坊官方推荐的Go客户端。
.zip文件,geth-windows-amd64-1.10.23-966db4e5.zip,版本号可能不同)。C:\Program Files\geth。geth命令,需要将Geth的路径添加到系统的环境变量PATH中。
Path变量,点击“编辑”。C:\Program Files\geth)添加进去。geth version
若显示Geth的版本信息,则表示安装成功。
步骤4:安装 Truffle
Truffle可以通过npm进行全局安装。
npm install -g truffle
-g 参数表示全局安装。
truffle version
若显示Truffle的版本信息,则表示安装成功。

创建第一个以太坊项目(本地私有链)
步骤1:初始化Truffle项目
EthereumDev文件夹,然后进入该文件夹),打开命令提示符。# 假设你已经在D:\EthereumDev目录下 # 如果不在,先进入:cd D:\EthereumDev truffle init
truffle init 命令会创建一个基本的Truffle项目结构,包括:
contracts/:存放Solidity智能合约文件。migrations/:部署脚本文件。test/:测试文件目录。truffle-config.js:Truffle配置文件。步骤2:启动私有链节点
D:\EthereumDev)。geth --datadir "./data" --dev console
--datadir "./data":指定数据存储目录为项目下的data文件夹。--dev:以开发模式启动,会自动创建一个预 funded 的账户,并且挖矿速度很快,适合开发测试。console:启动后直接进入JavaScript交互控制台。Welcome to the Geth JavaScript Console! 的提示,表示节点已成功启动并正在运行,节点会自动开始挖矿。步骤3:连接节点与部署合约(可选,直接使用Truffle部署)
虽然我们启动了Geth节点,但更推荐使用Truffle来进行合约的编译、测试和部署,因为它提供了更便捷的工作流。
编写智能合约: 打开VS Code,进入项目目录下的contracts文件夹,删除Migrations.sol(如果不需要),然后创建一个新的Solidity文件,例如SimpleStorage.sol如下:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract SimpleStorage {
uint256 private storedData;
function set(uint256 x) public {
storedData = x;
}
function get() public view returns (uint256) {
return storedData;
}
} 配置Truffle连接私有链: 打开项目根目录下的truffle-config.js文件,修改如下内容:
module.exports = {
networks: {
development: {
host: "127.0.0.1", // Localhost (default: none)
port: 8545, // Standard Ethereum port (default: none)
network_id: "*", // Any network (default: none)
},
// 如果你想连接到刚才启动的Geth --dev节点,Geth默认监听8545端口(除非指定其他)
// 如果Geth节点没有使用--dev,或者有其他配置,需要相应调整host和port
// 如果你在geth命令中指定了--rpc --rpcport 8546,那么这里port就应该是8546
// 对于--dev模式,通常使用默认的8545端口即可
},
compilers: {
solc: {
version: "0.8.0", // 指定Solidity编译器版本,与合约中 pragma ^0.8.0 匹配
},
},
}; 注意:对于geth --dev console启动的节点,默认情况下是不开启HTTP-RPC服务的,要让Truffle能连接到它,需要重新