本文介绍了如何使用 Tenderly 创建虚拟测试网,以及如何将智能合约部署到该测试网上,避免了在公共测试网上获取测试代币的麻烦。主要步骤包括在 Tenderly 上创建虚拟 RPC、安装 Hardhat 插件、更新 hardhat.config.ts 文件以及部署合约。
开发者在使用公共测试网时面临的一个主要挑战是从 faucets 获取测试代币。许多测试网要求开发者通过 faucets 请求代币,但这些 faucets 往往供应有限、等待时间长或有严格的速率限制。在某些情况下,faucets 会完全耗尽代币,迫使开发者寻找替代来源或等待补充。此外,一些 faucets 还会强制执行验证步骤,例如社交媒体身份验证或 CAPTCHA 挑战,从而给开发过程增加不必要的摩擦。这些限制会延误测试、中断工作流程并减慢智能合约的部署速度。
这就是虚拟测试网提供变革性解决方案的地方,它允许开发者完全绕过 faucet 限制。通过私有测试网,开发者可以无限制地访问测试代币,并完全控制环境。这使他们能够在类似于生产的环境下彻底测试智能合约,确保它们在部署到主网之前按预期运行。通过模拟真实世界的场景而不受公共网络限制,虚拟测试网为区块链开发提供了一个更快、更可靠且更具成本效益的测试框架。
在继续之前,请确保你具备以下条件:
导航到你的仪表板,然后单击“创建虚拟 RPC”。
填写所需的选项,然后单击“创建”。
将新创建的虚拟测试网添加到 MetaMask
用测试代币为你的钱包充值。
你可以添加任何金额(如果需要,甚至可以添加 10 亿个代币)。
该交易将在我们的虚拟 Etherscan 上可见,并且余额将反映在你的钱包中。
为了在 Tenderly 上部署我们的智能合约,我们需要安装一个 Hardhat 插件。运行以下命令:
npm install --save-dev @tenderly/hardhat-tenderly
hardhat.config.ts
更新你的 hardhat.config.ts
文件以匹配以下配置:
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import * as tenderly from "@tenderly/hardhat-tenderly";
import * as dotenv from "dotenv";
dotenv.config();
const config: HardhatUserConfig = {
solidity: "0.8.28",
networks: {
virtualChain: {
url: process.env.VIRTUAL_CHAIN_URL || "",
accounts: [process.env.PRIVATE_KEY || ""],
},
},
tenderly: {
project: process.env.TENDERLY_PROJECT || "",
username: process.env.TENDERLY_USERNAME || "",
},
};
export default config;
确保你的 .env
文件包含以下变量:
VIRTUAL_CHAIN_URL=<你的虚拟测试网 URL>
PRIVATE_KEY=<你的钱包私钥> //将要部署的帐户
//https://docs.tenderly.co/account/projects/account-project-slug
TENDERLY_PROJECT=<你的 Tenderly 项目名称>
TENDERLY_USERNAME=<你的 Tenderly 用户名>
确保你有一个用于部署智能合约的脚本,然后运行此命令:
加粗将加粗 ./ignition/modules/Deploy.s.ts
加粗替换为你的部署脚本文件的实际路径。加粗
npx hardhat ignition deploy ./ignition/modules/Deploy.s.ts --network virtualChain
完成后,你将看到“集成和部署”选项卡标记为已完成,表明合约已成功部署。你现在可以将交易发送到该合约并与之交互。
这是我们的交易:
通过执行这些步骤,你可以在虚拟测试网上高效地部署和测试你的智能合约,而无需受到公共测试网的限制。此设置确保了更快的测试、完全的控制以及类似生产的环境,使你能够自信地在主网上部署你的合约。祝你编码愉快!🚀
加粗如果觉得本教程有用,请随意鼓掌或留言加粗。加粗欢迎提出任何建议或反馈。你也可以在加粗加粗Twitter加粗、加粗加粗LinkedIn加粗、加粗加粗GitHub加粗上与我联系加粗。加粗
- 原文链接: coinsbench.com/how-to-de...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!