Neon EVM:如何使用 Truffle 部署 dApp

Duke
5 min readOct 6, 2022

--

作为开发人员,您知道了解如何将您编写的智能合约代码部署到区块链上的重要性。我们的 Deploying Neon dApps 系列文章以简单直接的方式提供了这些重要信息。本文是该系列的第二篇,将向您展示如何使用 Truffle 部署 Solidity dApp。您还可以查看我们关于使用Remix和 Hardhat 部署 Neon 的文章。

Truffle是一个部署工具、开发环境和资产管道,使开发人员可以轻松地在链上测试和调试他们的代码。与仅支持少数功能且无法运行自动化测试的 Remix 不同,Truffle 是一种先进且灵活的工具,可以支持更复杂的代码。但是,Truffle 只能通过命令行界面使用,而不是 IDE。

要成功部署您的合约,您需要修改公开可用的 Truffle 配置文件,其中包含与合约交互的钱包的私钥。出于这个原因,你应该只将 Truffle 用于调试或测试目的,而不是用于主网部署。

在你开始之前

在开始下面的教程之前,请确保以下内容为真:

  • MetaMask 已安装在您的设备上
  • MetaMask 为 Neon EVM 配置
  • NodeJS v8.9.4 或更高版本已安装在您的设备上
  • Git 已安装在您的设备上(在 Windows 上,使用 Git Bash)

要安装和配置 MetaMask,请遵循本指南

ERC-20 教程

以下教程将解释如何使用 Truffle 将简单的 ERC-20 代币合约部署到 Neon Devnet。

第 1 步:安装Truffle

使用 Git,从 Neon 的远程存储库中克隆 ERC-20 Truffle 项目,并使用以下命令导航到该项目:

然后,运行以下命令来安装 Truffle 和运行示例项目所需的依赖项:

如果上述命令导致错误,请运行以下命令:

第 2 步:设置 MetaMask 帐户和配置文件

要与即将部署的合约进行交互,您需要在 MetaMask 中创建两个新账户。在开始之前,请确保 MetaMask 已连接到 Neon Devnet。

在 MetaMask 中,通过单击 MetaMask 扩展弹出窗口右上角的当前帐户图标创建两个新帐户,然后在出现下拉菜单时单击“创建帐户”。然后,使用NeonFaucet为这些帐户获取一些 Devnet NEON 令牌。

接下来,单击您当前显示的帐户名称和钱包地址右侧的三个垂直点以打开下拉菜单。选择“帐户详细信息”,然后选择“导出私钥”。输入您的密码并选择“确认”以访问该帐户的私钥。复制两个帐户的私钥并将它们粘贴到项目文件夹中的 truffle-config.js 文件中,替换该文件第 11 行和第 12 行中的占位符文本。确保在配置文件中为这些键添加前缀“0x”。

第 3 步:编译合同

要编译项目的合约(位于“contracts/”文件夹中),请运行以下命令:

此命令的输出应类似于以下内容:

第 4 步:运行测试

要在部署之前运行项目测试,请运行以下命令。它将编译合约,将它们部署到 Neon Devnet,并运行“tests/”文件夹中的所有测试,以确保合约按预期工作。

如果测试全部通过,则此命令的输出应如下所示:

第 5 步:运行迁移

将合约部署到 Neon 需要运行一些迁移脚本,这些脚本位于“migrations/”文件夹中。为此,请运行以下命令:

您应该会在终端中看到类似于以下内容的输出:

第 6 步:将项目连接到 MetaMask

要轻松使用这个新部署的 ERC-20 式 Neon Devnet 代币,请按照这些说明将代币作为资产导入 MetaMask。将步骤 5 输出中的“合约地址”用于说明中的“代币合约地址”。

完成最后一步后,您将能够在新测试帐户的 MetaMask 配置文件中看到您的新 ERC-20 资产。

结论

Truffle 是用于在 Neon 上部署 dApp 的多功能、灵活的解决方案,具有很大的定制空间和使用高级功能的空间。但是,由于它在部署到 Neon 时存在一些安全漏洞,因此只能用于测试和开发。因此,虽然 Truffle 在开发过程中非常适合 Neon 开发人员,但最终部署必须使用不同的工具来完成。

访问Neon 文档以获取有关使用 Truffle 部署 dApp 的完整教程。

--

--