Застрял в компиляции трюфеля

Когда я запускаю truffle compileего, он зависает навсегда после компиляции контрактов. Я импортирую библиотеку openzeppelin и использую infura, ropsten и metamask для развертывания контракта в тестовой сети. . Вот результат

Compiling ./contracts/Migrations.sol...
Compiling ./contracts/obaidminttoken.sol...
Compiling zeppelin-solidity/contracts/math/SafeMath.sol...
Compiling zeppelin-solidity/contracts/ownership/Ownable.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/BasicToken.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/ERC20.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/MintableToken.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/StandardToken.sol...
Writing artifacts to ./build/contracts

Вот мой файл truffle.js

require('dotenv').config();
const HDWalletProvider = require("truffle-hdwallet-provider");
module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 7545,
      gas: 6500000,
      network_id: "5777"
    },
    ropsten: {
        provider: new HDWalletProvider(process.env.MNENOMIC, "https://ropsten.infura.io/v3/" + process.env.INFURA_API_KEY),
        network_id: 3,
        gas: 4500000
    },
  }
};
truffle compileпросто компилируется. Если вы хотите развернуть, используйтеtruffle migrate
Какая у вас версия трюфеля?
@goodvibration Truffle v4.1.8 (ядро: 4.1.9) Solidity v0.4.24 (solc-js)

Ответы (2)

Убедитесь, что имя файла совпадает с именем контракта, например. если имя контракта: Голосование , назовите файл voting.sol.
Если это не сработает, попробуйте удалить файлы json build/contracts/и запустить truffle compileснова.

Для получения дополнительной информации посетите https://github.com/trufflesuite/truffle-migrate/issues/14 .

Да я проверил. Я попытался запустить эту команду truffle migrate --network ropstenбез компиляции, и она застряла на сохранении артефактов. Одна вещь, которую я хочу спросить, мне нужно изменить свой 1_initial_migration.jsили просто 2_initial_migration.jsфайл?

Эта проблема устранена путем включения провайдера HDWallet в файл truffle.js. Вот обновленный код truffle.js

require('dotenv').config();
const HDWalletProvider = require("truffle-hdwallet-provider");
module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 7545,
      gas: 6500000,
      network_id: "5777"
    },
    ropsten: {
        provider:function() { return new HDWalletProvider(process.env.MNENOMIC, "https://ropsten.infura.io/v3/" + process.env.INFURA_API_KEY);},
        network_id: 3,
        gas: 4500000
    },
  }
};