主页 > 下载官方imtoken钱包 > 如何将以太坊智能合约部署到 infura

如何将以太坊智能合约部署到 infura

下载官方imtoken钱包 2023-02-10 07:22:36

本文主要介绍“如何将以太坊智能合约部署到infura”。 在日常操作中,相信很多人都对如何将以太坊智能合约部署到infura有疑惑。 希望对大家解答“如何将以太坊智能合约部署到infura”的疑惑有所帮助! 接下来就请跟随小编一起学习吧!

在此特定示例中,我们将迁移到 Ropsten 测试网。 我们假设您已经拥有一个 dapp。 如果需要测试dapp,可以使用Truffle提供的宠物店dapp。

安装 HDWalletProvider

Infura 的 HDWalletProvider 是一个独立的 npm 包,安装如下:

npm install truffle-hdwallet-provider

注意:如果您在 Windows 上安装并遇到 MSBUILD 错误,您可能需要安装 Windows Build Tools。 在具有管理员权限的控制台中,运行 npm install -g windows-build-tools 并再次尝试安装。

注册 Infura

在使用 Infura 之前,需要注册一个 Infura 访问令牌。

填写并提交表格后,您可以收到访问令牌。 相关信息将显示在屏幕上并发送至您提供的电子邮箱。 需要记录这个access token,并保证不被其他人看到!

配置松露项目

下一步是编辑您的 truffle.js 文件以启用 HDWalletProvider 并将其配置为部署到 Ropsten。

STEP 1:首先,在配置文件中定义HDWalletProvider对象。 在 truffle.js 文件的顶部添加以下代码:

如何在以太坊上部署智能合约_以太坊智能合约取款_以太坊智能合约原理

var HDWalletProvider = require("truffle-hdwallet-provider");

第 2 步:接下来,提供助记词以生成您的帐户。

var mnemonic = "orange apple banana ... ";

警告:在此过程中,我们强烈建议将助记词存储在另一个(秘密)文件中,以降低助记词泄漏的风险。 如果有人知道你的助记词,他们将拥有你所有的地址和私钥!

第 3 步:添加 Ropsten 网络定义:

module.exports = { 
  networks: { 
    ropsten: { 
      provider: function() { 
        return new HDWalletProvider(mnemonic,

以太坊智能合约原理_以太坊智能合约取款_如何在以太坊上部署智能合约

                "https://ropsten.infura.io/")          },        network_id: 3      }   }  };

防范措施:

new HDWalletProvider(mnemonic, 
    "https://ropsten.infura.io/", 2);

帐户索引从零开始,因此 2 代表第三个地址。

以太坊智能合约取款_以太坊智能合约原理_如何在以太坊上部署智能合约

使用水龙头获取以太币

确保您的账户有足够的账户余额用于部署。 可以通过名为 Faucet 的服务在 Ropsten 网络上获取以太币。 虽然有多个 Faucet 站点,但我们推荐的一项服务托管在 EthTools 上。

注意:您也可以通过 MetaMask 申请以太币。 连接您在 Ropsten 上的帐户并单击“购买”按钮,这将提供一个指向 MetaMask 的 Ropsten Test Faucet 的链接,其工作方式与上述类似。

我们现在可以开始将合约部署到 Ropsten!

部署合约

第 1 步:编译项目:

truffle compile

第 2 步:部署到 Ropsten 网络:

truffle migrate --network ropsten

如果一切顺利,您应该会看到类似于以下内容的输出:

以太坊智能合约原理_以太坊智能合约取款_如何在以太坊上部署智能合约

Using network 'ropsten'. 
Running migration: 1_initial_migration.js 
  Deploying Migrations... 
  ... 0xd79bc3c5a7d338a7f85db9f86febbee738ebdec9494f49bda8f9f4c90b649db7
  Migrations: 0x0c6c4fc8831755595eda4b5724a61ff989e2f8b9 
Saving successful migration to network... 
  ... 0xc37320561d0004dc149ea42d839375c3fc53752bae5776e4e7543ad16c1b06f0 
Saving artifacts... 
Running migration: 2_deploy_contracts.js 

以太坊智能合约取款_以太坊智能合约原理_如何在以太坊上部署智能合约

  Deploying MyContract...    ... 0x7efbb3e4f028aa8834d0078293e0db7ff8aff88e72f33960fc806a618a6ce4d3    MyContract: 0xda05d7bfa5b6af7feab7bd156e812b4e564ef2b1  Saving successful migration to network...    ... 0x6257dd237eb8b120c8038b066e257baee03b9c447c3ba43f843d1856de1fe132  Saving artifacts...

请注意如何在以太坊上部署智能合约,您的交易 ID 将与上述交易 ID 不同。

注意:如果出现错误 Error: Exceeds block gas limit,您可能需要手动设置合约的 gas limit。 有关详细信息,请参阅 Truffle 配置文档。

STEP 3:如果要验证合约是否部署成功,可以在Etherscan的Ropsten部分查看。 在搜索字段中,输入部署事务 ID。 在上面的例子中,交易 ID 是:

0x7efbb3e4f028aa8834d0078293e0db7ff8aff88e72f33960fc806a618a6ce4d3

您应该看到有关交易的详细信息,包括交易受到保护的块号。

至此,关于“如何将以太坊智能合约部署到infura”的学习就结束了,希望能解开大家的疑惑。 理论与实践相结合能更好的帮助你学习,快去试试吧! 如果你想继续学习更多相关知识,请继续关注易速云官网,小编会继续努力如何在以太坊上部署智能合约,为大家带来更多实用文章!