No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripción 🔥

Aprende todo un fin de semana sin pagar una suscripción 🔥

Regístrate

Comienza en:

3D
19H
34M
53S

Programas

4/20
Recursos

El desarrollo de aplicaciones que interactuarán con la red de Solana tiene sus particularidades. Antes de empezar a codificar, veamos una serie de conceptos sobre el funcionamiento de Solana para estar más en contexto sobre sus características.

Contratos inteligentes en Solana

Los smart contract en Solana son también denominados “programs”. Cuando hablamos de programas, hacemos referencia a un contrato inteligente, ambas expresiones son sinónimos en la jerga de esta Blockchain.

Los programas son cuentas especiales que almacenan el código y la lógica del contrato. Son marcadas como “ejecutables” lo que los diferencia de otras cuentas que solo almacenan información. Son de solo lectura, no pueden volver a escribirse.

Solana separa la lógica de los datos, los contratos son stateless, o sea, no almacenan el estado del programa. Utilizan otras cuentas como inputs para operar y pueden crear otras cuentas como outputs para almacenar la información que crean. También es posible la reutilización de cuentas entre varios programas. Un programa puede interactuar con N cantidad de cuentas, sin límite.

La unidad más pequeña en Solana se la conoce como “instruction”. Un programa es un conjunto de instrucciones, cada una de ellas puede leer o escribir una cuenta, representar otro tipo de datos que el programa necesita, implementar determinada lógica, etc. El programa interpreta cada instrucción, pudiendo retornar un resultado satisfactorio o un código de error.

Lenguajes de programación en Solana

Rust es el lenguaje de programación por excelencia de Solana. Gran parte del ecosistema y su documentación está escrito en Rust. Es posible utilizar otros lenguajes como C/C++, aunque es altamente recomendado utilizar Rust, dado que gran parte del mercado busca especialistas en este lenguaje.

El core de Solana es compatible con cualquier lenguaje que compile en Berkeley Packet Filter (BPF). Si bien, hoy en día, el runtime de Solana puede usar Rust y C/C++, podría ampliarse la variedad de lenguajes con el correr de los años.

Ambientes en Solana

Cuando desarrollamos software, necesitamos múltiple ambientes para desarrollar y probar nuestra app antes de lanzarla a producción. Solana ofrece una variedad de ambientes, también denominados clusters, cada uno con un propósito específico.

  • mainnet-beta: Más allá de llamarse “-beta”, se trata de la red principal de Solana.
  • testnet: Red muy similar a la mainnet, ideal para pruebas reales antes de lanzar un proyecto.
  • devnet: Red de desarrollo, ideal para aprender y jugar.
  • localhost: Es posible hacer pruebas locales y levantar un nodo de Solana en el propio computador donde desarrollamos.

A excepción de la mainnet de Solana, los demás ambientes son gratuitos. Podemos interactuar con ellos con el token SOL de prueba, sin un valor económico real y obtener este token ficticio haciendo uso de un faucet de Solana.

Conclusión

Conocer el funcionamiento de Solana y la jerga del ecosistema te permitirá estar más en contexto al momento de poner manos a la obra y comenzar a escribir tu primer programa.

Algunas características son totalmente diferente al de otras Blockchains, por lo que, si vienes de Ethereum, algunos conceptos sonarán extraños y deberás re-aprender sobre cómo trabaja Solana por dentro y en qué se diferencia realmente de sus Blockchains competidoras.


Contribución creada por: Kevin Fiorentino (Platzi Contributor).

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Solana actualmente permite desarrollar contratos inteligentes tanto en Rust como en C/C++.
Para poder desarrollar programas en otros lenguajes, este tiene que ser compatible con Berkeley Packet Filter (BPF) y LLVM que en síntesis entiendo que es la capacidad del lenguaje de ser compilado de una determinada manera y el analizar el tráfico de la red.

Un programa de Solana es lo que se conoce como un contrato inteligente “Smart Contract”, según lo dice esta guía. https://paulx.dev/blog/2021/01/14/programming-on-solana-an-introduction/