Comienza a construir en NEAR Protocol

Introducción a los Smart Contracts

NEAR_ES
5 min readApr 12, 2024

Ulises Marin

Los Smart Contracts son una parte fundamental del ecosistema de NEAR Protocol, proporcionando la capacidad de ejecutar código de forma segura y confiable en la blockchain. En esta guía introductoria, exploraremos qué son los Smart Contracts, cómo funcionan en NEAR Protocol y cómo puedes comenzar a construir y desplegar tus propios contratos inteligentes.

¿Qué es un Smart Contract?

Imagina acuerdos digitales autoejecutables, codificados en la inmutable red de NEAR Protocol. Esa es la esencia de los Smart Contracts: programas informáticos que se ejecutan automáticamente cuando se cumplen ciertas condiciones predefinidas. Aportan seguridad, transparencia y eficiencia a las interacciones en el mundo descentralizado.

Los Smart Contract que residen en una cuenta de NEAR tienen la capacidad de almacenar datos, realizar transacciones en nombre de la cuenta y exponer métodos para que otras cuentas puedan interactuar con ellos. Estos contratos inteligentes son la columna vertebral de muchas aplicaciones descentralizadas (dApps) en NEAR Protocol.

¿Cómo funcionan los Smart Contracts en NEAR Protocol?

Despliegue: Los Smart Contracts se escriben en el lenguaje de programación Rust, conocido por su robustez y rendimiento. O en JavaScript uno de los lenguajes más populares en el desarrollo web. Luego, se compilan y se almacenan permanentemente en la blockchain de NEAR Protocol.

Interacción: Los usuarios interactúan con tus contratos inteligentes a través de transacciones enviadas a la red NEAR. Estas transacciones pueden desencadenar diversas acciones, como transferencias de fondos, creación de activos digitales o participación en juegos descentralizados.

Ejecución: Si se cumplen las condiciones establecidas en el código, el contrato inteligente se ejecuta automáticamente. La lógica predefinida se procesa de forma segura y confiable, garantizando un resultado justo y transparente.

Registro: El resultado de la ejecución se registra inmutablemente en la cadena de bloques, proporcionando un registro inalterable de las acciones realizadas.

Características de los Smart Contracts en NEAR Protocol

Es importante entender algunas características clave de los Smart Contracts en NEAR Protocol:

  1. Recursos computacionales limitados: Los contratos inteligentes en NEAR tienen recursos computacionales limitados, lo que significa que deben ser eficientes en el uso de estos recursos para funcionar de manera óptima.
  2. Interacción asincrónica con otros contratos: Los contratos pueden interactuar entre sí de manera asincrónica, lo que permite una variedad de casos de uso complejos y sofisticados.
  3. Manejo de dinero real: Los contratos en NEAR Protocol pueden manejar dinero real, por lo que se debe hacer énfasis en la seguridad, en el diseño y la implementación de estos contratos.

Restricciones y Limitaciones de los Smart Contracts

Es importante tener en cuenta algunas restricciones y limitaciones de los Smart Contracts en NEAR Protocol:

  • No pueden realizar solicitudes HTTP: Los contratos inteligentes no pueden realizar solicitudes HTTP, lo que significa que no pueden acceder a datos externos fuera de la red NEAR.
  • Costo de almacenamiento: El almacenamiento de datos en la blockchain tiene un costo asociado. Por ejemplo, almacenar 100kb de datos cuesta 1Ⓝ, lo que significa que los desarrolladores deben ser conscientes de cómo gestionan y almacenan los datos en sus contratos.

Flujo de Desarrollo de un Smart Contract en NEAR Protocol

El proceso de desarrollo de Smart Contracts en NEAR Protocol sigue un flujo de trabajo bien definido:

  1. Scaffold: Comienza por crear un nuevo proyecto, ya sea desde cero o utilizando una plantilla preexistente.
  2. Build: Escribe el contrato inteligente utilizando Rust o JavaScript, según tus preferencias y requisitos del proyecto.
  3. Test: Utiliza el entorno de Sandbox de NEAR para simular interacciones con el contrato en un entorno de prueba realista
  4. Deploy: Una vez que el contrato está completo y probado, puedes desplegarlo en tu cuenta de NEAR para que otros puedan interactuar con él.
  5. Use: Los usuarios pueden interactuar con el contrato a través de sus billeteras NEAR, lo que les permite aprovechar las funcionalidades que ofrece.
  6. Monitor: Supervisa la actividad del contrato a través de APIs simples para garantizar su correcto funcionamiento y seguridad.

Lenguajes de programación Soportados por la blockchain

Durante todo el ciclo de desarrollo, los desarrolladores tienen la opción de elegir entre JavaScript y Rust, lo que les permite utilizar su lenguaje favorito en cada etapa de su viaje de desarrollo.

Hoy te presentamos ejemplos sencillos de Smart Contracts usando ambos lenguajes.

Ejemplo de un contrato simple en Rust:

// Declaramos un contrato simple que almacena un número entero
#[near_bindgen]
pub struct SimpleStorage {
value: i32,
}

impl SimpleStorage {
// Método para establecer el valor almacenado
pub fn set(&mut self, value: i32) {
self.value = value;
}

// Método para obtener el valor almacenado
pub fn get(&self) -> i32 {
self.value
}
}

Herramientas para comenzar en Rust:

  • NEAR CLI-RS: para desplegar e interactuar con el contrato.
  • cargo-near: para crear fácilmente cuentas testnet.
  • Rust, para crear contratos Rust.
  • Node.js(Opcional), para instalar las herramientas.

Ejemplo de un contrato simple en JavaScript:

// Definimos un contrato simple que almacena un número entero
class SimpleStorage {
constructor() {
this.value = 0;
}

// Método para establecer el valor almacenado
set(value) {
this.value = value;
}

// Método para obtener el valor almacenado
get() {
return this.value;
}
}

Herramientas para comenzar en JavaScript:

  • Node.js: para utilizar la herramienta de scaffolding.
  • NEAR CLI: para desplegar e interactuar con el contrato.

Los Smart Contracts son la columna vertebral del ecosistema de NEAR Protocol, brindando seguridad, transparencia y eficiencia a las interacciones en la blockchain. Desde su despliegue hasta su ejecución y registro inmutable, estos programas informáticos ofrecen un marco sólido para la construcción de aplicaciones descentralizadas.

Como desarrolladores y programadores, es crucial comprender las características y limitaciones de los Smart Contracts en NEAR Protocol. Desde sus recursos computacionales limitados hasta su capacidad para manejar dinero real, cada aspecto debe ser considerado cuidadosamente durante el proceso de desarrollo.

Nuestra serie educativa sobre NEAR Protocol para desarrolladores proporciona una guía detallada sobre cómo comenzar a construir y desplegar Smart Contracts. Con un flujo de desarrollo bien definido, opciones de lenguaje de programación flexibles y una variedad de contratos primitivos disponibles, NEAR Protocol ofrece un entorno ideal para la innovación en la blockchain.

Te invitamos a seguir atentos a nuestra serie educativa para explorar más a fondo las posibilidades que ofrece NEAR Protocol en el desarrollo de aplicaciones descentralizadas.

Sigue las cuentas de Near Es en Español

X (Twitter) oficial de NEAR_ES

Canal YouTube: NEAR_ES

NEAR Social: NEAR_ES

Telegram oficial de NEAR_ES

--

--

NEAR_ES

Espacio informativo y educativo sobre NEAR Protocol, Aurora, web3 y blockchain en Español para toda la comunidad