Artículo de Blog

La Guía Esencial para el Desarrollo en Rust

Autor

Julian Martinez

Fecha de publicación

Soroban

Rust

Imagina un lenguaje de programación que te brinde la velocidad de C, la robustez de Python y la concurrencia de Go. ¡Eso es Rust para ti!

Rust es un sueño para los desarrolladores, equilibrando velocidad, seguridad y concurrencia sin comprometer el rendimiento. Es un lenguaje dinámico, ofreciéndote el poder y la precisión de los lenguajes de bajo nivel junto con la facilidad y abstracción de los de alto nivel.

¿Alguna vez te has preguntado cómo es programar en Rust? Ya seas un desarrollador experimentado o apenas estés comenzando, este artículo es tu guía hacia el mundo del desarrollo en Rust.

¿Qué necesitas para configurar tu entorno local para el desarrollo en Rust?


Si te gustaría sumergirte en la programación en Rust sin configurar un entorno local, Rust Playground es una excelente herramienta en línea. Puedes escribir, compilar y ejecutar código Rust directamente desde tu navegador. Échale un vistazo aquí: Rust Playground.

Ahora, si estás listo para configurar Rust en tu máquina local, vamos directo al proceso de instalación. Rustup, la interfaz de línea de comandos para gestionar versiones y herramientas de Rust, es la herramienta recomendada para este propósito. Para instalar Rust, sigue estos pasos:
Abre tu terminal o línea de comandos.

Ejecuta el siguiente comando para descargar el script rustup-init:

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

Este comando iniciará el proceso de instalación de Rust.

El script te presentará algunas opciones. Presiona '1' y pulsa Enter para proceder con la instalación por defecto, que incluye la versión estable de Rust.

Sigue las instrucciones en pantalla para completar la instalación. El proceso involucrará la descarga y configuración de los componentes necesarios.

Una vez completada la instalación, puedes verificar la instalación de Rust abriendo una nueva ventana de terminal y ejecutando el siguiente comando:

rustc --version

Este comando mostrará la versión instalada de Rust, confirmando que la instalación fue exitosa.

Después de instalar Rust, el siguiente paso es elegir un editor. Aquí tienes una breve comparación de algunas opciones populares: Visual Studio Code, IntelliJ IDEA y Sublime Text:

¿Por qué los desarrolladores usan Rust para el desarrollo de contratos inteligentes?

Las impresionantes características de seguridad de memoria de Rust sin un recolector de basura lo convierten en una opción sólida para el desarrollo de contratos inteligentes. Su estricto compilador impone disciplina, minimizando los errores comunes durante el desarrollo. Además, el soporte de Rust para sistemas de tipos avanzados permite controles más precisos en tiempo de compilación, lo que lleva a contratos inteligentes más seguros.

¿Cómo se compara Rust con Solidity?

Cuando se trata de desarrollo en blockchain, la elección de un lenguaje de programación puede hacer o deshacer tu proyecto. Por eso es hora de poner el foco en Rust y ver cómo se mide contra Solidity, un lenguaje predilecto para muchos desarrolladores de blockchain.

Rust es como una máquina bien engrasada, ostentando una trifecta de velocidad, seguridad y robustez difícil de igualar. No se trata solo de cubrir lo básico, Rust va más allá con sus ventajas únicas.

Veamos por qué Rust es una gran elección para el desarrollo de contratos inteligentes.

¿Qué tan seguro es Rust?

Dado que Rust utiliza un sistema de propiedad, no requiere recolección de basura, lo que reduce en gran medida la sobrecarga de memoria y el comportamiento no determinista. Rust también previene la desreferenciación de punteros nulos y las carreras de datos, haciendo el código mucho más seguro. Estas características son invaluables en el desarrollo de contratos inteligentes, ya que reducen drásticamente la probabilidad de encontrar un error fatal o vulnerabilidad que podría ser explotada por actores maliciosos.

¿Rust tiene un mejor rendimiento que otros lenguajes?

Cuando se trata de velocidad, Rust no te defraudará. Los contratos inteligentes construidos con Rust se compilan rápidamente y tienen una sobrecarga de tiempo de ejecución mínima, aprovechando al máximo tus recursos computacionales. Construir con Rust asegura un proceso rápido desde la compilación hasta la ejecución, reduciendo tiempos de espera y mejorando la experiencia del usuario. Además, la eficiencia del lenguaje, junto con una blockchain diseñada para un alto TPS, puede llevar a tarifas de gas más bajas - una ventaja significativa en un entorno a menudo criticado por los altos costos de transacción.

¿Cuáles son las ventajas del entorno de ejecución de Rust?

