Explorar el uso del Token Solana como comprobante de registro de usuarios
NFT (token no fungible) como un token "no fungible" es muy adecuado para ser utilizado como herramienta de autenticación de identidad. Este artículo explorará la viabilidad de utilizar NFT como comprobante de registro a través de un ejemplo sencillo.
Introducción a las herramientas
Token SPL
Solana ofrece una implementación de programa de tokens genérico, que es parte de la Biblioteca de Programas de Solana (SPL). SPL incluye múltiples implementaciones de programas comunes como Token, Swap, Memo, y proporciona bibliotecas de cliente completas y herramientas CLI, lo que facilita enormemente a los desarrolladores de Solana.
Solana Playground
Solpy proporciona un entorno en línea para escribir y desplegar contratos de Solana, que incluye por defecto algunas herramientas comunes, como SPL Token. Podemos crear y gestionar Tokens fácilmente a través de spl-token-cli.
Crear Token de Autenticación
Crearemos un Token NFT. Si el usuario acuña el Token, se considerará que esta dirección de billetera ya está registrada en el sistema, de lo contrario, se le pedirá al usuario que se registre primero.
Crear Token
Usar spl-token para crear un nuevo Token indivisible:
spl-token crear-token --decimales 0
La dirección Mint en la salida es el ID del Token creado.
Crear Cuenta de Token
Crear una cuenta de Token para el Token creado en el paso anterior:
spl-token crear-cuenta <token_id>
Mint Token
Intenta acuñar una unidad de Token para la cuenta de Token:
spl-token mint <token_id> 1
También puedes intentar mintear a una dirección de billetera específica:
spl-token mint <token_id> 1 <wallet_address>
Nota: Mintear directamente a la dirección de la billetera fallará, primero necesita crear una cuenta de token para la dirección de la billetera.
para crear una cuenta de token en la dirección de la billetera
Utilice el siguiente comando para crear una cuenta de token para la dirección de billetera especificada:
Consulta si la dirección de la billetera ha acuñado el NFT que creamos a través del método getTokenAccountsByOwner de la interfaz RPC.
Implementar un sistema de inicio de sesión
Crea un proyecto utilizando Nextjs y utiliza Ant Design Web3 para implementar la función de conexión de billetera.
Las páginas principales incluyen:
Inicio: Mensaje de bienvenida y enlace a la página de inicio de sesión
Página de inicio de sesión (sign-in): Conectar billetera y verificar si el usuario ya está Registrado
Página de registro (sign-on): permite a los usuarios realizar el proceso de registro (mint NFT)
Proceso de inicio de sesión:
El usuario hace clic en "Continuar con Solana" para abrir la billetera
La verificación del backend comprueba si la dirección de la billetera tiene una Cuenta de Token asociada.
Si no está registrado, indique al usuario que vaya a la página de registro.
Proceso de Registrarse:
El usuario hace clic en "Start with Solana", conecta su billetera
El backend crea una Cuenta de Token para la dirección de la billetera del usuario y acuña el Token
Registrarse con éxito, el usuario puede usar la misma dirección de billetera para iniciar sesión en el sitio web
A través de Solscan se pueden ver los datos de transacciones relevantes, incluyendo la instrucción CreateAccount y la operación Mint.
Resumen
Creamos un NFT utilizando spl-token-cli y determinamos si el usuario está registrado verificando si la dirección de la cartera tiene una Cuenta de Token y ha acuñado Tokens. Cuando el usuario conecta su cartera, el sistema creará automáticamente una Cuenta de Token y acuñará una unidad de Token como comprobante de registro. Después de esto, el usuario puede iniciar sesión en el sitio web utilizando la misma dirección de cartera.
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.
Solana NFT: explorar el registro de usuarios y la identificación basada en Token
Explorar el uso del Token Solana como comprobante de registro de usuarios
NFT (token no fungible) como un token "no fungible" es muy adecuado para ser utilizado como herramienta de autenticación de identidad. Este artículo explorará la viabilidad de utilizar NFT como comprobante de registro a través de un ejemplo sencillo.
Introducción a las herramientas
Token SPL
Solana ofrece una implementación de programa de tokens genérico, que es parte de la Biblioteca de Programas de Solana (SPL). SPL incluye múltiples implementaciones de programas comunes como Token, Swap, Memo, y proporciona bibliotecas de cliente completas y herramientas CLI, lo que facilita enormemente a los desarrolladores de Solana.
Solana Playground
Solpy proporciona un entorno en línea para escribir y desplegar contratos de Solana, que incluye por defecto algunas herramientas comunes, como SPL Token. Podemos crear y gestionar Tokens fácilmente a través de spl-token-cli.
Crear Token de Autenticación
Crearemos un Token NFT. Si el usuario acuña el Token, se considerará que esta dirección de billetera ya está registrada en el sistema, de lo contrario, se le pedirá al usuario que se registre primero.
Crear Token
Usar spl-token para crear un nuevo Token indivisible:
spl-token crear-token --decimales 0
La dirección Mint en la salida es el ID del Token creado.
Crear Cuenta de Token
Crear una cuenta de Token para el Token creado en el paso anterior:
spl-token crear-cuenta <token_id>
Mint Token
Intenta acuñar una unidad de Token para la cuenta de Token:
spl-token mint <token_id> 1
También puedes intentar mintear a una dirección de billetera específica:
spl-token mint <token_id> 1 <wallet_address>
Nota: Mintear directamente a la dirección de la billetera fallará, primero necesita crear una cuenta de token para la dirección de la billetera.
para crear una cuenta de token en la dirección de la billetera
Utilice el siguiente comando para crear una cuenta de token para la dirección de billetera especificada:
spl-token create-account <token_id> --owner <wallet_address>
Obtener Cuenta de Token
Consulta si la dirección de la billetera ha acuñado el NFT que creamos a través del método getTokenAccountsByOwner de la interfaz RPC.
Implementar un sistema de inicio de sesión
Crea un proyecto utilizando Nextjs y utiliza Ant Design Web3 para implementar la función de conexión de billetera.
Las páginas principales incluyen:
Proceso de inicio de sesión:
Proceso de Registrarse:
A través de Solscan se pueden ver los datos de transacciones relevantes, incluyendo la instrucción CreateAccount y la operación Mint.
Resumen
Creamos un NFT utilizando spl-token-cli y determinamos si el usuario está registrado verificando si la dirección de la cartera tiene una Cuenta de Token y ha acuñado Tokens. Cuando el usuario conecta su cartera, el sistema creará automáticamente una Cuenta de Token y acuñará una unidad de Token como comprobante de registro. Después de esto, el usuario puede iniciar sesión en el sitio web utilizando la misma dirección de cartera.