Удаленное развертывание провайдера Truffle + INFURA. Миграции не выполняются

Я сталкиваюсь с той же проблемой, предложенной этим вопросом . Я не могу решить эту проблему, потому что использую удаленного поставщика (INFURA), согласно этому документу .

Мой код выглядит так:

var ethwallet = require('ethereumjs-wallet');
var ProviderEngine = require("web3-provider-engine");
var WalletSubprovider = require('web3-provider-engine/subproviders/wallet.js');
var Web3Subprovider = require("web3-provider-engine/subproviders/web3.js");
var Web3 = require("web3");

// Import the raw private key of the admin
const keys = require('../test/keystores/keys.json');
const admin_key = keys.admin.privateKey;
const admin_addr = keys.admin.address;

// Add the admin key to the provider. This will unlock the account so it can
// deploy the contracts and run the tests.
var wallet = ethwallet.fromPrivateKey(Buffer.from(admin_key, 'hex'));
var engine = new ProviderEngine();

// Start the infuranet provider
var infuranet = "https://infuranet.infura.io";
var engine = new ProviderEngine();
engine.addProvider(new WalletSubprovider(wallet, {}));
engine.addProvider(new Web3Subprovider(new 
Web3.providers.HttpProvider(infuranet)));
engine.start();

module.exports = {
  networks: {
    infura: {
      network_id: 5810,
      provider: engine,
      from: admin_addr
    },
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*"
    }
  }
};

И я бегу:

truffle migrate --network infura

Который висит на неопределенный срок. Это также происходит, если я запускаю:

truffle compile --network infura

Или любое другое трюфельное действие.

Можно ли запустить это без локального узла? Я хотел бы развернуть их в этой сети с помощью удаленного провайдера INFURA.

Вместо использования infuranet.infura.iotry с URL-адресом, полученным при регистрации в службе infura.

Ответы (1)

Ответом на эту проблему должно стать добавление еще двух строк, которые вы можете найти в последнем ответе здесь .