Разверните смарт-контракт в основной сети с помощью Infura и MetaMask

Я пытаюсь развернуть свой смарт-контракт в основной сети, используя следующий код:

трюфель.js:

module.exports = {
  networks: {
    live: {
      provider: new HDWalletProvider("mnemonic from metamask", "https://mainnet.infura.io/<infuraKey>"),
      network_id: 1, // Main net
    }
  }
};

Однако при выполнении truffle migrate --network live я получаю следующую ошибку:

Error encountered, bailing. Network state unknown. Review successful transactions manually.
insufficient funds for gas * price + value

Кто-нибудь знает, что вызывает эту ошибку? В учетной записи, которую я использую в MetaMask, у меня есть 1ETH для развертывания. Я также пытался добавить количество газа в действующую сеть, но это не решило проблему.

Ответы (1)

  1. Перейдите сюда и сгенерируйте мнемонику из 12 слов, для «Coin» выберите ETH.
  2. Сохраните мнемонику (12 слов) и внизу страницы первый адрес (путь вывода, заканчивающийся на 0) и закрытый ключ где- нибудь в безопасном месте .
  3. Переведите немного ETH со своей учетной записи на ту, которая соответствует только что созданной мнемонике. Вы можете импортировать его в MetaMask с закрытым ключом и позже вернуть неиспользованный ETH.
  4. Используйте это руководство для развертывания смарт-контрактов через трюфель, конечно, не забудьте заменить мнемонику из руководства на только что сгенерированную.
  5. Скорректируйте URL-адрес провайдера в руководстве с вашим личным URL-адресом доступа, который вы получили по почте от Infura, а также в конфигурации сети примера кода руководства измените «ropsten» на «mainnet».

потом сделать truffle migrate --mainnet --dry-run(доступно только в v4beta, но хорошая привычка) проверить, все ли в порядке, а потом truffle migrate --mainnet.

РЕДАКТИРОВАТЬ: Конечно, вы также можете использовать мнемонику из MetaMask.

Спасибо! Теперь я вижу, что учетная запись, которую я импортировал, была удалена из MetaMask, что означает, что я не был подкреплен исходной фразой, и поэтому она не могла быть перенесена. (Учетная запись «не существовала» в мнемонике. Создание новой учетной записи в MetaMask и перевод средств сработали.