Saltar al contenido principal
Version: 4.x

Por qué Rust para Smart Contracts?

ink! no busca crear su nuevo lenguaje de programaciœ, sino que busca adaptarse a un subconjunto de rust para poder cumplir su propósito. Si esto no es suficiente para convencerte, aquí van otras buenas razones:

  • Rust es un lenguaje ideal para smart contracts: Es type safe, memory safe, y libre de comportamientos indefinidos. Genera pequeños binarios porque no incluye un extra bloat, como garbage collector, y optimizaciones avanzadas y un árbol que elimina el código muerto. A través de indicadores del compilador, Rust puede proteger automáticamente contra el overflow de enteros.
  • Ecosistema de Rust: Obtiene de todo el soporte disponible para el ecosistema de Rust de forma gratuita. A medida que se desarrolla el lenguaje, ink! obtendrá automáticamente acceso a nuevas características y funcionalidades, mejorando la forma en que se podran escribir smart contracts en el futuro.
  • Herramientas: Dado que ink! sigue los estándares de Rust, herramientas como rustfmt, clippy y rust-analyzer funcionen directamente. Lo mismo sucede con sismtemas de resaltado de sintáxis o formateo de código en los editores de texto moderno. Además, Rust tiene test y benchmark incorporados directamente en el runner.
  • No overhead: Runtime mínimo.
  • Seguro & Eficiente: Cero costo y abstraciones seguros.
  • Productivo: Cargo + Ecosistema de crates.io.
  • 1st class Wasm: Rust provee soporte primario para WebAssembly.
  • Tamaño compacto: El tamaño es importante en los blockchains donde existen restriciones de espacio. El compilador de Rust es ideal en este sentido, dado que reordena los campos de struct para poder hacer cada tipo lo más compacto posible. Es por eso que las estructuras de datos en Rust son muy compactas, hasta más compactas que en C en ciertos casos.