部署智能合约到Ropsten Test Net - ScnuWang/MessageBoard GitHub Wiki

  1. 安装HDWalletProvider模块
    npm install truffle-hdwallet-provider

  2. 修改truffle.js
    引入HDWalletProvider 模块:var HDWalletProvider = require("truffle-hdwallet-provider");
    定义12个助记符:var mnemonic = "......"; // 通过注册inrura账户获取 (需要梯子)

    在network下添加 ropsten: { provider: function() { return new HDWalletProvider(mnemonic, "https://ropsten.infura.io/acess_token"); // acess token通过注册inrura账户获取 }, network_id: 3, },

  3. 修改app.js App.web3Provider = new Web3.providers.HttpProvider('https://ropsten.infura.io/acess_token'); // acess token通过注册inrura账户获取

  4. MetaMask 在Ropsten Test Net下登录一个包含余额的账户(余额可以到http://faucet.ropsten.be:3001/ 免费领取)

  5. 编译智能合约 truffle compile

  6. 迁移智能合约 truffle migrate --network ropsten

  7. 异常: Error encountered, bailing. Network state unknown. Review successful transactions manually. exceeds block gas limit
    这个错误是由于 gas给的(或者消耗的)太多超出区块最大的gas限制量了(以太坊没有像比特币1M硬编码的限制,是通过Gas Limit来限制区块的大小)
    gas: Gas limit 默认值是 4712388.

  8. Truffle发布到Ropsten官方博客