使用 Truffle 将智能合约部署到币安智能链

使用 Truffle 将智能合约部署到币安智能链_第1张图片

这是我们使用定制的 BEP-20 智能合约从头开始构建 DApp 的系列文章中的第四篇也是最后一篇。
在本文中,我们将研究如何将智能合约部署到币安测试网而不是我们本地的 Ganache 实例。

  1. 【在 Solidity 中使用 BEP-20 合约构建去中心化应用程序】 ——本文将帮助您了解 Solidity 的基础知识
  2. [在 Solidity 中创建可继承的 Staking 合约] — 第二篇文章,我们将介绍更高级的 Solidity 项目并实施 Staking 和奖励
  3. [在 Web 应用程序中使用智能合约] - 本系列的第三篇文章,我们将学习如何使用 MetaMask 通过 Web 应用程序连接到区块链
  4. [使用 Truffle 将智能合约部署到币安智能链] - 第四篇也是最后一篇文章,我们学习如何将智能合约部署到真实网络

您可以在此处找到前面部分使用的完整代码。

我们将首先更新 truffle -config.js 中的 Truffle 配置。复兴号和和谐号有什么区别我们将开放三个网络,以便我们可以将它们部署到所有三个网络。可以在此处找到正确的网络种子的最新部署信息。我们还需要使用您必须下载的 truffle/hdwallet-provider。

npm install @truffle/hdwallet-provider

之后,我们需要取消对 module.exports 字段的注释并添加以下三个网络。

Truffle — 允许我们部署到所有三个网络的配置

在此之前,您需要注意我们正在读取一个名为.secret的文件。这个文件应该只包含一件事,你的助记符。

这是用于访问您的钱包的单词列表。把它想象成一个密码,但很长。当您在 MetaMask 中创建帐户时,您应该已经获得了种子短语。但是,如果您忘记了它,您可以点击此链接查看。

部署到测试网

如果您已将助记符粘贴到 .secret 文件中,那么是时候尝试部署智能合约了。我们将开始将其部署到 TestNet,以了解部署的难易程度。现在部署到 TestNet 的原因是它会像测试一样工作,以查看智能合约是否按预期工作。

测试网是真实生产网络的完整复制品,因此它是尝试一切的好方法。使用它,我们还可以拥有开发环境(Ganache)、测试(Testnet)、生产环境(真正的币安智能链)。

还记得我们如何运行truffle migrate以部署到 Ganache 吗?
这里的美妙之处在于,要部署到测试或生产,我们可以使用相同的过程,只需在命令中添加一个 — network 标志并指定要部署到的网络。请记住,要推动测试和生产,您必须支付 gas

松露迁移 --network testnet

尝试运行命令看看会发生什么。如果您像我在本系列中所做的那样使用新的 MetaMask 帐户,您将看到以下内容。

img

使用 Truffle 将智能合约部署到币安智能链_第2张图片

Truffle migrate - 由于气体不足而失败

原因是,正如我现在多次重复的那样,部署智能合约需要成本。请记住,如果您将智能合约推送到真正的 Binance 智能链,它会吸引您的资金。

但是我不花钱部署来测试!— 廉价开发商

对我们来说幸运的是,测试网有水龙头让我们可以免费测试以太坊。让我们通过添加另一个网络将 MetaMask 连接到测试网。该网络是官方的币安测试网。如果您忘记了如何添加网络,请参阅本系列的第三篇文章或阅读此处。

添加自定义RPC时使用的网络数据如下

网络名称: Smart Chain——Testnet
新的 RPC URL: https:
//data-seed-prebsc-1-s1.binance.org:8545/ ChainID: 97
符号: BNB
Block Explorer URL: https : //testnet.bscscan.com

添加后,通过单击 MetaMask 中的帐户获取您的帐户地址。

访问官方的 TestNet智能水龙头,它为您提供可以使用的代币。只需输入您的地址,然后按“给我 BNB ”。等待几秒钟,您的帐户应该已入金。您现在应该看到 MetaMask 中有 1 个 BNB。是时候给松露迁移一个新的旋转了。

笔记。如果您在 MetaMask 中有多个帐户并且已将免费代币提供给第一个帐户以外的其他帐户,则您需要指定在迁移时要使用的帐户。Truffle 将默认为第一个可用帐户。在您的测试网配置中添加以下内容。

来自:“0xyouraccount”

使用您获得资金的帐户再次运行 migrate 命令到 testnet。

img

使用 Truffle 将智能合约部署到币安智能链_第3张图片

Truffle Migrate — 部署到测试网

恭喜,您已部署到测试网。可以复制合约地址。然后您可以在测试网络资源管理器上搜索它。您现在可以将令牌添加到 MetaMask 以查看您当前的帐户余额。选择“添加代币”并输入要求的信息,即合约地址。要迁移到主网,只需将 migrate 命令中的网络更改为主网,但请记住您的帐户中有足够的 gas。

img

使用 Truffle 将智能合约部署到币安智能链_第4张图片

DevToken — 区块链浏览器显示我们的代币

在 TestNet 中测试 DApp

让我们试试我们在本系列第 3 部分中构建的 DApp,看看它是否有效。

转到位于 App.js 中的可怕的硬编码 getContractAddress 函数并替换它返回的合约以匹配您的智能合约地址。

DApp — 更改返回的智能合约以匹配您的智能合约地址

如果您在 MetaMask 和您的帐户中选择了 TestNet 网络,请再次使用

启动

并访问localhost:3000。

img

使用 Truffle 将智能合约部署到币安智能链_第5张图片

DApp——在测试网上工作

在币安测试网浏览器中查看交易和事件。

让我们执行 Stake 并访问 testnet explorer 以查看信息,就像我们在 Ganache 中所做的那样。

按下按钮后,您应该会收到 MetaMask 请求的提示。

img

使用 Truffle 将智能合约部署到币安智能链_第6张图片

MetaMask — 在测试网上质押

现在,等待 MetaMask 弹出窗口说交易成功。当它出现时,要么单击它以调出资源管理器,要么访问资源管理器并搜索令牌地址。

img

img

MetaMask — 点击弹出窗口查看

这会将您带到浏览器,您可以在其中查看智能合约上发生的所有交易以及所有事件。

img

使用 Truffle 将智能合约部署到币安智能链_第7张图片

DApp — 显示所有交易和事件的测试网络浏览器。

如果您导航到 Events 选项卡,您还应该能够看到已触发的 Staked 事件。

结论

恭喜!如果您已经完成了本系列的所有部分,那么您现在已经构建了您的第一个 DApp。

在这个系列中我们学到了

  • 基本坚固性
  • 实施了一个简单的 Staking 机制
  • 实行奖励制度
  • 用于使用和控制合约的 Web UI
  • 如何部署到测试网和主网。

希望你已经学到了一些东西。并感谢您的阅读!

你可能感兴趣的:(区块链)