SIWE практичний досвід: три кроки для створення системи ідентифікації Ethereum

robot
Генерація анотацій у процесі

Посібник з використання SIWE: зробіть свій Dapp потужнішим

SIWE(Увійти за допомогою Ethereum) є способом перевірки особистості користувача на платформі Ethereum, подібно до того, як гаманець ініціює транзакції, підтверджуючи контроль користувача над гаманцем. Наразі верифікація особистості стала дуже простою, потрібно лише підписати інформацію у плагіні гаманця, більшість поширених плагінів для гаманців вже підтримують цю функцію. У цій статті основну увагу приділено сценаріям підпису на платформі Ethereum.

SIWE використання посібника: Як зробити ваш Dapp ще потужнішим?

Чи потрібен SIWE

Якщо ваш Dapp має такі вимоги, ви можете розглянути можливість використання SIWE:

  • Має власну систему користувачів
  • Потрібно перевірити інформацію, пов'язану з конфіденційністю користувача

Але якщо ваш Dapp в основному виконує функцію запиту, наприклад, подібну до etherscan, то SIWE не обов'язково потрібен.

Ви, можливо, запитаєте, чи не доводить вже підключення гаманця на Dapp право власності на гаманець? Це справедливо лише для фронтенду. Для викликів інтерфейсу, які потребують підтримки з боку бекенду, просто передати адресу недостатньо, оскільки адреса є відкритою інформацією, і будь-хто може "використати" вашу особистість.

SIWE використання посібника: як зробити ваш Dapp більш потужним?

Принципи та процес SIWE

Процес SIWE можна узагальнити в три кроки: підключення гаманця - підписання - отримання ідентифікатора особи.

Підключити гаманец

Це поширена операція Web3, яка здійснюється через плагін гаманця для підключення гаманця в Dapp.

підпис

Кроки підпису включають отримання значення Nonce, підписання гаманцем та перевірку підпису на сервері.

Бекенд генерує випадкове значення Nonce та асоціює його з адресою. Фронтенд отримує значення Nonce, а потім будує вміст підпису, включаючи значення Nonce, домен, ID ланцюга тощо, використовуючи методи, надані гаманцем, для підписання. Нарешті, підпис відправляється на бекенд.

отримати ідентифікатор

Після успішної перевірки підпису на бекенді, повертається ідентифікатор користувача (, як JWT ). Наступні запити з фронтенду повинні містити адресу та ідентифікатор, щоб підтвердити право власності на гаманець.

SIWE посібник: як зробити ваш Dapp більш потужним?

Практика SIWE

Ми будемо використовувати Next.js для розробки простого демо SIWE, щоб продемонструвати основний процес. Зверніть увагу, що це демо призначене лише для ознайомлення, використання в продуктивному середовищі може містити проблеми з безпекою.

Підготовчі роботи

  1. Встановіть Next.js

npx create-next-app@14

SIWE посібник: як зробити ваш Dapp ще потужнішим?

  1. Встановлення залежностей SIWE

npm install antd @ant-design/web3 @ant-design/web3-wagmi wagmi viem @tanstack/react-query --save

SIWE використання посібника: Як зробити ваш Dapp більш потужним?

  1. Представте WagmiProvider у layout.tsx

SIWE посібник користувача: як зробити ваш Dapp більш потужним?

  1. Реалізувати кнопку підключення гаманця

  2. Реалізація бекенд-інтерфейсу

    • Генерація Нонсу
    • Перевірка підпису
  3. Оптимізація: використання спеціалізованих вузлів для підвищення швидкості реагування.

Завдяки наведеним вище крокам, ми реалізували базову структуру входу за допомогою SIWE. Використання професійних вузлових сервісів може значно підвищити швидкість верифікації, рекомендується використовувати в продуктивному середовищі.

SIWE посібник: як зробити ваш Dapp більш потужним?

ETH-0.1%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити