Skip to content

WayLearnLatam/Solana-Hackathon-Template-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Solana Hackathon con WayLearn

Banner

Solana es una blockchain de capa 1, es decir, cuenta con su propia infraestructura y no depende de otras blockchains para funcionar. Se encuentra orientada al alto rendimiento, y fue creada para soportar aplicaciones descentralizadas a gran escala con costos mínimos y confirmaciones casi inmediatas. Su diseño prioriza la eficiencia en la ejecución y la paralelización de transacciones.

Rust es el lenguaje principal para desarrollar programas en Solana. A través de él se implementa la lógica on-chain utilizando el modelo de cuentas y programas de la red, permitiendo construir contratos inteligentes seguros, eficientes y altamente optimizables.

Para facilitar el desarrollo en Rust sobre Solana existe Anchor, un framework que simplifica enormemente la creación de programas on-chain. Anchor proporciona:

  • Un sistema de validación automática de cuentas mediante macros.
  • Manejo simplificado de serialización y deserialización de datos.
  • Gestión de PDAs (Program Derived Addresses) de forma declarativa.
  • Generación automática de IDL (Interface Definition Language) para facilitar la interacción desde el frontend.
  • Un entorno de testing más sencillo y estructurado.

Anchor, nos permite enfocarnos en la lógica del programa en lugar de manejar manualmente detalles de bajo nivel como validaciones repetitivas, manejo de bytes o verificación de firmas. Esto mejora la seguridad, reduce errores comunes y acelera el proceso de desarrollo.

Entornos de desarollo

Hemos preparado el siguiente repositorio para que comiences a trabajar lo antes posible en tu proyecto si la necesidad de instalar nada de forma local!. Para ello, te porporcionamos las siguientes alternativas:

  • Uso de Codespaces
  • Uso de Solana Playground

Codespaces (Github)

Puedes comenzar dándole Fork a este repositorio (abajo te explicamos cómo 👇)

fork

  • Puedes renombrar el repositorio a lo que sea que se ajuste con tu proyecto.

  • Asegúrate de clonar este repositorio a tu cuenta usando el botón Fork.

  • Presiona el botón <> Code y luego haz click en la sección Codespaces

    codespaces

Por último, presiona Create codespace on master. Esto abrirá el proyecto en una interfaz gráfica de Visual Studio Code e instalará todas las herramientas necesarias para empezar a programar (es muy importante esperar a que este proceso termine):

instalacion

El proceso de instalación finaliza cuando la terminal se reinicia y queda de la siguiente manera:

fin

El setup.sh instala lo siguiente:

  • rust
  • dependencias para Solana
  • Solana-cli
  • Anchor-cli
  • spl-token
  • surfpool
  • node y nvm

Finalmente, crea una carpeta llamada template_codespaces donde realiza el build de anchor, configura el RPC de devnet y crea una wallet.

⚠️ Al terminar el proceso de preparación del entorno es necesario ejecutar el siguiente comando:

export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"

Puedes ver la direccion de la wallet con el comando solana address

El build del proyecto se hace con anchor build mientras que el despliegue con anchor deploy

⚠️ Antes de hacer el deploy asegurate que en el archivo anchor.toml en la seccion provider sea: cluster = "devnet"

Solana Playground

Solana Playground es un entorno de desarrollo online que permite escribir, compilar, desplegar y probar programas de Solana directamente desde el navegador, sin necesidad de instalar herramientas locales como Rust, Solana CLI o Anchor.

Playground

Para abrir el Playground solo es necesario dar clic 👉 Aquí

Configuración del entorno

Primero conectaremos el entorno con la devnet, lo que tambien procederá a la creación de una wallet. Para eso daremos clic en donde dice Not Conected:

playground1

Saldrá la siguiente ventana donde daremos en el botón Continue:

wallet

Como resultado se mostrará la siguiente información:

status

  • En verde: el estado de la conexión y el entorno al que se encuentra conectado

  • En amarillo: la la dirección de la wallet conectada

  • En azul: la cantidad de tokens en la wallet

Carga del template en playground

El primer paso es entrar a la carpeta proyecto :

permalink

Dentro de la carpeta es necesario obtener el url:

alt text

El cual uniremos con el siguiente enlace en nuestro navegador de preferencia:

https://beta.solpg.io/

Lo que nos dará algo parecido a:

url

Al pulsar enter seremos enviados al Solana Playground con nuestro proyecto abierto:

pg

Para guardarlo solo damos clic en el boton import y asignamos un nombre:

import

¿Como actualizo mi repositorio?

Una vez que realices cambios o termines tu proyecto, es necesario que copies todo el código, ya con el código en el portapapeles nos dirigimos nuevamente a la carpeta proyecto de tu repositorio de github donde se obtuvo el permalink, donde entraremos al carpeta src y al archivo lib.rs:

edit

En lib.rs presionaremos el ícono en forma de lapiz (esquina superior derecha de la imagen 👆)

Nuevamente seleccionamos todo el código pero ahora presionamos ctrl + v para pegar el código del Playground. Ya realizados los cambios presionamos el botón Commit changes:

commit

Nos aparecerá un menú de confirmación donde nuevamente presionamos el botón Commit changes:

commit2

About

Template y entorno de codespaces creado para facilitar el desarrollo del proyecto

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors