Выполнение отменено во время вызова: эта транзакция, скорее всего, будет отменена. Если вы хотите транслировать, включите `allow_revert:True`
Я пытаюсь совершить транзакцию для создания предмета коллекционирования NFT, и транзакция отменяется с сообщением: Оценка газа не удалась: «выполнение отменено». Эта транзакция, скорее всего, будет отменена. Если вы хотите транслировать, вы должны установить лимит газа вручную. когда я добавляю максимальный предел газа, он все еще возвращается.
6 ответов
Я была такая же проблема. После 2 потерянных часов я нашел проблему. Я использовал неправильную версию координатора vrf. Как вы можете видеть ниже, я просматривал руководство по VRF v2, но мой код использовал vrf v1, поэтому я использовал неправильный адрес контракта и хеш-ключ. Чтобы исправить это, я нажал на руководство VRF v1 и получил оттуда адрес контракта и ключевой хэш. Теперь это работает. https://docs.chain.link/docs/vrf-contracts/
Если у вас достаточно средств на бензин, то, вероятно, проблема с функцией, которую вы вызываете. Эта функция, кажется, падает, поэтому, как вы видите, появляется сообщение об ошибке оценки газа.
У меня сработала следующая настройка в brownie-config.yaml:
settings:
gas_limit: "100000000000"
Другая причина, по которой проблема, с которой вы столкнулись, может возникнуть, — это нехватка средств. Убедитесь, что в вашем кошельке достаточно ETH и LINK. Оба можно получить из крана ChainLink .
Автор наверное изменил название вопроса? «allow_revert» — это параметр, который распознает Brownie (следуйте коду ошибки и просмотрите папку «...brownie\network\account.py» ~ строки 600-750. Таким образом, вы можете включить его в транзакцию, например
reqeustRandomWord(...,{"from": account, "gas_limit": 3000000, "allow_revert": True}))
К сожалению, то, что вы, скорее всего, найдете в ответ (если он вернется), будет чем-то вроде
Accessing `TransactionReceipt.revert_msg` on a reverted transaction requires the `debug_traceTransaction` RPC endpoint, but the node client does not support it or has not made it available.
Так что это проблема провайдера узла, а не проблема пирожного. Долгое время меня не устраивал брауни, потому что он скрывал указанные сообщения возврата, что очень затрудняло отладку. Насколько я понимаю, инфура не возвращает конкретные сообщения о возврате. Я думаю, что Alchemy это делает, но мне еще предстоит найти способ настроить домового для использования Alchemy в качестве поставщика узлов....
У меня не было проблем после того, как я установил gasPrice на 1000000000000000000 (я выбрал любое случайное значение).
creating_tx = advanced_collectible.createCollectible({"from": account, "gasPrice": 100000000000000000})