使用PuTTY轻松搭建以太坊测试环境,手把手指南
默认分类
2026-02-17 22:12
8
0
以太坊作为全球领先的智能合约平台,其测试环境对于开发者学习、应用测试、合约部署与调试至关重要,本文将详细介绍如何使用PuTTY这一轻量级SSH客户端,在远程服务器上搭建一个功能完善的以太坊测试环境,整个过程将涵盖服务器连接、Geth客户端安装与配置、私有链启动以及基本交互等步骤。
准备工作
在开始之前,请确保你已经具备以下条件:
- 一台远程服务器:可以是云服务器(如AWS, Google Cloud, 阿里云等)或本地局域网内的一台始终开机的计算机,操作系统推荐Linux(如Ubuntu)。
- 服务器的公网IP地址:用于PuTTY连接。
- SSH登录凭据:服务器的用户名(如
ubuntu)和密码,或者SSH私钥。
- 已安装PuTTY的本地计算机:PuTTY是一款免费的SSH和telnet客户端,适用于Windows平台,你可以从其官网https://www.putty.org/ 下载并安装。
使用PuTTY连接远程服务器
- 启动PuTTY:在本地计算机上打开PuTTY。
- 输入服务器信息:
- 在 "Host Name (or IP address)" 字段中,输入你的服务器的公网IP地址。
- 确认 "Port" 字段中的端口号为默认的22(SSH默认端口)。
- 在 "Connection type" 中选择 "SSH"。
- 连接服务器:
- 点击 "Open" 按钮。
- 首次连接时,PuTTY会显示一个安全警告,询问是否信任该主机的主机密钥,选择 "Yes" 即可。
- 会提示你输入用户名和密码(如果设置了SSH密钥,则可能需要使用PuTTYgen加载私钥并连接),输入完成后,按回车键,如果凭据正确,你将成功登录到远程服务器的命令行界面。
安装Geth客户端
Geth是以太坊官方的Go语言实现客户端,是我们搭建私有测试环境的核心工具。
-
更新系统包列表:
sudo apt update
-
安装必要的依赖:
sudo apt install -y build-essential libssl-dev libffi-dev python3-dev
-
安装Geth:
以Ubuntu/Debian系统为例,可以通过以下PPA(Personal Package Archive)安装最新版本的Geth:
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt update
sudo apt install -y ethereum
安装完成后,可以通过以下命令验证Geth是否安装成功:
geth version
配置并启动私有以太坊测试网络
我们将创建一个私有链,这样你可以完全控制网络,无需担心测试币的真实性。
-
创建数据目录:
用于存储区块链数据。
mkdir ~/ethereum_data
-
初始化创世区块:
需要一个创世区块配置文件(genesis.json),我们可以创建一个简单的自定义创世文件:
cd ~/ethereum_data
nano genesis.json
在打开的编辑器中,粘贴以下内容(这是一个基本的PoA权威证明创世配置,适合测试):

ass="brush:json;toolbar:false">
{
"config": {
"chainId": 1337, // 私有链的ID,避免与主网冲突
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"parisBlock": 0,
"shanghaiBlock": 0,
"cancunBlock": 0,
"pragueBlock": 0,
"verkleBlock": 0,
"terminalTotalDifficulty": 0,
"terminalTotalDifficultyPassed": true,
"ethash": {},
"istanbul": {
"epoch": 30000,
"policy": 0
},
"clique": {
"period": 15,
"epoch": 30000,
"wasm": false
},
"dao": {
"forkBlock": 0,
"forkSupported": true
},
"gasLimit": 0x47b760,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip1559": false,
"eip1559Block": 0,
"eip1581Block": 0,
"eip1559ForkBlock": 0,
"eip161aBlock": 0,
"eip161bBlock": 0,
"eip161cBlock": 0,
"eip161dBlock": 0,
"eip161eBlock": 0,
"eip161fBlock": 0,
"eip161gBlock": 0,
"eip161hBlock": 0,
"eip161iBlock": 0,
"eip161jBlock": 0,
"eip161kBlock": 0,
"eip161lBlock": 0,
"eip161mBlock": 0,
"eip161nBlock": 0,
"eip161oBlock": 0,
"eip161pBlock": 0,
"eip161qBlock": 0,
"eip161rBlock": 0,
"eip161sBlock": 0,
"eip161tBlock": 0,
"eip161uBlock": 0,
"eip161vBlock": 0,
"eip161wBlock": 0,
"eip161xBlock": 0,
"eip161yBlock": 0,
"eip161zBlock": 0,
"eip162Block": 0,
"eip163Block": 0,
"eip164Block": 0,
"eip165Block": 0,
"eip166Block": 0,
"eip167Block": 0,
"eip168Block": 0,
"eip169Block": 0,
"eip170Block": 0,
"eip171Block": 0,
"eip172Block": 0,
"eip173Block": 0,
"eip174Block": 0,
"eip175Block": 0,
"eip176Block": 0,
"eip177Block": 0,
"eip178Block": 0,
"eip179Block": 0,
"eip180Block": 0,
"eip181Block": 0,
"eip182Block": 0,
"eip183Block": 0,
"eip184Block": 0,
"eip185Block": 0,
"eip186Block": 0,
"eip187Block": 0,
"eip188Block": 0,
"eip189Block": 0,
"eip190Block": 0,
"eip191Block": 0,
"eip192Block": 0,
"eip193Block": 0,
"eip194Block": 0,
"eip195Block": 0,
"eip196Block": 0,
"eip197Block": 0,
"eip198Block": 0,
"eip199Block": 0,
"eip200Block": 0,
"eip201Block": 0,
"eip202Block": 0,
"eip203Block": 0,
"eip204Block": 0,
"eip205Block": 0,
"eip206Block": 0,
"eip207Block": 0,
"eip208Block": 0,
"eip209Block": 0,
"eip210Block": 0,
"eip211Block": 0,
"eip212Block": 0,
"eip213Block": 0,
"eip214Block": 0,
"eip215Block": 0,
"eip216Block