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 鈥減rograms鈥. 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 鈥渆jecutables鈥 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 鈥渋nstruction鈥. 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 鈥淪mart Contract鈥, seg煤n lo dice esta gu铆a. https://paulx.dev/blog/2021/01/14/programming-on-solana-an-introduction/