手绘风格的网站,上海做网站cnsosu,企业搭建一个营销型网站多少钱,营销型网站建设哪家好相关文章推荐链接Web3专栏https://blog.csdn.net/qq_42392981/category_13016259.html在 VSCode 中基于 Foundry 快速构建 Solidity 智能合约本地开发环境引言1. 开发环境准备#xff08;Windows#xff09;1.1 安装 VSCode1.2 安装推荐插件1.3 安装 Foundry1.4 验证 Forge 和…相关文章推荐链接Web3专栏https://blog.csdn.net/qq_42392981/category_13016259.html在 VSCode 中基于 Foundry 快速构建 Solidity 智能合约本地开发环境引言1. 开发环境准备Windows1.1 安装 VSCode1.2 安装推荐插件1.3 安装 Foundry1.4 验证 Forge 和 Anvil 安装成功2. 创建 Solidity 项目使用 Foundry2.1 使用 Forge Init 创建项目2.2 项目目录结构解析2.3 配置文件 foundry.toml 的作用说明3. 编写智能合约与单元测试3.1 编写简单合约示例Counter.sol3.2 编写测试用例使用 Forge 测试框架3.3 运行本地测试命令4. 使用 Foundry 搭建本地测试网络4.1 启动本地节点 Anvil4.2 使用 Anvil 模拟本地区块链环境4.3 在本地部署合约使用 Forge Script5. 使用 Anvil 生成的私钥通过欧易连接本地区块链5.1 下载欧易插件5.2 导入私钥5.3 设置自定义网络6. 脚本部署与调试演示6.1 编写部署脚本script/Deploy.s.sol6.2 运行部署脚本连接 Anvil6.3 在终端查看交易过程和输出结语参考链接引言
作为 Solidity 初学者或中级开发者你可能希望在本地环境中快速开发和测试智能合约。Foundry 是一个高效的以太坊开发工具链支持 Solidity 合约的编写、测试和部署而 VSCode 则提供优秀的代码编辑支持。本教程将指导你在 Windows 系统下搭建环境、创建项目、编写合约、进行单元测试并使用本地网络进行部署和调试。所有步骤均针对 Windows 环境确保易于复现。
前提条件
Windows 10 或更高版本。基本命令行操作知识Git bash。安装 Git如果未安装可从 Git 官网 下载。 1. 开发环境准备Windows
1.1 安装 VSCode
访问 VSCode 官网 下载 Windows 安装包。双击安装包按照提示完成安装。启动 VSCode确认界面正常。 1.2 安装推荐插件
在 VSCode 中打开扩展面板Ctrl Shift X搜索并安装以下插件
Solidity由 Juan Blanco 开发提供 Solidity 语法高亮、自动补全和 linting。Prettier - Code formatter自动格式化代码确保一致性。Solidity Visual Developer增强 Solidity 可视化如函数调用图和审计工具。
安装后重启 VSCode 以生效。 1.3 安装 Foundry
可以参考我的另外一篇详细安装Foundry的文章Foundry安装和使用指南
官网安装指南https://getfoundry.sh/
Foundry 通过 foundryup 安装脚本进行安装。在 Windows 上使用 Git bash 执行以下步骤 打开 Git bash。 执行以下命令下载并安装 Foundry curl -L https://foundry.paradigm.xyz | Invoke-Expression这将安装 foundryup然后运行 foundryup 更新到最新版本。 注意如果 curl 未安装确保你的 Windows 已启用或通过 Git Bash 使用。 1.4 验证 Forge 和 Anvil 安装成功
在 Git Bash 中运行以下命令验证
forge --version
anvil --version输出类似 forge Version 0.x.x 和 anvil Version 0.x.x 表示安装成功。 2. 创建 Solidity 项目使用 Foundry
2.1 使用 Forge Init 创建项目 在 Git Bash 中导航到你想要的目录例如cd C:\Projects。 创建并初始化项目 forge init my-solidity-project
cd my-solidity-project这将生成一个模板项目。 2.2 项目目录结构解析
初始化后项目结构如下
src/存放智能合约源代码例如 Counter.sol。test/存放单元测试文件例如 Counter.t.sol。script/存放部署和交互脚本例如 Deploy.s.sol。lib/存放依赖库如 Forge-Std。foundry.toml配置文件。.git/Git 版本控制目录。
2.3 配置文件 foundry.toml 的作用说明
foundry.toml 是 Foundry 的配置文件用于自定义构建、测试和部署行为。默认内容包括
[profile.default]
src src
out out
libs [lib]src源代码目录。out编译输出目录。libs依赖库目录。
可以查看详细配置foundry.toml详细配置 3. 编写智能合约与单元测试
3.1 编写简单合约示例Counter.sol
在 VSCode 中打开项目编辑 src/Counter.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;contract Counter {uint256 public number;function setNumber(uint256 newNumber) public {number newNumber;}function increment() public {number;}
} 3.2 编写测试用例使用 Forge 测试框架
编辑 test/Counter.t.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;import {Test, console} from forge-std/Test.sol;
import {Counter} from ../src/Counter.sol;contract CounterTest is Test {Counter public counter;function setUp() public {counter new Counter();counter.setNumber(0);}function test_Increment() public {counter.increment();assertEq(counter.number(), 1);}function testFuzz_SetNumber(uint256 x) public {counter.setNumber(x);assertEq(counter.number(), x);}
}3.3 运行本地测试命令
在 Git Bash中运行
forge build
forge testforge build编译合约。forge test运行测试用例。 4. 使用 Foundry 搭建本地测试网络
4.1 启动本地节点 Anvil
Anvil 是 Foundry 的本地以太坊模拟器。在新建的 Git Bash窗口中运行
anvil --accounts 10 --balance 100--accounts 10生成 10 个测试账户。--balance 100每个账户初始余额 100 ETH。
Anvil 会输出 RPC URL如 http://127.0.0.1:8545和测试账户私钥。 4.2 使用 Anvil 模拟本地区块链环境
Anvil 模拟完整的以太坊环境支持合约部署和交易模拟。保持 Anvil 窗口打开作为本地链。
4.3 在本地部署合约使用 Forge Script
使用脚本部署到 Anvil 本地链。 5. 使用 Anvil 生成的私钥通过欧易连接本地区块链 在区块链开发和测试中本地模拟环境是必不可少的工具。Foundry 框架中的 Anvil 是一个高效的本地以太坊节点模拟器它可以快速启动一个测试链并生成测试账户和私钥。本文将介绍如何使用 Anvil 生成私钥然后通过欧易OKXWeb3 钱包导入这些私钥并连接到本地区块链节点。这适用于开发者在本地测试智能合约、DApp 或钱包集成时使用。 pcDESKTOP-C1KR1ML MINGW64 /e/web3
$ anvil --accounts 10 --balance 100_ _(_) | |__ _ _ __ __ __ _ | |/ _ | | _ \ \ \ / / | | | || (_| | | | | | \ V / | | | |\__,_| |_| |_| \_/ |_| |_|1.2.3-stable (a813a2cee7 2025-06-08T15:44:09.674540400Z)https://github.com/foundry-rs/foundryAvailable Accounts
(0) 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 (100.000000000000000000 ETH)
(1) 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 (100.000000000000000000 ETH)
(2) 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC (100.000000000000000000 ETH)
(3) 0x90F79bf6EB2c4f870365E785982E1f101E93b906 (100.000000000000000000 ETH)
(4) 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 (100.000000000000000000 ETH)
(5) 0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc (100.000000000000000000 ETH)
(6) 0x976EA74026E726554dB657fA54763abd0C3a0aa9 (100.000000000000000000 ETH)
(7) 0x14dC79964da2C08b23698B3D3cc7Ca32193d9955 (100.000000000000000000 ETH)
(8) 0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f (100.000000000000000000 ETH)
(9) 0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 (100.000000000000000000 ETH)Private Keys
(0) 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
(1) 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d
(2) 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a
(3) 0x7c852118294e51e653712a81e05800f419141751be58f605c371e15141b007a6
(4) 0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a
(5) 0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba
(6) 0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e
(7) 0x4bbbf85ce3377467afe5d46f804f221813b2bb87f24d81f60f1fcdbf7cbf4356
(8) 0xdbda1821b80551c9d65939329250298aa3472ba22feea921c0cf5d620ea67b97
(9) 0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6WalletMnemonic: test test test test test test test test test test test junk
Derivation path: m/44/60/0/0/Chain ID
31337Base Fee
1000000000Gas Limit
30000000Genesis Timestamp
1754019204Genesis Number
0Listening on 127.0.0.1:85455.1 下载欧易插件
要使用欧易OKXWeb3 钱包与本地区块链交互首先需要安装 OKX 钱包插件。以下是具体步骤 访问 OKX 官网 打开浏览器前往 插件市场 https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge?hlzh-CN。下载浏览器扩展版本。安装完成后浏览器右上角会显示 OKX 钱包图标。 初始化钱包 点击 OKX 钱包图标按照提示设置密码并完成初始化。备份助记词若新建钱包并妥善保存。注意助记词仅用于新钱包创建导入私钥时无需使用。
注意确保从官方渠道下载插件避免使用非官方来源以防止安全风险。
5.2 导入私钥
使用 Anvil 生成的私钥导入 OKX 钱包可以快速接入测试账户。以下是导入步骤 打开 OKX 钱包 点击浏览器右上角的 OKX 钱包图标进入钱包界面。如果使用移动端 App打开 OKX Web3 钱包应用。 选择导入选项 在钱包界面点击“添加钱包”或“我已经有钱包”。选择“导入私钥”选项。 输入私钥 粘贴从 Anvil 获取的私钥例如0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80。确认导入钱包会自动生成对应的公钥和地址。 验证账户 切换到钱包主界面检查新导入的账户是否显示正确的地址和余额在 Anvil 本地节点中为 100 ETH。
安全提示私钥是账户的唯一凭证仅在本地测试环境使用 Anvil 的私钥。切勿将测试私钥用于生产环境或泄露给他人。
5.3 设置自定义网络
为了让 OKX 钱包连接到 Anvil 运行的本地以太坊节点需要配置自定义网络。以下是详细步骤 进入网络管理 在 OKX 钱包界面点击“设置”或“网络”选项。找到“管理网络”或“Add Network”按钮。 添加本地网络 点击“添加自定义网络”填写以下信息 网络名称Local Anvil可自定义RPC URLhttp://127.0.0.1:8545Anvil 默认 RPC 地址链 ID31337Anvil 默认链 ID货币符号ETH区块浏览器 URL可选留空 保存配置。 切换网络 在钱包网络选择菜单中选择刚添加的“Local Anvil”网络。确认切换后钱包应显示本地节点的账户余额10,000 ETH。 测试连接 尝试发送一笔小额测试交易如 0.01 ETH 到另一测试地址。在 Anvil 终端查看交易日志确认交易被本地节点处理。 6. 脚本部署与调试演示
6.1 编写部署脚本script/Deploy.s.sol
创建或编辑 script/Counter.s.sol 注意如果是初始化的则已经存在了这个文件
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;import {Script, console} from forge-std/Script.sol;
import {Counter} from ../src/Counter.sol;contract CounterScript is Script {Counter public counter;function setUp() public {}function run() public {vm.startBroadcast();counter new Counter();vm.stopBroadcast();}
}
6.2 运行部署脚本连接 Anvil
在另一个 PowerShell 窗口项目目录下运行
forge script script/Counter.s.sol --rpc-url http://127.0.0.1:8545 --broadcast --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80--rpc-urlAnvil 的 URL。--broadcast实际广播交易。--private-key从 Anvil 输出中复制一个私钥。
6.3 在终端查看交易过程和输出
部署后终端会显示交易哈希和合约地址。Anvil 窗口会日志交易细节用于调试。 根据这个输出的结果可以得到
项目说明脚本script/Counter.s.sol运行环境本地 Anvil 节点localhost:8545合约部署成功✅ 是合约地址0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0交易哈希0x9ab869...Gas 花费156,801支付 ETH~0.00012 ETH保存位置broadcast/ 和 cache/ 文件夹使用 Foundry 框架 编写的 Solidity 脚本用于在本地或测试网络中部署一个名为 Counter 的智能合约。这个脚本文件遵循 Foundry 的标准结构通常保存在 script/ 目录下并配合命令 forge script 使用。 结语
通过本教程你已在 Windows 上使用 VSCode 和 Foundry 完成了 Solidity 合约的开发、测试和本地部署。实践这些步骤能显著提升你的开发效率。如果遇到问题检查命令是否正确或参考官方文档。
参考链接
Foundry 官方文档Foundry GitHub 仓库
相关文章推荐链接Web3专栏https://blog.csdn.net/qq_42392981/category_13016259.html