Как выполнить транзакцию eth контракта в Django с помощью web3.py и Metamask
Пытаюсь создать Dapp с помощью Django, до сих пор выполнил следующие шаги.
- Развернул простой контракт лотереи на тестовой сети, адрес контракта 0xD5d56C139848A0E55DC5C616D04a0CeD98D8BeA3 (можно увидеть на https://sepolia.etherscan.io/) .
- Используя web3.py, я могу подключиться к этому контракту и вызвать функции.
- Я создал простой webapp, который просит пользователя подключиться к его кошельку Metamask.
- Я использую JS для загрузки кошелька Metamask в браузере.
- Когда пользователь нажимает на кнопку подключения кошелька, расширение Metamask загружается в браузере.
- После подключения пользователя я могу прочитать адрес подключенного пользователя.
На следующем этапе пользователь нажмет на кнопку ввода лотереи, после чего должно появиться окно Metamask для подписания транзакции.
Проблема в том, что я хочу использовать web3.py в моем Django представлении для вызова моей функции контракта, которая позволит пользователю войти в лотерейную игру, но как я могу вызвать Metamask из Django представления, чтобы попросить пользователя подписать транзакцию, поскольку это расширение браузера.
но как я могу вызвать Metamask из Django
.
Нет.
Весь смысл блокчейна заключается в том, что любой звонок от пользователя поступает непосредственно в блокчейн, и нет никакого внутреннего сервера, который мог бы блокировать или цензурировать то, что делают пользователи.
Вам необходимо реализовать логику взаимодействия с пользователем во фронтенде, используя JavaScript.