欢迎来到以太坊区块链上令人兴奋的去中心化应用程序 (dApp) 世界!在本分步指南中,我们将逐步介绍使用 Hardhat 开发框架创建去中心化待办事项列表应用程序的过程。
我们将涵盖有趣的主题,例如设置开发环境、编写 Solidity 智能合约、测试它以及将其部署到 Sepolia 测试网。一起编写代码以便更好地理解!
先决条件
在我们深入研究之前,请确保您拥有以下工具和先决条件:
• Node
• Hardhat:与区块链交互的 JavaScript 框架。
• Metamask:安装 Metamaks 并获取您的私钥。配置 Metamask 以连接到 Sepolia 网络。
• Alchemy:获取 Sepolia 测试网的 Alchemy HTTP 端点。这是有关如何设置的指南。[1]
• Test Sepolia ETH:从水龙头[2]请求一些Sepolia ETH 。
设置我们的环境
现在我们已经收集了我们的工具,是时候设置我们的开发环境了。
这是分步指南:
• 为您的应用程序 todolist 创建一个新的项目目录。
• 通过运行以下命令来初始化您的 Hardhat 项目:
选择创建 JavaScript 项目的选项,并接受默认选项。Hardhat 将生成一个示例项目并为您安装必要的依赖项。
• 在您喜欢的代码编辑器中打开您的项目文件夹。如果您使用 Visual Studio Code,只需运行:
• 为了确保 Metamask 私钥和 Alchemy RPC URL 等敏感信息的安全,请在项目目录中创建一个 .env 文件,并按以下格式存储密钥:
图片
• 安装该dotenv软件包,这将帮助我们使用环境变量:
• 修改 Hardhat 配置文件(通常名为 Hardhat.config.js)以识别文件中的密钥.env:
您的环境现在已准备好在以太坊区块链上施展魔法!
建立我们的合同
让我们通过编写 Solidity 智能合约来深入研究待办事项列表应用程序的核心。在合同文件夹中,您将找到默认的“Lock.sol”文件。首先在“contracts”文件夹中找到“Lock.sol”文件,并将其重命名为“TodoList.sol”以与我们的合约名称保持一致。
下面是“TodoList”合约,以及解释每个代码块的作用的注释:
测试我们的合约
测试我们的合约对于保证其可靠性和功能性以及确保其按预期执行至关重要。在一个容易遭受黑客攻击和漏洞利用的行业中,编写测试非常有必要,以确保我们的合约不会容易受到漏洞利用。
用 Mocha 编写我们的测试
我们将使用 Mocha 进行测试,所以让我们设置我们的测试。在 test 文件夹中,将 Lock.js 文件重命名为 test.js 并将代码替换为以下内容:
为了测试我们的合约,我们运行通用的:
响应应如下所示:
图片
部署我们的合约
现在,令人兴奋的部分 - 将我们的智能合约部署到 Sepolia 网络。我们将编写一个部署脚本来实现这一点。
编写我们的部署脚本
在脚本文件夹中,您将找到一个包含一些示例代码的deploy.js 文件。将 JavaScript 代码替换为以下内容:
要将我们的合约部署到 Sepolia 网络,请使用以下命令:
注意:如果您打算将智能合约部署到不同的网络,您可以轻松替换 sepolia 为您选择的网络。
当我们部署到测试网时,这应该需要几秒钟的时间。您将收到合同部署的确认信息以及合同地址。
图片
img
现在您可以体验去中心化待办事项列表变为现实的兴奋!继续复制您的合约地址并验证其在Sepolia Testnet Explorer[3]上的存在,就像您在以太坊主网上所做的那样。超级有趣!
结论
您已成功构建第一个 dApp 并将其部署到以太坊区块链。作为下一步,我强烈推荐以下资源:
Lumos Academy[4]:Lumos Labs 的 Lumos Academy 是一个专门为正在学习 Web3 开发的(有抱负的)Web3 开发人员提供的平台
以太坊开发教程[5]:这个精选的社区教程列表涵盖了广泛的以太坊开发主题
希望您喜欢这篇文章!如果您有任何问题或意见,请随时在下面留言或在Twitter 上与我联系![6]
原文:https://tosynthegeek.hashnode.dev/building-a-decentralized-todo-list-application-on-ethereum
还没有评论,来说两句吧...