部署智能合约到以太坊网络(truffle+infura)

开发环境

  • MacOS 10.13.6
  • node v10.9.0
  • Truffle v4.1.14 (core: 4.1.14)
  • Solidity v0.4.24 (solc-js)

登录infura官网注册,获取API-KEY

Infura是一个托管的以太坊节点集群,可以将你编写的以太坊智能合约部署到infura提供的节点上,而无需自己搭建以太坊节点。

  • https://infura.io/

安装HDWalletProvider

Infura的HDWalletProvider是一个独立的npm软件包,切换到truffle工程目录使用如下命令安装

  • npm install truffle-hdwallet-provider
  • 然后修改truffle.js文件内容如下:
// 定义HDWalletProvider对象
var HDWalletProvider = require("truffle-hdwallet-provider");
// 提供助记词(mnemonic)来生成你的账户
var mnemonic = "topic foster find apple famous have bonus month remain middle funny smart";
// 添加Ropsten测试网络定义
module.exports = {
  networks: {
    ropsten: {
      provider: function() {
      // 定义以太坊节点 https://ropsten.infura.io/your-api-key
       return new HDWalletProvider(mnemonic, "https://ropsten.infura.io/503fc5af65d64cdaa090d2873201bc5a")
      },
      network_id: 3
    }
  }
};


部署到以太坊网络

  • 执行如下命令,部署到以太坊测试网络ropsten
truffle migrate --network ropsten

获取Ropsten测试网的ETH币:

确保你的帐户有足够的账户余额来进行部署。 可以通过称Faucet的服务在Ropsten网络上获取Ether。

你可能感兴趣的:(部署智能合约到以太坊网络(truffle+infura))