首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从信托到Infura.io的部署

从信托到Infura.io的部署
EN

Ethereum用户
提问于 2017-07-24 08:42:57
回答 3查看 2.1K关注 0票数 4

我正在尝试使用Infura或任何其他公共提供者来编译和迁移一个简单的测试合同。

我跑的时候没有任何错误

代码语言:javascript
复制
truffle compile --network test

但它似乎挂着,永远也不完整。

代码语言:javascript
复制
truffle migrate --network live

这是我的truffle.js的一个副本(助记符是在下面组成的)

代码语言:javascript
复制
var bip39 = require("bip39");
var hdkey = require('ethereumjs-wallet/hdkey');
var ProviderEngine = require("web3-provider-engine");
var WalletSubprovider = require('web3-provider-engine/subproviders/wallet.js');
var FiltersSubprovider = require('web3-provider-engine/subproviders/filters.js');
var Web3Subprovider = require("web3-provider-engine/subproviders/web3.js");
var Web3 = require("web3");
var mnemonic = "know give beef link depth liberty fish forward ketchup fog either faculty";
var hdwallet = hdkey.fromMasterSeed(bip39.mnemonicToSeed(mnemonic));
var wallet_hdpath = "m/44'/60'/0'/0/";
var wallet = hdwallet.derivePath(wallet_hdpath + "0").getWallet();
var address = "0x" + wallet.getAddress().toString("hex");
var provider_url = "https://testnet.infura.io/";
var engine = new ProviderEngine();
engine.addProvider(new WalletSubprovider(wallet, {}));
engine.addProvider(new FiltersSubprovider());
engine.addProvider(new Web3Subprovider(new Web3.providers.HttpProvider(provider_url)));
engine.start(); 

module.exports = {
  networks: {
    test: {
      network_id: 3,
      provider: engine,
      from: address
    }
  }
};

我的package.json是

代码语言:javascript
复制
    {
  "name": "Infura Test",
  "version": "1.0.0",
  "description": "",
  "main": "truffle.js",
  "directories": {
    "test": "test"
  },
  "devDependencies": {
    "bip39": "^2.3.1",
    "ethereumjs-wallet": "^0.6.0",
    "truffle": "^3.4.5",
    "web3": "^0.18.2",
    "web3-provider-engine": "^13.2.8"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "@bkawk",
  "license": "ISC"
}
EN

回答 3

Ethereum用户

发布于 2017-10-25 12:23:04

这个答案展示了如何使用包truffle-hdwallet-provider和Infura:

truffle.js中:

代码语言:javascript
复制
var HDWalletProvider = require("truffle-hdwallet-provider");

var infura_apikey = "XXXXXX";
var mnemonic = "twelve words you can find in metamask/settings/reveal seed words blabla";

module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*" // Match any network id
    },
    ropsten: {
      provider: new HDWalletProvider(mnemonic, "https://ropsten.infura.io/"+infura_apikey),
      network_id: 3
    }
  }
};

部署在ropsten网络上

代码语言:javascript
复制
$ truffle migrate --network ropsten
票数 4
EN

Ethereum用户

发布于 2017-07-29 20:42:33

尝试添加以下内容:

代码语言:javascript
复制
// network connectivity error
engine.on('error', function(err) {
    // report connectivity errors
    console.error(err.stack)
})

engine.start();之前

票数 1
EN

Ethereum用户

发布于 2017-09-04 11:09:13

变量provider_url = "https://testnet.infura.io/";

尝试输入您的个人网址(那个带有密钥的URL ),例如"https://ropsten.infura.io/YourKeyThatWasSentToYourEmail

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/22911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档