:2026-04-02 18:18 点击:1
以太坊作为全球第二大公链,其测试环境是开发者学习智能合约、测试DApp应用以及调试交易逻辑的重要工具,对于Windows用户而言,PuTTY作为一款轻量级的SSH客户端,可帮助远程连接Linux服务器,搭建本地或远程以太坊测试节点,本文将详细介绍如何通过PuTTY搭建以太坊测试环境,涵盖环境准备、节点安装、网络配置及交互测试全流程。
在开始之前,需确保以下环境已就绪:
本地环境:
putty.exe、pscp.exe等工具)。 远程环境(可选):
若使用远程Linux服务器(如AWS、阿里云ECS),需确保服务器已安装SSH服务(默认多数Linux系统已预装),并获取服务器的IP地址、端口号及登录凭证(用户名/密码或SSH密钥)。
若选择在远程服务器上搭建测试环境,需通过PuTTY建立SSH连接:
启动PuTTY:
打开putty.exe,在“Session”界面配置连接信息:
168.1.100)。 22(若服务器修改过端口,需填写实际端口)。 SSH。 保存会话(可选):
在“Session”界面的“Saved Sessions”框输入名称(如“Eth Test Node”),点击“Save”,方便下次直接调用。
连接服务器:
点击“Open”,弹出终端窗口,输入用户名和密码(或SSH密钥 passphrase)登录,若首次连接,会提示“Host key not cached”,选择“Accept”即可。
无论是本地还是远程环境,以下步骤均适用(以Linux服务器为例,本地Windows环境需将命令替换为CMD执行,并确保Geth已添加到系统PATH)。
# 安装必要工具(build-essential用于编译,git用于下载代码) sudo apt install -y build-essential git unzip
# 进入home目录 cd ~ # 下载Geth二进制文件(以Linux 64位为例,Windows用户直接下载geth-windows-amd64.zip) wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.13.6-4e812088.tar.gz # 解压 tar -xzf geth-linux-amd64-1.13.6-4e812088.tar.gz # 将geth移动到/usr/local/bin(全局可用) sudo mv geth-linux-amd64-1.13.6-4e812088/geth /usr/local/bin/ # 验证安装 geth version
以太坊测试网络(如Ropsten、Kovan)已停止服务,推荐使用开发网络(dev)或本地私有网络,这里以开发网络为例:
# 创建节点数据目录 mkdir -p ~/ethereum/testnet # 初始化节点(指定数据目录和网络类型) geth --datadir ~/ethereum/testnet account new
执行后会生成账户地址和密钥,请务必记录地址(如0x...)和密码(建议单独保存密码文件)。
# 启动开发网络节点(默认端口30303,RPC端口8545) geth --datadir ~/ethereum/testnet --dev --http --http.addr "0.0.0.0" --http.port "8545" --http.api "eth,net,web3,personal" --ws --ws.addr "0.0.0.0" --ws.port "8546" --ws.api "eth,net,web3,personal" console
参数说明:
--datadir:节点数据存储目录。 --dev:启动开发网络(单节点,出块速度快,适合测试)。 --http:开启HTTP-RPC服务,方便Web3.js等库连接。 --http.addr "0.0.0.0":允许任何IP访问RPC服务(远程服务器需注意安全,可限制为特定IP)。 --http.port "8545":RPC端口。 --http.api:开放的API接口(eth、net、web3等)。 --ws:开启WebSocket服务,适用于实时交互。 启动后,终端会进入Geth控制台(显示>提示符),节点开始同步区块(开发网络无需同步,直接出块)。
在Geth控制台执行:
// 查看当前账户列表 eth.accounts // 查看账户余额(单位:Wei) eth.getBalance(eth.accounts[0]) // 转换为ETH显示 web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")
开发网络中,可通过挖矿生成测试ETH:
// 开始挖矿(参数为线程数,1即可) miner.start(1) // 停止挖矿 miner.stop()
挖矿成功后,账户余额会增加(开发网络出块速度极快,约15秒一个区块)。
// 获取第二个账户(需提前通过geth account new创建)
const account2 = eth.accounts[1]
// 从账户0向账户2转账1 ETH(单位:Wei)
const amount = web3.toWei(1, "ether")
// 发送交易(需解锁账户0)
personal.unlockAccount(eth.accounts[0], "your_password")
eth.sendTransaction({from: eth.accounts[0], to: account2, value: amount})
交易发送后,可通过eth.getTransactionReceipt(txHash)查看交易状态。
若需在本地浏览器中通过Web3.js连接测试节点,可使用MetaMask钱包:
http://服务器IP:8545,_chainId_开发网络为1337)。 连接超时:
30303(P2P端口)和8545(RPC端口)。 账户解锁失败:
personal.unlockAccount(account, password, 300)设置解锁时长(单位:秒)。 节点无法同步:
开发网络无需同步,若使用其他测试网络(如Sepolia),需确保节点已连接到公网,并等待同步完成。
通过PuTTY搭建以太坊测试环境,为开发者提供了一个灵活、低成本的DApp测试平台,无论是本地Windows环境还是远程Linux服务器,均可按照本文步骤快速完成节点部署、账户管理和交互测试,掌握这一流程,不仅能加深对以太坊网络机制的理解,还能为后续智能合约开发与部署奠定坚实基础。
提示:测试环境中的数据和资产均为测试用途,请勿投入真实资产,生产环境部署时,需额外关注节点安全性(如防火墙、密钥管理等)。
本文由用户投稿上传,若侵权请提供版权资料并联系删除!