Развертывание в Ropsten через Infura превышает лимит газа

Я столкнулся с проблемой превышения лимита газа, когда выполнял развертывание в своем локальном Ganache. Мне пришлось реорганизовать свои контракты и разбить их на несколько контрактов. Я заставил его работать.

Теперь я сталкиваюсь с тем же, когда пытаюсь развернуться в Ropsten через Infura.

Я получаю превышение лимита газа даже при простом развертывании Migrations.sol. У меня достаточно газа на моем основном аккаунте.

Моя конфигурация трюфеля такова:

// Allows us to use ES6 in our migrations and tests.
require('babel-register')
var HDWalletProvider = require("truffle-hdwallet-provider");

var infura_apikey = "... ...";
var mnemonic = "... ... ... ...";

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
    }
  }
}

Initial Migration JS — это стандартный код.

var Migrations = artifacts.require("./Migrations.sol");

module.exports = function(deployer) {
  deployer.deploy(Migrations, { gas: 4700000, //may be 21000 - 3000000
gasPrice: 20000000000});
};

Что мне здесь не хватает? Он терпит неудачу во время начальной миграции.

Использование сети «ropsten».

Установка газа на 4 700 000 кажется малой. (Как такое может быть? Это всего лишь контракт Migrations!)

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0x6810b697ecf938b94a134ed62865b661dcd5f37ae53bd08dc575b8850de968ef
  Migrations: 0x64e70064a0b59f8d2b789f7cb50e6a9465abaf35
Saving successful migration to network...
Error encountered, bailing. Network state unknown. Review successful transactions manually.
exceeds block gas limit

Установка его на 4 800 000, похоже, превышает лимит Ropsten.

Running migration: 1_initial_migration.js   
Deploying Migrations...
Error encountered, bailing. Network state unknown. Review successful
transactions manually. exceeds block gas limit

ОБНОВЛЯТЬ

В конце концов я отказался от разработки на Ropsten и вместо этого работал над Rinkeby. Больше таких проблем у меня не было.

Вы нашли ответ на это? У меня такая же проблема.
Любое решение для этого?

Ответы (1)

Ваш газ не слишком низкий, он слишком высокий

Блок Ethereum имеет общий лимит газа около 4 700 000 , а это означает, что общее количество всех транзакций, содержащихся в блоке, не должно превышать 4,7 миллиона. Только ваш равен лимиту, поэтому вряд ли попадет в блок. Попробуйте установить более низкий предел газа.

Я получаю такое же сообщение при установке газа на 1 миллион.