Validación de identidad NFT en Solana: exploración práctica del uso de tokens como comprobante de registro

robot
Generación de resúmenes en curso

Explorar el uso de Solana Token como herramienta de identificación

NFT como un token "no fungible" es muy adecuado para ser utilizado como herramienta de identificación. Este artículo explorará la viabilidad de usar NFT como certificado de registro a través de un ejemplo simple.

Web3 Principiante Serie: Explorando el inicio de sesión con Token Solana

Introducción a las herramientas

Token SPL

Solana ofrece el Token Program como una implementación genérica, que forma parte de la Solana Program Library (SPL). SPL incluye múltiples implementaciones de programas comunes y proporciona una completa biblioteca de clientes, CLI y otras herramientas, lo que facilita enormemente el desarrollo en Solana.

Serie para principiantes de Web3: Explorando el inicio de sesión con Token de Solana

Solana Playground

Solpy ofrece un entorno en línea para escribir y desplegar contratos de Solana, que incluye por defecto algunas herramientas comunes, como SPL Token. Se pueden crear y gestionar tokens fácilmente a través de spl-token-cli.

Serie para principiantes de Web3: Explora el inicio de sesión con Solana Token

Crear Token de Autenticación

Vamos a crear un Token NFT. Si el usuario mintió dicho Token, se considerará que la dirección de la billetera ya está registrada en el sistema, de lo contrario, se le pedirá al usuario que se registre.

crear Token

Usar spl-token para crear un nuevo token, especificando como un Token no divisible a través de "--decimals":

spl-token create-token --decimals 0

La dirección de Mint en la salida es la ID del Token creado.

Serie para principiantes de Web3: Explorar el inicio de sesión con el Token de Solana

crear cuenta de token

Crear una cuenta de token para el token creado en el paso anterior:

spl-token crear-cuenta <token_id>

Serie para principiantes de Web3: Explora el inicio de sesión con Token de Solana

operación de Mint

Se puede acuñar Token para una Cuenta de Token o directamente para una dirección de billetera. Tenga en cuenta que, debido a que se especificó decimals como 0 al crearla, la cantidad acuñada se truncará sin la parte decimal.

Serie de principiantes de Web3: Explora el inicio de sesión con el Token de Solana

para la dirección de la billetera Mint

Para mint Token a otras direcciones de billetera, primero debe crear una Cuenta de Token para esa dirección, y luego usar esa Cuenta de Token para mint nuevas unidades de Token.

Puede crear una cuenta de token para la dirección de la billetera con el siguiente comando:

spl-token crear-cuenta <token_id> --propietario <wallet_address>

Serie para principiantes en Web3: Explora el inicio de sesión con el Token de Solana

Obtener Cuenta de Token

Se puede consultar si la dirección de la billetera ha acuñado el NFT especificado a través del método "getTokenAccountsByOwner" de la interfaz RPC.

Serie para principiantes en Web3: Explorando el inicio de sesión con el Token de Solana

Implementación

Basado en los intentos anteriores, podemos utilizar las capacidades existentes para lograr la funcionalidad requerida. A continuación se presenta una implementación simple de un proyecto Nextjs:

  1. Crear un proyecto Nextjs que contenga tres páginas: inicio, sign-in y sign-on.
  2. Usar @ant-design/web3-solana para conectar la identificación
  3. Usar @solana/spl-token para interactuar con el Token Program
  4. En la página de inicio de sesión, verifique si el usuario ya está registrado ( si mint NFT )
  5. Completar el proceso de registro de usuario en la página de inicio de sesión (mint NFT )

Serie para principiantes de Web3: Explora el inicio de sesión con el Token de Solana

Los usuarios deben registrarse en su primera visita, el sistema creará una Cuenta de Token y acuñará una unidad de Token como comprobante de registro. Después, los usuarios podrán iniciar sesión nuevamente utilizando la misma dirección de billetera.

Web3 Nuevo en la serie: Explorar el inicio de sesión con Token Solana

Resumen

Creamos un NFT a través de spl-token-cli y utilizamos la dirección de la billetera para verificar si hay una cuenta de token correspondiente y si se ha acuñado el token para determinar si el usuario está registrado.

Cuando un usuario de Web3 conecta su billetera, el backend crea automáticamente una cuenta de token y acuña una unidad de token como comprobante de registro. A partir de entonces, el usuario puede iniciar sesión en el sitio web utilizando la misma dirección de billetera.

Web3 Nuevos en la serie: Explorando el inicio de sesión con Solana Token</dirección_de_billetera></id_de_token></id_de_token>

SOL1.05%
TOKEN5.84%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 6
  • Compartir
Comentar
0/400
CryptoNomicsvip
· hace3h
*suspiro* otra implementación básica que ignora la dinámica de velocidad de token estocástica...
Ver originalesResponder0
GasFeeTearsvip
· hace8h
¿Realmente puede funcionar esto, sol?
Ver originalesResponder0
AirdropHarvestervip
· 07-30 05:25
Otra novedad, simplemente me encanta esto.
Ver originalesResponder0
NotGonnaMakeItvip
· 07-30 05:17
Esta ola de verificación de identidad de NFT está bastante fluida.
Ver originalesResponder0
AirdropCollectorvip
· 07-30 05:11
sol ha vuelto a hacer de las suyas, esta vez jugando con flores.
Ver originalesResponder0
ProxyCollectorvip
· 07-30 05:00
He estado investigando sobre spl durante mucho tiempo, los que entienden, entienden.
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)