MetaMask API — создание регистрации и входа пользователя в веб-приложение

В этой статье кратко рассказывается, как разрешить новым пользователям регистрировать учетную запись в вашем веб-приложении с помощью API Metamask.

Криптовалютный кошелек — это основная точка взаимодействия между потенциальными клиентами и клиентами в приложении Web3. Кроме того, это модный подход, позволяющий привлечь новых подписчиков и увеличить продажи.

В этой статье я кратко расскажу, как разрешить новым пользователям регистрировать учетную запись в вашем веб-приложении с помощью Metamask API. К концу этой статьи ваши посетители смогут зарегистрироваться с помощью кошелька MetaMask, а вы сможете идентифицировать пользователей с помощью открытого ключа кошелька.

Оглавление: регистрация нового пользователя веб-приложения, вход с использованием Metamask API, Javascript

Javascript-код MetaMask во внешнем интерфейсе

Прежде всего, разработчикам необходимо добавить скрипт обнаружения провайдера Ethereum между заголовком.

< script src = "https://cdn.jsdelivr.net/npm/@metamask/detect-provider" ></ script >

Затем нам нужно написать Javascript, чтобы запускать запрос доступа к учетной записи Metamask, когда пользователь нажимает кнопку регистрации или входа в систему.

   < section >

       < form action = "/login" method = "GET" onsubmit = " return false ;" >

           < button id = "connect-button" type = "button" > Connect with MetaMask </ button >

       </ form >

   </ section >

   < script >

       const connectButton = document . querySelector ( '#connect-button' );

В этом случае есть два сценария. Расширение MetaMask установлено или нет в браузере. Поэтому нам нужно добавить условие if в это событие щелчка.

       connectButton . addEventListener ( 'click' , async () => {

           // Check if MetaMask is installed

           if ( typeof window . ethereum === 'undefined' ) {

               alert ( 'Please install MetaMask to continue.' );

               Return ;

}

Следующий шаг требует, чтобы мы вызвали MetaMask и получили адрес учетной записи для создания нового идентификатора пользователя в базе данных или определения того, кого пользователь входит в систему.

               const accounts = await window . ethereum . request ({ method: 'eth_requestAccounts' });

               const metamaskAddress = accounts [ 0 ];

И последнее, но не менее важное: мы отправим открытый ключ учетной записи в базу данных веб-приложения. Поскольку MetaMask использует параметр args.get. Итак, вот пример кода:

               window . location . href = '/login?metamask_address=' + metamaskAddress ;

} catch ( error ) {

               console . error ( error );

Код маршрута Flask в бэкэнде для хранения открытого ключа

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

@ app .route ( '/login' , methods =[ 'GET' , 'POST' ])

def login ():

   metamask_address = request . args . get ( 'metamask_address' )

   return render_template ( 'masklogin.html' , metamask_address = metamask_address )

Что касается настройки новой пользовательской базы данных, вот две статьи, в одной из которых подробно описано использование SQL, а в другой — MongoDB. Для получения более подробной информации, пожалуйста, проверьте.

https://www.easy2digital.com/automation/data/python-tutorial-57-build-the-user-account-login-and-authentication-system-using-flask-sqlalchemy/

https://www.easy2digital.com/automation/data/python-tutorial-66-flask-application-database-using-mongodb-atlas-and-python-to-better-big-data-management/

Полный Javascript и Python-скрипт системы регистрации и входа пользователей.

Если вас интересует руководство 9 Web3.0 — MetaMask API — Создание регистрации пользователя в веб-приложении и LoginMetaMask API — Создание регистрации и входа в систему в веб-приложении, подпишитесь на нашу рассылку , добавив сообщение «Урок 9 по Web3.0». . Мы немедленно отправим вам сценарий на ваш почтовый ящик.

Надеюсь, вам понравится читать руководство 8 по Web3.0 — Создание способа оплаты в криптовалюте с использованием Infura, Metamask и Web3. Если да, поддержите нас, выполнив одно из действий, перечисленных ниже, потому что это всегда помогает нашему каналу.

  • Поддержите мой канал и сделайте пожертвование через PayPal ( paypal.me/Easy2digital ).
  • Подпишитесь на мой канал и включите колокольчик Easy2Digital Youtube-канал .
  • Подпишитесь на мою страницу и поставьте ей лайк. Страница Easy2Digital в Facebook.
  • Поделитесь статьей в своей социальной сети с хэштегом #easy2digital.
  • Вы подписываетесь на нашу еженедельную рассылку, чтобы получать последние статьи, видео и коды скидок Easy2Digital.
  • Подпишитесь на наше ежемесячное членство через Patreon, чтобы пользоваться эксклюзивными преимуществами ( www.patreon.com/louisludigital ).