Infura是一个托管的以太坊节点集群,可以将你开发的以太坊智能合约发布到infura提供的节点上,而无需搭建自己的以太坊节点。
可能你还不了解Infura,但如果你使用过MetaMask,那么就已经接触过Infura了,因为它是MetaMask背后的以太坊供应商。
出于安全原因,Infura不管理你的私钥,这意味着Infura不能代表你签署交易。
但是,Infura可以通过使用HDWalletProvider
来签署交易。 该服务可以处理事务签名以及与以太坊网络的连接。 点击这里了解更多关于HDWalletProvider的信息 。
本教程将向你展示如何使用Infura将现有的dapp迁移到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进行必要的配