Исключение VM при обработке транзакции: ошибка оценки газа - PullRequest
0 голосов
/ 17 декабря 2018

он развернут в узле с помощью testrpc, он не работает в этом узле, особенно передается в функцию и функцию снятия. Как решить эту проблему. Он работает только в версии компилятора: 0.4.25 + commit.59dbf8f1.Emscripten.clang,это работает в более высокой версии компилятора.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Причина, по которой он может работать в более высоких версиях, заключается в том, что у вас есть функция constructor ().Если вы хотите, чтобы этот контракт работал в предыдущих версиях, создайте функцию конструктора как функцию ethertransfer () также, когда у вас есть ошибки возврата, скорее всего, это произойдет из-за условий, которые вы написали в операторах require ().Требование Заявление также принимает второй параметр строку, которую вы можете поместить описание.Тщательно проверяйте все требуемые заявления, другой вариант, который я настоятельно рекомендую, - это использовать remix browser ide.Там вы можете выполнить отладку с помощью инструмента отладки, так как он поможет вам войти и перешагнуть поток транзакций.Так что в конце будет очень легко определить основную причину проблемы.

0 голосов
/ 17 декабря 2018

Кажется, код в порядке,

Убедитесь, что в контракте есть некоторые эфиры на балансе require(address(this).balance >= amount);

и вы вызываете эти функции с адреса владельца require(msg.sender == _owner);

Если вы используете версию солидности> = 5.0.0, используйте шаблон вывода https://solidity.readthedocs.io/en/v0.5.0/common-patterns.html#withdrawal-pattern

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...