Ошибка возврата контракта финансирования с токенами LINK

Когда я пытаюсь создать контракт Chainlink из «основного контракта» и финансировать его с помощью LINK, я продолжаю получать сообщение об ошибке:

«Ошибка VM: возврат. возврат. Транзакция была возвращена в исходное состояние. Примечание. Вызываемая функция должна быть платной, если вы отправляете значение, а отправляемое значение должно быть меньше вашего текущего баланса. Отладьте транзакцию, чтобы получить больше информации. "

Что я делаю не так? Вот мой код REMIX: https://remix.ethereum.org/#version=soljson-v0.4.24+commit.e67f0147.js&optimize=true&evmVersion=null&gist=79cf8c59f1fbf6e6a0327920c9a9c49a

В какой тестовой сети вы находитесь? Вы развертываете инъекцию web3 или javascript vm?
Тестовая сеть @PatrickCollins Kovan внедрила web3 с помощью Metamask
У вас есть ссылка на тестовую сеть и ETH?
@PatrickCollins Да, у меня есть LINK и Eth, и я раньше пытался финансировать заводской контракт, но это не помогает. Также не имеет значения, сколько я плачу по контракту. Я также сделал запись экрана, чтобы помочь вам: drive.google.com/file/d/1hpgJbqWuxoG1EsL3aD9MgxCYU5tFsgC1/… . Еще раз спасибо.
это чудовищный код. Не могли бы вы создать минимальный воспроизводимый контракт? Мне очень сложно протестировать его в текущем состоянии. И, пожалуйста, обновите вопрос, указав функцию, которую вы вызываете, которая вызывает ошибку.

Ответы (1)

Хорошо, я понял это. В видео, которое я разместил в одном из своих комментариев, я забыл сказать Remix использовать внедренный web3 вместо Javascript VM. Тем не менее, более важная вещь, которую я узнал, заключалась в том, что вы должны финансировать «фабрику контрактов» с помощью токенов LINK, чтобы она могла создавать отдельные контракты и передавать им LINK. Спасибо @PatrickCollins за помощь.

PS Код на Remix был прямо из сообщения в блоге Chainlink: https://blog.chain.link/parametric-insurance-smart-contract/