本地节点交互教程 Foundry
本地节点交互教程 Foundry 篇,参考网址本地节点交互教程 Foundry 篇。
本篇旨在记录如何简单使用 Foundry
📦 安装 Foundry
以下是针对 Windows 11 + WSL (Ubuntu-24.04) 安装 Foundry(forge、cast、anvil、chisel)的完整、简洁总结步骤。
1. 进入 WSL 的 Ubuntu 终端
- Windows 开始菜单搜索 “Ubuntu” 或 “Ubuntu 24.04 LTS”,点击打开。
- 或者在 PowerShell/CMD 里输入:
wsl(默认进 Ubuntu-24.04)。
看到类似 xxx@xxx:~$ 的提示符就对了。
2. 更新系统包(强烈推荐先做,避免依赖问题)
1 | sudo apt update && sudo apt upgrade -y |
- 输入密码,按回车。
- 等它跑完(1–10 分钟,看网速)。
3. 安装 curl(如果还没装)
1 | sudo apt install curl -y |
4. 下载并安装 foundryup(官方一键脚本)
1 | curl -L https://foundry.paradigm.xyz | bash |
5. 刷新环境变量(非常关键!)
- 方法一(推荐):直接关闭当前 Ubuntu 终端窗口,再重新打开一个新的。
- 方法二(不关窗口):运行下面命令(根据你的 shell,通常是 bash):(如果是 zsh,就改成
1
source ~/.bashrc
source ~/.zshrc)
6. 安装 Foundry 工具链
1 | foundryup |
- 这会自动下载最新稳定版(forge、cast、anvil、chisel)。
- 过程几分钟,成功后会显示安装信息。
7. 验证安装成功
运行下面命令,看是否输出版本号:
1 | forge --version |
- 看到类似
forge 0.2.x或更高版本 → 成功!
后续常用操作
- 更新 Foundry 到最新版:随时再跑一次
foundryup - 创建新项目 测试环境:
1
2
3forge init my-first-project
cd my-first-project
forge test - 开本地开发节点:
anvil(默认 http://127.0.0.1:8545)
小Tips
- 所有 Foundry 相关命令都在 这个 WSL Ubuntu 终端 里跑。
- 用 VS Code 写代码:安装 “Remote - WSL” 扩展 → Ctrl+Shift+P → “Remote-WSL: New WSL Window” 或 “Reopen in WSL”,直接连进 Ubuntu 写 Solidity 超级方便。
- 如果卡住(比如网络问题):试试手机热点、换个时间再跑,或者临时用 VPN 连香港/美国节点。
就这些步骤,基本 10–15 分钟搞定。
现在你可以直接复制上面命令,从步骤 1 开始一步步敲了~ 装完后告诉我结果,或者下一步想做什么(写合约、连测试网、部署等)!
⚠️ 核心概念(小白必读)
在开始敲代码前,你只需要理解这三个角色的关系:
- Anvil(铁砧):它是游戏服务器。它会在你电脑本地启动一条区块链。只要它开着,你的世界就存在;它关了,世界就消失。
- Forge(锻造):它是造物主工具。用来编写和把合约(比如一个自动售货机)放到服务器里。
- Cast(施法):它是游戏手柄。用来和合约互动(比如查询余额、按下按钮)。
🏗️ 开始工作
第 1 步:初始化新项目
安装完成后,创建一个新的文件夹作为你的 DApp 项目目录:
1 | forge init my_first_dapp |
项目结构说明:
src/:存放智能合约 (.sol 文件)。默认会有一个Counter.sol。test/:存放测试文件。script/:存放部署脚本。
第 2 步:启动服务器 (Window 1)
- 打开第一个终端窗口。
- 输入
anvil并回车。 - 你会看到一串花花绿绿的字。关键点: 找到
Private Keys下面的第一行(0xac09...开那一长串),复制它! 这是系统的“上帝账号”,里面有无限的钱。
🛑 停手! 这个窗口不要动了,也不要关掉。把它晾在一边,让它一直运行。
第 3 步:制造合约 (Window 2)
- 打开第二个终端窗口(在这个窗口操作)。
- 输入以下命令,创建一个新项目:
forge init my_first_web3 cd my_first_web3
我们要造什么?
Foundry 默认送了我们一个“计数器”合约(在 src/Counter.sol 里)。你可以把它想象成一个计分板:
- 能看当前分数 (
number)。 - 能修改分数 (
setNumber)。 - 能让分数 +1 (
increment)。
本地节点交互教程 Foundry


