El repositorio de ejemplos de programas de Solana 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 autocontenidos 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:
También hay ejemplos de programas del ecosistema
Conceptos básicos
Contiene una serie de ejemplos que demuestran los pasos fundamentales para construir programas de Solana utilizando bibliotecas nativas de Rust. Estos ejemplos están diseñados para ayudar a los desarrolladores a comprender los conceptos principales 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. | Native, Anchor |
| Checking Accounts | Lecciones de seguridad que muestran cómo realizar verificaciones de cuentas. | Native, Anchor |
| Close Account | Te muestra cómo cerrar cuentas para recuperar su rent. | Native, Anchor |
| Counter | Un programa contador simple en todas las diferentes arquitecturas. | Native, Anchor, mpl-stack |
| Create Account | Cómo crear una cuenta del sistema dentro de un programa. | Native, Anchor |
| Cross Program Invocation | Usando una analogía de mano y palanca, esto te muestra cómo llamar a otro programa desde dentro de un programa. | Native, Anchor |
| hello solana | Ejemplo de hola mundo que simplemente imprime hola mundo en los registros de transacciones. | Native, Anchor |
| Pda Rent payer | Te muestra cómo puedes usar los lamport de un PDA para pagar una nueva cuenta. | Native, Anchor |
| Processing Instructions | Te muestra cómo manejar instruction data de tipo string y u32. | Native, Anchor |
| Program Derived Addresses | Muestra cómo usar semillas para referirse a un PDA y guardar datos en él. | Native, Anchor |
| Realloc | Te muestra cómo aumentar y disminuir el tamaño de una cuenta existente. | Native, Anchor |
| Rent | Aquí aprenderás a calcular los requisitos de rent dentro de un programa. | Native, Anchor |
| Repository Layout | Recomendaciones sobre cómo estructurar el diseño de tu programa. | Native, Anchor |
| Transfer SOL | Diferentes métodos para transferir SOL en cuentas del sistema y PDAs. | Native, Anchor, Seahorse |
Tokens
La mayoría de los tokens en Solana utilizan el estándar de tokens de la Solana Program Library (SPL). Aquí encontrarás muchos ejemplos sobre cómo acuñar, transferir y 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ña una única unidad de un token y luego elimina 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 dentro de un programa. | Anchor, Native |
| SPL Token Minter | Explica cómo usar Associated Token Accounts para poder hacer seguimiento de token accounts. | Anchor, Native |
| Token Swap | Ejemplo exhaustivo 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 hacia el token program. | Anchor, Native |
| Token-2022 | Ver Token 2022 (Token extensions). | Anchor, Native |
Token Extensions (Token 2022)
Token 2022 es un nuevo estándar para tokens en Solana. Es más flexible y te permite añadir hasta 16 extensiones diferentes a un mint de token para dotarlo de mayor funcionalidad. Puedes encontrar una lista completa de las extensiones en la Guía de introducción
| 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, congeladas. | Anchor, Native |
| Mint Close Authority | Con el antiguo token program 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 único mint. | Native |
| NFT Metadata pointer | Es posible usar la extensión de metadatos para crear NFTs y añadir metadatos dinámicos en cadena. | Anchor |
| Not Transferable | Útil, por ejemplo, para logros, programas de referidos o tokens vinculados al alma (soul bound tokens). | Anchor, Native |
| Transfer fee | Cada transferencia de tokens retiene una parte de los tokens en el token account, los cuales pueden ser recolectados posteriormente. | Anchor, Native |
| Transfer Hook | Cuatro ejemplos para añadir funcionalidad adicional a tu token mediante un CPI desde el token program hacia tu programa. | Anchor |
Ejemplos de programas Solana del ecosistema
Terceros suelen mantener sus propias bibliotecas de ejemplos de programas Solana. Estas son mantenidas por los proveedores y no por la Fundación Solana.
- Ejemplos de programas Solana de Quicknode proporciona programas adicionales, especialmente para software financiero, tanto para versiones más recientes de Anchor como para el framework Quasar.
Is this page helpful?