作为一名区块链开发人员,从 Remix 升级到 Foundry 标志着你的通行权,显示出你对技术的奉献精神。Foundry提供了与主网紧密匹配的本地以太坊开发环境。这使得像专业人士一样轻松测试和部署 Solidity 合约。
Foundry 相对于 Remix 的主要优势包括:
• 像 Ganache 这样的本地区块链模拟器的行为就像真正的主网一样
• 自动化测试框架
• 可编写脚本的部署
• 内置安全分析
• 与 VSCode 集成
掌握 Foundry 将提高您的开发技能,并为您提供一个令人印象深刻的环境来向潜在雇主或客户展示。现在,让我们开始吧!
安装 Foundry 的先决条件
第一步是通过安装来准备系统:
• VSCode[1] - 用于编写 Solidity 合约的代码编辑器
• Foundry[2] - 用于本地区块链模拟和部署
• Ganache[3] - 本地区块链模拟器
安装 Vscode 后,找到上面的终端按钮并单击它以启动新终端;设置终端后,运行代码以设置下载并安装 Foundry。
// Install Foundry
curl -L https://foundry.paradigm.xyz | bash
有时,Foundry 安装脚本会超时。如果您遇到这些问题,请先尝试通过 VPN 服务进行连接。
我第一次安装时超时,所以我安装了ProtonVPN[4],之后安装变得无缝。
安装核心工具后,启动新终端并输入:
foundryup
这会将 Foundry 更新到最新版本。交叉检查以查看是否安装了以下内容。
anvil --version
forge --version
cast --version
安装后,让我们创建一个文件夹,然后使用我们的终端导航到该文件夹,但如果您更喜欢使用 GUI,请继续。
创建您的第一个铸造项目
要初始化新的 Foundry 项目,请创建一个项目目录并使用 Forge 进行设置。
cd Desktop
mkdir my_foundry_project
cd my_foundry_project
forge init
这会安装 Solidity 编译器等依赖项,并创建样板文件(例如script、src、 )test以开始编码。
您可以删除在上述文件中找到的模板 counter.sol 文件,我们将创建自己的模板文件。
连接本地区块链
Ganache 和 Anvil 是连接本地区块链进行开发的两个不错的选择。
Ganache 提供自动生成的 RPC URL 和帐户来模拟主网。整合 Ganache:
要设置 Ganache,请单击链接并[5]下载安装程序,运行它,您应该会看到类似这样的内容。
单击快速启动以打开模拟区块链。
让我们做一些测试和甘纳许来测试我们的智能合约。如果您没有任何可使用的智能合约,请单击链接[6]并复制 simpletorage.sol。确保将该文件粘贴到 src/ 文件夹中。
// I'm a comment!
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
contract SimpleStorage {
uint256 myFavoriteNumber;
struct Person {
uint256 favoriteNumber;
string name;
}
// uint256[] public anArray;
Person[] public listOfPeople;
mapping(string => uint256) public nameToFavoriteNumber;
function store(uint256 _favoriteNumber) public virtual {
myFavoriteNumber = _favoriteNumber;
}
function retrieve() public view returns (uint256) {
return myFavoriteNumber;
}
function addPerson(string memory _name, uint256 _favoriteNumber) public {
listOfPeople.push(Person(_favoriteNumber, _name));
nameToFavoriteNumber[_name] = _favoriteNumber;
}
}
在终端上,运行 forgecompile 来编译您的代码,您将立即看到一个新文件夹出现,out,该文件夹包含我们刚刚发送的交易的字节代码。
要使用Ganache,我们必须建立一个网络或RPC来模拟交易,我们可以使用Metamask;如果您还没有 Metatmask,请使用本指南在此处下载并设置帐户。[7]
转到设置,然后网络并填充以下内容
网络名称:Scofield_LocalHost[8]
新的 RPC URL: HTTP://127.0.0.1:7545[9]
链号:1337
货币符号:ETH
点击保存,然后在Metamask上添加水龙头,导入其中一个private keys从ganache到metamask,你就会有100ETH
接下来,运行. 这将提示您输入您的私钥,我们将从 Ganache 页面获取该私钥。forge create SimpleStorage --rpc-url http://127.0.0.1:7545[10] --interactive
单击显示密钥以打开私钥并复制它。请不要对真实账户执行此操作,但由于我们正在使用测试账户,所以我们没问题。
粘贴私钥,粘贴时不会显示任何内容,只需单击 Enter 即可。
我们的合约已经部署到ganache模拟区块链上,我们可以看到部署者、部署到的位置以及交易哈希。
引用链接
[1] VSCode: https://code.visualstudio.com/download
[2] Foundry: https://book.getfoundry.sh/getting-started/installation#using-foundryup
[3] Ganache: https://trufflesuite.com/ganache/
[4] ProtonVPN: https://protonvpn.com/download
[5] 并: https://trufflesuite.com/ganache/
[6] 链接: https://github.com/Scofield-Idehen/web_finder/blob/master/src/SimpleStorage.sol
[7] 指南在此处下载并设置帐户。: https://learn.metamask.io/
[8] Scofield_LocalHost: https://code.visualstudio.com/download
[9] HTTP://127.0.0.1:7545: https://code.visualstudio.com/download
[10] http://127.0.0.1:7545: https://code.visualstudio.com/download
声明:本网站所有相关资料如有侵权请联系站长删除,资料仅供用户学习及研究之用,不构成任何投资建议!