Empezando a desarrollar en Solana

¡Bienvenido a la documentación de Solana para desarrolladores!

Esta página tiene todo lo que necesitas para empezar a desarrollar en Solana, incluidos los requisitos básicos, cómo funciona el desarrollo en Solana y las herramientas necesarias.

Visión general #

El desarrollo en Solana se divide en dos partes:

  1. Desarrollo de programas en la cadena de bloques: Aquí es donde creas e implementas programas personalizados directamente en la cadena de bloques. Una vez desplegados, cualquiera que sepa comunicarse con ellos puede utilizarlos. Puedes escribir estos programas en Rust, C o C++. Actualmente Rust es el lenguaje con mayor soporte a la hora de desarrollar programas en la cadena de bloques.
  2. Desarrollo de clientes: Aquí es donde se escribe software (llamado aplicaciones descentralizadas, o dApps) que se comunica con programas en la cadena de bloques. Tus aplicaciones pueden enviar transacciones para realizar acciones en la cadena de bloques. El desarrollo del cliente puede escribirse en cualquier lenguaje de programación.

El "pegamento" entre el cliente y la cadena de bloques es la API de JSON RPC de Solana. El cliente envía solicitudes RPC a la red de Solana para interactuar con los programas en la cadena de bloques. Esto es muy similar al desarrollo normal entre un frontend y un backend. La principal diferencia al trabajar con Solana es que el backend es una blockchain global sin permisos. Esto significa que cualquiera puede interactuar con tus programas en la cadena de bloques, sin necesidad de emitir llaves API o cualquier otra forma de permiso.

Como funcionan los clientes en la cadena de bloques de SolanaComo funcionan los clientes en la cadena de bloques de Solana

El desarrollo en Solana es un poco diferente a otras cadenas de bloques debido a que los programas pueden componerse de otros programas. Esto significa que puedes desarrollar a partir de cualquier programa ya desplegado, y a menudo puedes hacerlo sin necesidad de un programa personalizado. Por ejemplo, si quisieras trabajar con tokens, podrías utilizar el programa de tokens que ya está desplegado en la red. El desarrollo de la aplicación se realiza del lado del cliente en tu lenguaje de preferencia.

Los desarrolladores iniciándose en Solana encuentran que el stack de desarrollo es muy similar a cualquier otro stack de desarrollo. La principal diferencia es que trabajas con una cadena de bloques y tienes que pensar en cómo los usuarios podrían interactuar con tu aplicación, no solo desde tu frontend. Desarrollando en Solana puedes encontrar CI/CD pipelines, pruebas, herramientas de depuración, un frontend y backend, y todo lo que encontrarías en un flujo de desarrollo normal.

Por donde empezar #

Para comenzar a desarrollar en Solana, necesitas diferentes herramientas en función de si estás desarrollando para el lado del cliente, programas en la cadena o ambos.

Desarrollo del lado del cliente #

Si estás desarrollando aplicaciones en la cadena de bloques, deberías conocer Rust.

Si desarrollas en el lado del cliente, puedes trabajar con cualquier lenguaje de programación con el que te sientas cómodo. Solana tiene SDKs de la comunidad para facilitar la interacción con la red en los lenguajes más populares:

LenguajeSDK
RUSTsolana_sdk
Typescript@solana/web3.js
Pythonsolders
Javasolanaj
C++solcpp
Gosolana-go
KotlinsolanaKT
Dartsolana

También necesitas conectarte a un RPC para interactuar con la red. Puedes trabajar con un proveedor o correr tu propio nodo RPC.

Podemos generar el esqueleto de una dApp personalizable en Solana y acelerar el proceso de crear una aplicación frontend usando el siguiente comando:

npx create-solana-dapp <project-name>

El comando crea un proyecto con todos los archivos necesarios y la configuración básica para empezar a construir en Solana. El esqueleto incluirá tanto un frontend de ejemplo como una plantilla de un programa en la cadena de bloques (si ha seleccionado uno). Puedes leer la documentación de create-solana-dapp para obtener más información.

Desarrollo de programas #

El desarrollo de programas en la cadena de bloques consiste en escribir programas en Rust, C o C++. Primero asegúrate de tener Rust instalado en tu máquina. Puedes hacerlo con el siguiente comando:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Necesitas tener la CLI de Solana instalada para compilar y desplegar tus programas. Puedes instalar la CLI de Solana ejecutando el siguiente comando:

sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

Se recomienda ejecutar un validador local para probar su programa cuando se utiliza la CLI de Solana. Para ejecutar un validador local después de instalar la CLI de Solana, ejecutas el siguiente comando:

solana-test-validator

Este comando inicia un validador local en tu máquina, que puedes utilizar para probar tus programas. Puedes leer más sobre desarrollo local en esta guía.

Al construir programas en la cadena de bloques, puedes elegir entre construir con Rust nativo (es decir, sin un marco de trabajo) o utilizar el marco de trabajo de Anchor. Anchor es un marco de trabajo que te facilita el desarrollo de programas en Solana, proporcionándote una API de alto nivel. Anchor es como utilizar React para aplicaciones web en lugar de Javascript y HTML plano. Mientras que Javascript y HTML te dan más control sobre el desarrollo, React acelera el proceso y hace que sea más fácil. Puede obtener más información sobre Anchor en su sitio web.

Necesitas una forma de probar tu programa. Hay varias formas de probar tus programas en función de tu preferencia de lenguaje:

Si no quieres desarrollar tus programas localmente, puedes usar el IDE en línea Solana Playground. Solana Playground te permite escribir, probar y desplegar programas en Solana. Puedes empezar a utilizar Solana Playground siguiendo nuestra guía.

Entorno de desarrollo #

Elegir el entorno adecuado en función de su trabajo es muy importante. En Solana, existen varios entornos de red diferentes (denominados clústeres) para facilitar las pruebas y las prácticas de CI/CD:

  • Mainnet Beta: La red de producción donde ocurre toda la acción. Las transacciones cuestan dinero real.
  • Devnet: La red de control de calidad donde despliegas tus programas para probarlos antes de desplegarlos en producción. Piensa en un "entorno de prueba".
  • Local: La red local que ejecutas en tu máquina usando solana-test-validator para probar tus programas. Esta debería ser su primera opción a la hora de desarrollar programas.

Desarrollo basado en ejemplos #

Mientras aprendes a desarrollar en Solana, hay recursos disponibles diseñados para acelerar el proceso:

  • Solana Cookbook: Una colección de referencias y fragmentos de código para ayudarte a construir en Solana.
  • Ejemplos de programas en Solana: Un repositorio de programas de ejemplo que proporciona las bases para desarrollar todo tipo de programas.
  • Guías: Tutoriales y guías para aprender a desarrollar en Solana.

Obteniendo soporte #

El mejor soporte lo puedes encontrar en Solana StackExchange. Busca allí tu pregunta: es muy probable que ya haya una pregunta formulada por otra persona, con una respuesta. Si no está ahí, ¡añade una nueva pregunta! Recuerda incluir tantos detalles como puedas en tu pregunta y, por favor, utiliza texto (no capturas de pantalla) para mostrar los mensajes de error, de modo que otras personas con el mismo problema puedan encontrar tu pregunta.

Siguientes pasos #

¡Ya estás listo para empezar a desarrollar en Solana!