Как выполнить транзакцию eth контракта в Django с помощью web3.py и Metamask

Пытаюсь создать Dapp с помощью Django, до сих пор выполнил следующие шаги.

  1. Развернул простой контракт лотереи на тестовой сети, адрес контракта 0xD5d56C139848A0E55DC5C616D04a0CeD98D8BeA3 (можно увидеть на https://sepolia.etherscan.io/)
  2. .
  3. Используя web3.py, я могу подключиться к этому контракту и вызвать функции.
  4. Я создал простой webapp, который просит пользователя подключиться к его кошельку Metamask.
  5. Я использую JS для загрузки кошелька Metamask в браузере.
  6. Когда пользователь нажимает на кнопку подключения кошелька, расширение Metamask загружается в браузере.
  7. После подключения пользователя я могу прочитать адрес подключенного пользователя.

На следующем этапе пользователь нажмет на кнопку ввода лотереи, после чего должно появиться окно Metamask для подписания транзакции.
Проблема в том, что я хочу использовать web3.py в моем Django представлении для вызова моей функции контракта, которая позволит пользователю войти в лотерейную игру, но как я могу вызвать Metamask из Django представления, чтобы попросить пользователя подписать транзакцию, поскольку это расширение браузера.

но как я могу вызвать Metamask из Django

.

Нет.

Весь смысл блокчейна заключается в том, что любой звонок от пользователя поступает непосредственно в блокчейн, и нет никакого внутреннего сервера, который мог бы блокировать или цензурировать то, что делают пользователи.

Вам необходимо реализовать логику взаимодействия с пользователем во фронтенде, используя JavaScript.

Вернуться на верх