Ошибка, связанная с газом, при развертывании контракта на блокчейн-сервис Quorum @ Azure

Я могу развертывать контракты в ganache и тестовых сетях, используя миграции, которые включают отправку некоторого eth в один из контрактов.

      deployer.deploy(Oracle, {from: accounts[0], gas:6721975, value: 0.25e18});

Однако, когда я развертываю контракт Oracle в службе блокчейна Quorum / Azure, я получаю

      Error:  *** Deployment Failed ***

"Oracle" received a generic error from Geth that
can be caused by hitting revert in a contract constructor or running out of gas.
   * gas required exceeds allowance (6721975) or always failing transaction.

Некоторый поиск в Google по этой ошибке привел к публикациям (https://ethereum.stackexchange.com/questions/74209/gas-required-exceeds-allowance-truffle-migrate/74211), но я не уверен, что это причина, и я не могу выяснить, как изменить генезис в блокчейне Azure. Любая помощь будет высоко ценится.

Я также проверил конструктор контракта Oracle, и в нем нет ничего, что могло бы вызвать исключение.

2 ответа

Я думаю, что Quorum поддерживает транзакции в eth, поэтому отправка газа по контракту на Quoroum не работает.

В итоге я сам создал службу оракула, которая не потребляет газ.

Столкнувшись с той же проблемой, если вы используете трюфель для развертывания, попробуйте использовать эту конфигурацию и убедитесь, что для gas и gasPrice установлено значение Zero.

          azure:{
            provider: new Web3.providers.HttpProvider("<connection string here>"),
            network_id: "*",
            gas: 0,
            gasPrice: 0,
            from:"<member address here>",
        }
Другие вопросы по тегам