No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Flujo de trabajo de desarrollo en Solana

14/15
Recursos

El desarrollo de un dApp (Aplicaci贸n Descentralizada) en Solana, o en cualquier Blockchain, sigue una arquitectura definida para desarrollar cualquier programa a lo igual que el desarrollo de aplicaciones tradicionales.

Desarrollo de aplicaciones descentralizadas

Comprendamos y diferenciemos c贸mo se desarrollan aplicaciones Web2 como en Web3, tanto su stack tecnol贸gico y arquitectura.

Desarrollo de software Web2

Si tomamos como punto de comparaci贸n al desarrollo de software Web2, normalmente tenemos un front-end (Angular, React, Vue, Svelte) que consume una o m谩s API de un backend (NodeJS, Java, Python, PHP, etc.) a trav茅s del protocolo HTTP.

El backend, a su vez, consume una base de datos (MySQL, PostgreSQL, MongoDB) u otros servicios que la aplicaci贸n necesite. Estas aplicaciones puede estar alojado en servidores como los de AWS, Azure, Google Cloud, Heroku, entre otros.

Desarrollo de software Web3

Haciendo la comparaci贸n con el stack de desarrollo de software convencional, veremos que no hay grandes cambios en el front-end, las tecnolog铆as son las mismas. Con la salvedad de que aparece una nueva herramienta para el usuario como son las wallets como Metamask o Phantom.

El protocolo es el primer factor que cambia, ya que dejamos de utilizar HTTP para utilizar JSON RPC para comunicarnos con el backend.

Tanto las tecnolog铆as backend como las bases de datos son las que cambian por completo, dado que la l贸gica de la aplicaci贸n y el almacenamiento de los datos se realiza en contratos inteligentes desarrollados en Solidity, Vyper, Rust o C/C++, dependiendo la Blokchain.

Con respecto a los servidores, tambi茅n dejamos de utilizar las soluciones cloud, debido a que los contratos inteligentes se despliegan en los nodos de las propias Blockchains de forma descentralizada.

Solana vs. Ethereum

Cada Blockchain tiene sus particularidades para el desarrollo de software Web3. Dependiendo la misma, utilizaremos uno u otro Cliente JSON RPC. Las wallets tambi茅n cambian, ya que no todas permiten conectarnos a las redes correspondientes a cada Blockchain.

En el caso de Solana, cuando desarrollamos un contrato inteligente, el lenguaje que utilizamos debe ser compatible con BPF (Berkeley Packet Filter). En pocas palabras, es la capacidad de un lenguaje de ser compilado para ser interpretado correctamente por el runtime de Solana. Por este motivo, Solana actualmente permite desarrollar contratos en Rust, C/C++. Si deseamos usar otro, este tiene que ser compatible con BPF.

Otra Blockchain como la de Ethereum requieren que sus lenguajes de programaci贸n sean compatibles con la Ethereum Virtual Machine (EVM) como Solidity o Vyper.

Bitcoin, por otro lado, es una Blockchain que no permite el desarrollo de contratos inteligentes y posee un lenguaje Turing incompleto denominado Bitcoin Script. Sin embargo, existen actualmente implementaciones layer two de para Bitcoin que permiten el desarrollo de contratos inteligentes en Solidity como RSK.

Conclusi贸n

Ser un desarrollador Web2 sin duda te prepara para ser un desarrollador Web3. Aunque, con el correr de los a帽os, existir谩n profesionales del desarrollo de software que dieron sus primeros pasos en Web3 sin necesidad de utilizar y conocer el ecosistema Web2.

La tecnolog铆a contin煤a evolucionando y las tecnolog铆as o el stack que utilizamos para el desarrollo de software tambi茅n se encuentra en constante evoluci贸n.

Depende de cada uno y de nuestros intereses como profesionales en la programaci贸n, adaptarnos a las nuevas tecnolog铆as, tener la curiosidad por nunca parar de aprender y subirse a la ola en el desarrollo con este set de nuevas herramientas.


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

Aportes 8

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

No sale el link en los recursos aunque mencionas que si :c

Cuando un programa es desplegado en el Runtime este programa se encarga de verificar si este Bytecode esta bien adem谩s de verificar si es una cuenta ejecutable, para que cuando un cliente lo va a llamar este BFP sea cargado y ejecutado

Cuando vamos a desarrollar en Solana lo podemos ver como una arquitectura Cliente servidor donde el servidor es la red de Solana y el cliente son cada uno de los que ya hemos hablado.

Cuando yo despliego un programa que esta desarrollado en Rust c o C++ el cual tiene que ser compatible con BPF lo puede hacer por medio de la l铆nea de comandos o por medio de cualquier cliente esto se hace por medio de las transacciones y estas transacciones tienen instrucciones las cuales son b谩sicamente Query que se hacen a la red de Solana, de esta manera es que podemos interactuar con la red de Solana.

Y cual es el curso que no hay recurso.
Me salio hasta en verso.lol

y cual es la trilogia! a caray! ya me tienen hipeado

Mas perdido que la mama del chavo jajajaja

El t茅rmino que aparece en las diapositivas BPF (Berkeley Packet Filter) entiendo que es, en pocas palabras, la capacidad de un lenguaje de ser compilado de una determinada manera para ser interpretado correctamente por el runtime de Solana.
Solana actualmente solo permite desarrollar contratos en Rust, C/C++. Si deseamos utilizar otro, este tiene que ser compatible con BPF.

RESUMEN CLASE 14:
FLUJO DE TRABAJO
DE DESARROLLO EN SOLANA

Cu谩ndo estar谩 disponible el curso que nombraste? porque en recursos a煤n no figura