Rust cuenta con una herramienta integral que es mayormente autónoma. Un aspecto crucial de la herramienta de Rust cuando se aplica a Soroban es su uso del tipo `Env`, que proporciona acceso al entorno en el que opera el contrato. ‘Env’ presenta información valiosa sobre el contrato que se está ejecutando, su invocador, datos del contrato, información del ledger e incluso incluye funciones para firmar, hashear y más.

Con Rust, puedes desarrollar y probar código usando la terminal o herramientas como el CLI de Soroban. Gracias a Cargo, el gestor de paquetes de Rust, tienes herramientas integradas como cargo test para ejecutar pruebas y cargo clippy para la formatación de código. Este conjunto de herramientas directamente en tu terminal simplifica el proceso de pruebas y depuración, permitiéndote enfocarte en lo que realmente importa - construir funcionalidades impresionantes.

Para los desarrolladores que migran de Ethereum Virtual Machine (EVM), hay una guía detallada comparando Rust y Solidity. Esto ofrece una visión de las similitudes y diferencias de los dos poderosos lenguajes de programación, permitiendo a los desarrolladores hacer una transición suave al entorno centrado en Rust de la plataforma Soroban de Stellar.

Recursos para aprender Rust

Para empezar con Rust, puedes sumergirte en el tesoro de recursos revisados por expertos que harán tu viaje de aprendizaje más productivo.

  1. El Libro de Programación en Rust: Recomendado por desarrolladores de Stellar Development Foundation (SDF), este libro es a menudo considerado la guía definitiva para Rust. Escrito por Steve Klabnik y Carol Nichols, quienes forman parte del equipo central de Rust, este libro ofrece una inmersión profunda en el lenguaje. El estilo narrativo fácil de seguir introduce conceptos clave y su aplicación en la solución de problemas reales. Es perfecto para aquellos que prefieren un aprendizaje estructurado y un enfoque paso a paso.

  2. El Recetario de Rust: Este es un excelente recurso que contiene recetas prácticas para resolver una variedad de problemas con Rust. Cubriendo una gama de temas como argumentos de línea de comandos, E/S de archivos y programación de red, proporciona ejemplos prácticos y soluciones para tareas de programación típicas. El Recetario de Rust es una guía indispensable para ayudarte a traducir la teoría en acción.

  3. Rust Por Ejemplo: Como sugiere el nombre, este recurso enseña programación en Rust a través de una serie de ejemplos ejecutables. Es un tutorial práctico que ofrece una mirada orientada a tareas a Rust, enfocándose en fragmentos de código que muestran las características más importantes del lenguaje. Es un excelente compañero para aquellos que prefieren aprender haciendo.

  4. El Curso de Rust de freeCodeCamp.org: Este es un curso en línea completo que proporciona una sólida introducción a Rust. Cubriendo una gama de temas desde los fundamentos del lenguaje hasta su aplicación en escenarios del mundo real, el curso ofrece lecciones interactivas y proyectos. El soporte de la comunidad y las ricas discusiones en foros pueden ser especialmente beneficiosos para aquellos que aprenden mejor a través de entornos colaborativos y tareas prácticas. También tiene un video para guiar a los usuarios a través del curso: Curso de Programación en Rust para Principiantes - Tutorial

Recursos ofrecidos por Stellar

Construye un contrato inteligente en Soroban

Soroban es una plataforma de contratos inteligentes que pone tu programación en Rust en el centro del escenario. Diseñada con un intenso enfoque en escalabilidad e interfaces amigables para el usuario, esta plataforma trae a la mesa un surtido de herramientas y características que están diseñadas para elevar tu incipiente viaje de escritura y prueba de contratos inteligentes impulsados por Rust.

¿Qué hace este viaje aún más emocionante? Soroban actualmente está en la etapa de lanzamiento previo. Esto significa que tus percepciones y comentarios como desarrollador de Rust de cualquier nivel no solo son bienvenidos, son altamente valorados. Tienes la oportunidad de ser parte de dar forma a Soroban en una plataforma que está verdaderamente sintonizada con las necesidades y potenciales de Rust. Imagina ser parte de la creación de un mundo completamente nuevo de contratos inteligentes centrados en Rust. Emocionante, ¿verdad? Para echar un vistazo a esta innovadora plataforma y comenzar a crear tus propios contratos inteligentes llenos de poder, asegúrate de consultar la documentación oficial Documentos de Soroban.

Guía del desarrollador para los programas del Fondo de Adopción de Soroban

