Solana NFT identification : exploration pratique de l'utilisation des tokens comme preuve d'inscription

robot
Création du résumé en cours

Explorer l'utilisation du Token Solana comme outil d'identification

Les NFT, en tant que jetons "non fongibles", sont particulièrement adaptés comme outils d'identification. Cet article examinera la faisabilité de l'utilisation des NFT comme preuve d'enregistrement à travers un exemple simple.

Web3 Nouveaux venus : Explorer l'utilisation du Token Solana pour se connecter

Introduction des outils

SPL Token

Solana fournit le Token Program en tant qu'implémentation générique, faisant partie de la bibliothèque de programmes Solana (SPL). SPL comprend plusieurs implémentations de programmes courants et offre une bibliothèque cliente complète, des outils CLI, etc., ce qui facilite grandement le développement sur Solana.

Web3 Nouveaux utilisateurs : Explorer l'utilisation de l'identification Solana Token

Solana Playground

Solpy offre un environnement en ligne pour écrire et déployer des contrats Solana, incluant par défaut quelques outils courants, tels que le Token SPL. Il est possible de créer et de gérer des Tokens facilement via spl-token-cli.

Web3 débutant série : explorer l'utilisation de Solana Token pour s'identifier

Création d'un Auth Token

Nous allons créer un Token NFT. Si un utilisateur mint ce Token, l'adresse de ce portefeuille sera considérée comme enregistrée dans le système, sinon un message invitant l'utilisateur à s'enregistrer sera affiché.

Créer un Token

Créer un nouveau token avec spl-token, en spécifiant "--decimals" pour qu'il soit un token indivisible :

spl-token create-token --decimals 0

L'adresse Mint dans la sortie est l'ID du Token créé.

Web3 débutants : explorer l'utilisation de l'identification avec le Token Solana

Créer un compte de token

Créer un compte de jeton pour le jeton créé à l'étape précédente :

spl-token create-account <token_id>

Web3 Débutant Série : Explorer l'utilisation de Solana Token pour la connexion

opération Mint

Il est possible de mint des tokens pour un compte de token ou directement pour une adresse de portefeuille. Il convient de noter qu'en raison de l'indication de decimals à 0 lors de la création, la quantité effectivement mintée sera arrondie à l'entier.

Web3 débutant série : explorer l'utilisation de Solana Token pour se connecter

est l'adresse de portefeuille Mint

Pour mint un Token à une autre adresse de portefeuille, il est nécessaire de créer un Token Account pour cette adresse, puis d'utiliser ce Token Account pour mint de nouvelles unités de Token.

Vous pouvez créer un compte Token pour l'adresse de votre portefeuille en utilisant la commande suivante :

spl-token create-account <token_id> --owner <wallet_address>

Web3 Débutant Série : Explorer l'utilisation du Token Solana pour se connecter

Obtenir un compte Token

Vous pouvez vérifier si l'adresse du portefeuille a minté le NFT spécifié en utilisant la méthode "getTokenAccountsByOwner" via l'interface RPC.

Web3 Nouveau Série : Explorer l'utilisation du Token Solana pour se connecter

Réalisation

Sur la base des tentatives ci-dessus, nous pouvons utiliser les capacités existantes pour réaliser les fonctionnalités requises. Voici une simple implémentation d'un projet Nextjs :

  1. Créer un projet Nextjs contenant trois pages : page d'accueil, connexion et inscription.
  2. Utiliser @ant-design/web3-solana pour connecter le portefeuille
  3. Utiliser @solana/spl-token pour interagir avec le Token Program
  4. Vérifiez sur la page de connexion si l'utilisateur est déjà inscrit ( pour mint NFT )
  5. Complétez le processus d'inscription de l'utilisateur sur la page de connexion ( mint NFT )

Web3 Nouveaux utilisateurs : Explorer l'utilisation du Token Solana pour se connecter

Lors de la première visite de l'utilisateur, il doit d'abord s'inscrire, le système créera un compte Token et mintera une unité de Token comme preuve d'enregistrement. Ensuite, l'utilisateur peut se reconnecter en utilisant la même adresse de portefeuille.

Web3 débutant série : Explorer l'utilisation de Solana Token pour se connecter

Résumé

Nous avons créé un NFT via spl-token-cli et utilisé l'adresse du portefeuille pour vérifier si un compte de jeton correspondant existe et si le jeton a été minté pour déterminer si l'utilisateur est enregistré.

Lorsque les utilisateurs de Web3 connectent leur portefeuille, le backend crée automatiquement un Token Account et mint une unité de Token comme preuve d'enregistrement. Par la suite, les utilisateurs peuvent se connecter au site Web en utilisant la même adresse de portefeuille.

Web3 Nouveaux utilisateurs : Explorer la connexion avec le Token Solana</wallet_address></token_id></token_id>

SOL1.05%
TOKEN5.84%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 6
  • Partager
Commentaire
0/400
CryptoNomicsvip
· Il y a 3h
*sigh* une autre implémentation basique ignorant la dynamique de la vélocité des tokens stochastiques...
Voir l'originalRépondre0
GasFeeTearsvip
· Il y a 8h
est-ce que sol peut vraiment fonctionner ici...
Voir l'originalRépondre0
AirdropHarvestervip
· 07-30 05:25
Encore de nouvelles idées, j'adore ça.
Voir l'originalRépondre0
NotGonnaMakeItvip
· 07-30 05:17
Cette vague de vérification d'identification NFT est plutôt habile.
Voir l'originalRépondre0
AirdropCollectorvip
· 07-30 05:11
sol a encore fait des siennes, cette fois-ci c'est floral.
Voir l'originalRépondre0
ProxyCollectorvip
· 07-30 05:00
J'ai étudié cette partie depuis longtemps, ceux qui comprennent comprennent.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)