Я отправил ropsten ETH на мой только что созданный адрес контракта (все еще в тестовом режиме в тестовой сети Ropsten). К сожалению, он продолжал «терпеть неудачу». Блокчейн сообщает: Внимание! Ошибка при выполнении контракта [Отменено]
Пожалуйста, смотрите адрес моего контракта и сбои транзакций здесь: https://ropsten.etherscan.io/address/0xe7a6fbf8a93e6c879907e0404881840a05978745
Я использовал функции взаимодействия myetherwallet, взаимодействовал и запрашивал мой смарт-контракт для totalSupply, CurrentDistribPublicSupply, OwnerDistribSupply_ и других. Вроде все в порядке и сходится. Так что я очень смущен и очень обеспокоен. Пожалуйста, помогите и объясните, что я делаю неправильно? Любая помощь и исправления будут оценены. Спасибо.
Скорее всего, вы столкнулись с одной revert()
из ваших резервных функций. Отладьте его с помощью Remix. Рекомендуется использовать require()
вместо этого, так как это автоматически отменит изменение состояния, если условие внутри него не окажется true
.
Таким образом, чтобы убедиться, что условие выполнено, вы можете сделать это, require ( 2 == 2)
и если это не удается, это намного проще обнаружить, проходя этапы выполнения с отладчиком Remix, чем смотреть, при каком условии если он перешел к возврату.
Резервная функция подходит только для основных операций. https://solidity.readthedocs.io/en/v0.4.24/contracts.html?#fallback-функция
Исмаэль
пятьдесят стеков