Para los recién llegados a Rust ansiosos por navegar en el paisaje de Soroban, hay un tesoro de recursos diseñados para potenciar tu viaje de aprendizaje. Fondo de Adopción de Soroban, con su compromiso de 100MM$, ofrece programas que atienden a las diversas necesidades de los desarrolladores. La Serie en Vivo de Stellar Quest 6 proporciona una plataforma atractiva para la competencia en tiempo real en desafíos de codificación gamificados. Sorobanathon: Equinox, que se realizó hasta el 1 de abril de 2023, sirvió como una iniciativa innovadora que inspiró a los desarrolladores a experimentar con Soroban y compartir sus experiencias creativas. Y el Stellar Community Fund (SCF) es un programa de premios de aplicación abierta para aquellos listos para contribuir de manera más significativa construyendo productos o servicios completos en la red de Stellar. Estos programas ofrecen variadas oportunidades para perfeccionar tus habilidades en Rust, profundizar tu comprensión de Soroban y participar activamente en una comunidad en crecimiento.

FCA00C

Rápido, Barato y Fuera de Control (FCA00C) es un juego de desarrollo de contratos inteligentes donde los desarrolladores tienen la oportunidad de probar y refinar sus habilidades en Rust y Soroban en situaciones del mundo real. Al participar en misiones al estilo arcade, los desarrolladores pueden demostrar su experiencia en codificación y aritmética en una variedad de categorías incluyendo velocidad, eficiencia de recursos y tamaño del contrato.

Además, la participación activa puede llevar a premios en forma de USDC, y como un símbolo de tus logros, insignias NFT conmemorativas.

Pero FCA00C es más que solo una plataforma para el mejoramiento de habilidades. Es una comunidad dinámica donde los desarrolladores pueden ganar experiencia práctica y fomentar conexiones dentro del ecosistema de Stellar. Es un mundo listo para darte la bienvenida a las emocionantes posibilidades de Rust y Soroban. ¿Listo para dar el salto? Únete a nosotros en FCA00C.

Próximos pasos recomendados

Documentación técnica y herramientas para desarrolladores

SDF ofrece un rico surtido de recursos internos para apoyar a los desarrolladores en su viaje con Rust y Soroban. Estos materiales van desde presentaciones detalladas hasta eBooks completos, todos dirigidos a proporcionar una comprensión matizada de Rust y sus diversas aplicaciones. Con estos recursos, los conceptos abstractos se vuelven accesibles, permitiendo a los desarrolladores crear código seguro, eficiente y robusto.

El Soroban Rust SDK es una joya particular entre estos recursos. Este kit integral facilita a los desarrolladores escribir programas para la plataforma de contratos inteligentes de Soroban. No solo proporciona abundantes ejemplos y documentación, sino que también incorpora varios módulos críticos que permiten a los desarrolladores manejar tareas como funciones criptográficas, registro de eventos de depuración y gestión de almacenamiento. Su diversidad de structs y traits, desde Address y Bytes hasta FromVal e IntoVal, equipa a los desarrolladores con las herramientas necesarias para navegar y manipular el entorno de Soroban de manera efectiva.

Para un aprendizaje práctico, los desarrolladores pueden sumergirse en la codificación con los ejemplos ilustrativos del SDK. Un ejemplo de ello muestra cómo crear un simple 'HelloWorldContract' utilizando el crate soroban_sdk, revelando la practicidad del código de Soroban en un escenario del mundo real. Más ejemplos se pueden encontrar en la sección de Tutoriales de la Documentación de Soroban.

Como parte de la documentación de Soroban, la sección de Fundamentos y Conceptos ofrece una visión profunda del uso del lenguaje Rust en la escritura de contratos. Esto incluye detalles clave como la instalación del toolchain de Rust, configuración del editor y limitaciones del dialecto de Rust en entornos de ejecución. La guía cubre preguntas frecuentes, autorización, tipos integrados, ciclo de vida del contrato, tipos personalizados y depuración. Además, explora conceptos del entorno, errores, eventos, tarifas, medición, contratos completamente tipados, interacciones de contratos y la transición desde EVM, ofreciendo una comprensión completa de Soroban en Stellar.

En resumen, Stellar Development Foundation se esfuerza por equipar a su comunidad de desarrolladores con el conocimiento y las herramientas para sobresalir. Sus recursos, incluyendo el Soroban Rust SDK y materiales de aprendizaje adicionales, sirven para agilizar el proceso de comprensión y aplicación de Rust en varios escenarios, especialmente dentro del marco de Soroban.

Conclusión

Aprender Rust puede elevar tus habilidades y ponerte a la vanguardia del desarrollo en blockchain. Con Rust, trabajas con uno de los lenguajes más seguros y eficientes que existen. El conocimiento de Rust y su aplicación a Soroban puede abrir puertas a diversas oportunidades, incluyendo proyectos bajo el Fondo de Adopción de Soroban o participando en eventos como el Sorobanathon.

Tu próximo paso es aplicar tu conocimiento de Rust a Soroban, comenzando con los recursos disponibles en la Tutoriales y en FCA00C y avanzando hacia una comprensión más profunda del protocolo de Soroban. El viaje puede ser desafiante, pero las recompensas - en habilidades, experiencia y oportunidades - son inmensas.