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:
- 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.
- 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 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:
Lenguaje | SDK |
---|---|
RUST | solana_sdk |
Typescript | @solana/web3.js |
Python | solders |
Java | solanaj or solana4j |
C++ | solcpp |
Go | solana-go |
Kotlin | solanaKT or sol4k |
Dart | solana |
C# | solnet |
GdScript | godot |
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
You'll then need to have the Solana CLI installed to compile and deploy your programs. You can install the Solana CLI by running the following command:
sh -c "$(curl -sSfL https://release.anza.xyz/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. You can read more about local development in this guide.
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:
- solana-program-test - Marco de trabajo para testing en Rust
- solana-bankrun - Marco de trabajo para escribir tests en Typescript
- bankrun - Marco de trabajo para escribir tests en Python
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. You can get started with Solana Playground by following our quick start guide.
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: The quality assurance network where you deploy your programs to test before deploying to production. 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.