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

发布时间:2022-01-15 14:46:55 作者:iii
来源:亿速云 阅读:144

这篇文章主要介绍“如何部署以太坊智能合约到infura”,在日常操作中,相信很多人在如何部署以太坊智能合约到infura问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何部署以太坊智能合约到infura”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

安装HDWalletProvider

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

npm install truffle-hdwallet-provider

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

注册Infura

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

填写并提交表格后你就可以收到访问令牌。 相关信息将显示在屏幕上并发送到你提供的电子邮件。 需要记录下来这个访问令牌并确保它不被别人看到!

配置Truffle项目

下一步是编辑你的truffle.js文件来启用HDWalletProvider并为部署到Ropsten进行必要的配置。

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

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

STEP 2:接下来,提供助记词(mnemonic)来生成你的账户。

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

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

STEP 3:添加Ropsten网络定义:

module.exports = { 
  networks: { 
    ropsten: { 
      provider: function() { 
        return new HDWalletProvider(mnemonic,
                "https://ropsten.infura.io/<INFURA_Access_Token>") 
        }, 
      network_id: 3 
    }
  } 
};

注意事项:

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

账户索引是从零开始的,所以2表示第三个地址。

使用Faucet获取ether

确保你的帐户有足够的账户余额来进行部署。 可以通过称Faucet的服务在Ropsten网络上获取Ether。 虽然在那里有多个Faucet网站,我们推荐的一个服务是在EthTools上托管的 。

注意 :也可以通过MetaMask申请ether。 在Ropsten上连接你的帐户,然后点击“Buy”按钮,该按钮将提供MetaMask的Ropsten测试Faucet的链接,它的工作方式与上述类似。

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

部署合约

STEP 1: 编译项目:

truffle compile

STEP 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将与上面的不同。

注意 :如果收到错误Error: Exceeds block gas limit ,你可能需要为合约手动设置油量上限(gas limit)。 有关详细信息,请参阅Truffle配置文档。

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

0x7efbb3e4f028aa8834d0078293e0db7ff8aff88e72f33960fc806a618a6ce4d3

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

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

推荐阅读:
  1. 以太坊众筹智能合约怎么实现
  2. 以太坊智能合约ABI怎么获取

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

以太坊 infura

上一篇:Define A Host Group的示例分析

下一篇:springboot整合quartz定时任务框架的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》