Дослідження використання токенів 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.
Токен автентифікації
У цій частині ми створимо NFT Token. Якщо користувач Mint'ить Token, вважається, що ця адреса гаманця вже зареєстрована в системі, інакше користувачеві буде запропоновано спочатку пройти ідентифікацію.
Зараз ми спочатку почнемо з частини On-chain:
створення токена
Ми використовуємо spl-token для створення нового токена та вказуємо його як неподільний токен за допомогою «--decimals», як NFT (.
![Web3 новачок серія: дослідження використання Solana Token для входу])https://img-cdn.gateio.im/webp-social/moments-2d4061778b838adde4ff1f393858d363.webp(
) створити обліковий запис токена
Далі нам потрібно створити Token Account для токена, створеного на попередньому кроці.
![Web3 новачок серія: дослідження використання Solana Token для входу]###https://img-cdn.gateio.im/webp-social/moments-d42044efd505a5367b666752b868da0c.webp(
) мінт
Перед тим як mint новий Token для інших адрес гаманців, спочатку спробуємо mint один Token unit для щойно створеного Token Account.
![Web3 новачок серії: дослідження використання Solana Token для входу]###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 для mint нових одиниць Token.
![Web3 новачок серія: дослідження використання Solana Token для входу]###https://img-cdn.gateio.im/webp-social/moments-1c32a3d0e704a3b02a7ced6f1d99cea5.webp(
Коротко кажучи, якщо ми хочемо випустити одиницю токена для певної адреси гаманця, спочатку потрібно створити обліковий запис токена для цієї адреси гаманця.
) отримати Token Account
Ми повинні через RPC-інтерфейс отримати інформацію про те, чи є у певної адреси гаманця Mint наших створених NFT. Конкретно, за допомогою методу «getTokenAccountsByOwner» для запиту даних.
![Web3 новачок серія: дослідження використання Solana Token для входу]###https://img-cdn.gateio.im/webp-social/moments-a24e9eba2139d73dd3d21b4961679cd6.webp(
Реалізація
Через вищезгадані спроби ми можемо використати наявні можливості для реалізації необхідних функцій. Далі почнемо писати код клієнта.
Ми створимо простий проект Nextjs для його реалізації, використовуючи Ant Design Web3 для підключення гаманця.
) реалізація сторінки
Нам потрібно три сторінки, включаючи головну, які використовуються для підключення гаманця та перевірки, чи зареєстрований користувач ###, чи mint NFT (, а також для проходження користувачем процесу реєстрації ) mint NFT (.
Після відкриття демонстраційної сторінки спочатку ви побачите вітальне повідомлення та посилання на сторінку "Sign in". Після переходу на сторінку вам потрібно спочатку виконати вхід. Натискання на "Continue with Solana" викличе гаманець. Якщо ви раніше не реєструвалися, з'явиться повідомлення, що потрібно спочатку зареєструватися.
![Web3 новачок серія: дослідження використання Solana Token для входу])https://img-cdn.gateio.im/webp-social/moments-57805e7852a7ca66850a8d6b27398250.webp(
![Web3 новачок серія: дослідження використання Solana Token для входу])https://img-cdn.gateio.im/webp-social/moments-14368232303f480fe96b88d4a6ba1f55.webp(
![Web3 новачок серії: дослідження використання Solana Token для входу])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, а також Mint NFT.
![Web3 новачок серія: дослідження використання Solana Token для входу]###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 Token для входу])https://img-cdn.gateio.im/webp-social/moments-27ab4429c1cd10ab43040def7400cc54.webp(
Підсумок
Ми використали spl-token-cli для створення NFT, а потім, перевіряючи, чи має адреса гаманця Token Account і чи було Mint-овано Token, визначили, чи зареєстровано на сайті.
Коли користувачі Web3 підключають гаманець, ми автоматично надсилаємо запит на вхід, внутрішньо створюємо обліковий запис токена та карбуємо одиницю токена як свідоцтво реєстрації користувача.
Після цього користувач може знову увійти на сайт, використовуючи ту ж адресу гаманця.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Дослідження та практика використання Solana NFT як інструменту ідентифікації
Дослідження використання токенів 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.
Токен автентифікації
У цій частині ми створимо NFT Token. Якщо користувач Mint'ить Token, вважається, що ця адреса гаманця вже зареєстрована в системі, інакше користувачеві буде запропоновано спочатку пройти ідентифікацію.
Зараз ми спочатку почнемо з частини On-chain:
створення токена
Ми використовуємо spl-token для створення нового токена та вказуємо його як неподільний токен за допомогою «--decimals», як NFT (.
![Web3 новачок серія: дослідження використання Solana Token для входу])https://img-cdn.gateio.im/webp-social/moments-2d4061778b838adde4ff1f393858d363.webp(
) створити обліковий запис токена
Далі нам потрібно створити Token Account для токена, створеного на попередньому кроці.
![Web3 новачок серія: дослідження використання Solana Token для входу]###https://img-cdn.gateio.im/webp-social/moments-d42044efd505a5367b666752b868da0c.webp(
) мінт
Перед тим як mint новий Token для інших адрес гаманців, спочатку спробуємо mint один Token unit для щойно створеного Token Account.
![Web3 новачок серії: дослідження використання Solana Token для входу]###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 для mint нових одиниць Token.
![Web3 новачок серія: дослідження використання Solana Token для входу]###https://img-cdn.gateio.im/webp-social/moments-1c32a3d0e704a3b02a7ced6f1d99cea5.webp(
Коротко кажучи, якщо ми хочемо випустити одиницю токена для певної адреси гаманця, спочатку потрібно створити обліковий запис токена для цієї адреси гаманця.
) отримати Token Account
Ми повинні через RPC-інтерфейс отримати інформацію про те, чи є у певної адреси гаманця Mint наших створених NFT. Конкретно, за допомогою методу «getTokenAccountsByOwner» для запиту даних.
![Web3 новачок серія: дослідження використання Solana Token для входу]###https://img-cdn.gateio.im/webp-social/moments-a24e9eba2139d73dd3d21b4961679cd6.webp(
Реалізація
Через вищезгадані спроби ми можемо використати наявні можливості для реалізації необхідних функцій. Далі почнемо писати код клієнта.
Ми створимо простий проект Nextjs для його реалізації, використовуючи Ant Design Web3 для підключення гаманця.
) реалізація сторінки
Нам потрібно три сторінки, включаючи головну, які використовуються для підключення гаманця та перевірки, чи зареєстрований користувач ###, чи mint NFT (, а також для проходження користувачем процесу реєстрації ) mint NFT (.
Після відкриття демонстраційної сторінки спочатку ви побачите вітальне повідомлення та посилання на сторінку "Sign in". Після переходу на сторінку вам потрібно спочатку виконати вхід. Натискання на "Continue with Solana" викличе гаманець. Якщо ви раніше не реєструвалися, з'явиться повідомлення, що потрібно спочатку зареєструватися.
![Web3 новачок серія: дослідження використання Solana Token для входу])https://img-cdn.gateio.im/webp-social/moments-57805e7852a7ca66850a8d6b27398250.webp(
![Web3 новачок серія: дослідження використання Solana Token для входу])https://img-cdn.gateio.im/webp-social/moments-14368232303f480fe96b88d4a6ba1f55.webp(
![Web3 новачок серії: дослідження використання Solana Token для входу])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, а також Mint NFT.
![Web3 новачок серія: дослідження використання Solana Token для входу]###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 Token для входу])https://img-cdn.gateio.im/webp-social/moments-27ab4429c1cd10ab43040def7400cc54.webp(
Підсумок
Ми використали spl-token-cli для створення NFT, а потім, перевіряючи, чи має адреса гаманця Token Account і чи було Mint-овано Token, визначили, чи зареєстровано на сайті.
Коли користувачі Web3 підключають гаманець, ми автоматично надсилаємо запит на вхід, внутрішньо створюємо обліковий запис токена та карбуємо одиницю токена як свідоцтво реєстрації користувача.
Після цього користувач може знову увійти на сайт, використовуючи ту ж адресу гаманця.