Исследование и практика использования Solana NFT в качестве инструмента идентификации

robot
Генерация тезисов в процессе

Исследование использования токена Solana в качестве инструмента верификации

NFT как "неподменяемый" токен идеально подходит для использования в качестве инструмента идентификации. В этой статье мы рассмотрим возможность использования NFT в качестве регистрации через простой пример.

Введение

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

Токен SPL ###

Мы можем напрямую использовать универсальную реализацию Token Program, предоставляемую Solana, без необходимости писать новый контракт Solana с нуля. Token Program является частью библиотеки программ Solana ( SPL ), SPL предоставляет множество распространенных реализаций программ, включая Token, Swap, Memo, а также предлагает полноценные клиентские библиотеки, инструменты CLI и так далее, что значительно упрощает работу разработчиков Solana.

Игровая площадка Solana

Solpy предоставляет онлайн-среду для написания и развертывания контрактов Solana и по умолчанию включает в себя несколько распространенных инструментов, таких как SPL Token, о которых мы говорили ранее. Мы можем легко создавать и управлять токенами с помощью spl-token-cli.

Web3 Новичок Серия: Исследование входа с использованием Solana Token

Токен аутентификации

В этой части мы создадим NFT Token. Если пользователь Mint'ит Token, считается, что этот адрес кошелька зарегистрирован в системе, в противном случае пользователю будет предложено сначала зарегистрироваться.

Теперь начнем с On-chain части:

Создание токена

Мы используем spl-token для создания нового токена и указываем, что это неделимый токен через «--decimals», как NFT (.

![Web3 Новичок Серия: Исследование входа с использованием Solana Token])https://img-cdn.gateio.im/webp-social/moments-2d4061778b838adde4ff1f393858d363.webp(

) Создание учетной записи токена

Теперь нам нужно создать учетную запись токена для токена, созданного на предыдущем шаге.

![Web3 новичок серия: Исследуем вход с помощью Solana Token]###https://img-cdn.gateio.im/webp-social/moments-d42044efd505a5367b666752b868da0c.webp(

) минт

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

![Серия для новичков Web3: исследование входа с использованием токенов Solana]###https://img-cdn.gateio.im/webp-social/moments-b039435212d66c69db512fc679430f89.webp(

Мы также можем попробовать напрямую дать адресу кошелька mint token.

![Web3 Новичок Серия: Исследование входа с использованием Solana Token])https://img-cdn.gateio.im/webp-social/moments-4c6542c9e4f56eb35dfd7b5f81ca5991.webp(

) для адреса кошелька mint

Согласно первоначальному замыслу, мы должны были создать Mint для других адресов кошельков, которые не принадлежат нам. Сначала нам нужно создать Token Account для адреса кошелька, а затем использовать созданный Token Account для чеканки новых единиц Token.

![Web3 новички серии: исследование входа с использованием Solana Token]###https://img-cdn.gateio.im/webp-social/moments-1c32a3d0e704a3b02a7ced6f1d99cea5.webp(

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

) Получить Token Account

Нам нужно через RPC-интерфейс получить информацию о том, mintовал ли определённый адрес кошелька наши созданные NFT. Конкретно, с помощью метода «getTokenAccountsByOwner» для запроса данных.

![Web3 Новичок Серия: Исследование использования токена Solana для входа]###https://img-cdn.gateio.im/webp-social/moments-a24e9eba2139d73dd3d21b4961679cd6.webp(

Реализация

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

Мы создадим простой проект Nextjs, чтобы реализовать это, используя Ant Design Web3 для подключения кошелька.

) реализация страницы

Нам нужно три страницы, включая главную, которые будут использоваться для подключения кошелька и проверки, зарегистрирован ли пользователь ### для mint NFT (, а также для прохождения пользователем процесса регистрации ) mint NFT (.

После открытия демонстрационной страницы сначала вы увидите приветственное сообщение и ссылку для перехода на страницу входа. После перехода на страницу вам необходимо сначала войти. Нажав "Продолжить с Solana", вы вызовете кошелек. Если вы ранее не зарегистрировались, вам будет предложено сначала пройти регистрацию.

![Web3 Новичок: Исследование входа с использованием токена Solana])https://img-cdn.gateio.im/webp-social/moments-57805e7852a7ca66850a8d6b27398250.webp(

![Серия для новичков Web3: исследование входа через токен Solana])https://img-cdn.gateio.im/webp-social/moments-14368232303f480fe96b88d4a6ba1f55.webp(

![Серия для новичков Web3: Исследование использования токена Solana для входа])https://img-cdn.gateio.im/webp-social/moments-ff77873087f76c412229207de916e9b9.webp(

![Web3 новичок серия: исследование использования Solana Token для входа])https://img-cdn.gateio.im/webp-social/moments-eb80585bdf5e8c2b3e3392b4bf84b693.webp(

На странице Sign on, после подключения кошелька, если все прошло успешно, вы увидите сообщение об успешном подключении.

![Web3 Новичок Серия: Исследуйте вход с использованием Solana Token])https://img-cdn.gateio.im/webp-social/moments-16d560890fd229d1bb393bbc10a67f18.webp(

) верификация сделки

NFTs можно увидеть только что выполненную операцию Mint внутри sign-on и NFT, который был Mint.

![Web3 новички: исследование входа с использованием токена Solana]###https://img-cdn.gateio.im/webp-social/moments-f7eeea08c0467dfcfc5f1c37626332ee.webp(

![Web3 Новичок Серия: Исследуйте вход с использованием Solana Token])https://img-cdn.gateio.im/webp-social/moments-18ae3f01f44c19832db49546fbedfe09.webp(

![Серия для новичков Web3: Исследование входа с использованием токена Solana])https://img-cdn.gateio.im/webp-social/moments-27ab4429c1cd10ab43040def7400cc54.webp(

Резюме

Мы использовали spl-token-cli для создания NFT, а затем, проверяя, есть ли у адреса кошелька Token Account и были ли Mint токены, определили, зарегистрирован ли он на сайте.

Когда пользователи Web3 подключают кошелек, мы автоматически отправляем запрос на вход, создаем Token Account внутри и Mint один Token unit в качестве свидетельства о регистрации пользователя.

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

SOL2.88%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 1
  • Поделиться
комментарий
0/400
SmartMoneyWalletvip
· 11ч назад
Очень полезное направление исследований
Посмотреть ОригиналОтветить0
  • Закрепить