Ejemplos de programas
El repositorio Solana Program Examples en GitHub ofrece varias subcarpetas, cada una con ejemplos de código para ayudar a los desarrolladores a aprender y experimentar con el desarrollo en la blockchain de Solana.
Puedes encontrar los ejemplos en el solana-developers/program-examples
junto
con archivos README que te explican cómo ejecutar los diferentes ejemplos. La
mayoría de los ejemplos son independientes y están disponibles en Rust nativo
(es decir, sin framework) y
Anchor.
Dentro del repositorio encontrarás las siguientes subcarpetas, cada una con varios programas de ejemplo:
Conceptos básicos
Contiene una serie de ejemplos que demuestran los pasos fundamentales para construir programas en Solana utilizando bibliotecas nativas de Rust. Estos ejemplos están diseñados para ayudar a los desarrolladores a comprender los conceptos básicos de la programación en Solana.
Nombre del ejemplo | Descripción | Lenguaje |
---|---|---|
Account Data | Guardar una dirección con nombre, número de casa, calle y ciudad en una cuenta. | Nativo, Anchor |
Checking Accounts | Lecciones de seguridad que muestran cómo realizar verificaciones de cuentas | Nativo, Anchor |
Close Account | Te muestra cómo cerrar cuentas para recuperar su rent. | Nativo, Anchor |
Counter | Un programa contador simple en todas las diferentes arquitecturas. | Nativo, Anchor, mpl-stack |
Create Account | Cómo crear una cuenta del sistema dentro de un programa. | Nativo, Anchor |
Cross Program Invocation | Usando una analogía de mano y palanca, muestra cómo llamar a otro programa desde un programa. | Nativo, Anchor |
hello solana | Ejemplo de hola mundo que simplemente imprime hola mundo en los registros de transacciones. | Nativo, Anchor |
Pda Rent payer | Muestra cómo puedes usar los lamports de un PDA para pagar una nueva cuenta. | Nativo, Anchor |
Processing Instructions | Muestra cómo manejar datos de instrucción de tipo string y u32. | Nativo, Anchor |
Program Derived Addresses | Muestra cómo usar seeds para referirse a un PDA y guardar datos en él. | Nativo, Anchor |
Realloc | Muestra cómo aumentar y disminuir el tamaño de una cuenta existente. | Nativo, Anchor |
Rent | Aquí aprenderás cómo calcular los requisitos de rent dentro de un programa. | Nativo, Anchor |
Repository Layout | Recomendaciones sobre cómo estructurar el diseño de tu programa. | Nativo, Anchor |
Transfer SOL | Diferentes métodos para transferir SOL para cuentas del sistema y PDAs. | Nativo, Anchor, Seahorse |
Tokens
La mayoría de los tokens en Solana utilizan el estándar de token de la Biblioteca de Programas de Solana (SPL). Aquí encontrarás muchos ejemplos sobre cómo acuñar, transferir, quemar tokens e incluso cómo interactuar con ellos en programas.
Nombre del ejemplo | Descripción | Lenguaje |
---|---|---|
Create Token | Cómo crear un token y añadirle metadatos de Metaplex. | Anchor, Native |
NFT Minter | Acuñar solo una cantidad de un token y luego eliminar la autoridad de acuñación. | Anchor, Native |
PDA Mint Authority | Muestra cómo cambiar la autoridad de acuñación de un mint para acuñar tokens desde un programa. | Anchor, Native |
SPL Token Minter | Explica cómo usar Associated Token Accounts para poder realizar seguimiento de token accounts. | Anchor, Native |
Token Swap | Ejemplo extenso que muestra cómo construir un pool AMM (creador de mercado automatizado) para tokens SPL. | Anchor |
Transfer Tokens | Muestra cómo transferir tokens SPL usando CPIs en el programa de tokens. | Anchor, Native |
Token-2022 | Ver Token 2022 (Token Extensions). | Anchor, Native |
Token 2022 (Token Extensions)
Token 2022 es un nuevo estándar para tokens en Solana. Es más flexible y te permite añadir 16 extensiones diferentes a un token mint para agregarle más funcionalidad. Puedes encontrar una lista completa de las extensiones en la Guía de inicio
Nombre del ejemplo | Descripción | Lenguaje |
---|---|---|
Basics | Cómo crear un token, acuñarlo y transferirlo. | Anchor |
Default account state | Esta extensión te permite crear token accounts con un estado determinado, por ejemplo congelado. | Anchor, Native |
Mint Close Authority | Con el antiguo programa de tokens no era posible cerrar un mint. Ahora sí lo es. | Anchor, Native |
Multiple Extensions | Muestra cómo puedes añadir múltiples extensiones a un solo mint | Native |
NFT Metadata pointer | Es posible usar la extensión de metadatos para crear NFTs y añadir metadatos dinámicos en la cadena. | Anchor |
Not Transferable | Útil por ejemplo para logros, programas de referidos o cualquier token vinculado al alma (soul bound). | Anchor, Native |
Transfer fee | Cada transferencia de tokens retiene algunos tokens en el token account que luego pueden ser recolectados. | Anchor, Native |
Transfer Hook | Cuatro ejemplos para añadir funcionalidad adicional a tu token usando un CPI desde el programa de tokens a tu programa. | Anchor |
Is this page helpful?