Logotipo de Zephyrnet

¿Qué son los contratos inteligentes? Un enfoque práctico

Fecha:

Hay un par de jugadores clave en el espacio de blockchain que facilitan la creación de contratos inteligentes y aplicaciones descentralizadas. Exploraremos cómo crear un contrato inteligente usando Estudio CERCA.

Antes de escribir cualquier código real, debemos elegir dónde vamos a escribir el código. La mejor opción para los desarrolladores que buscan mojarse los pies con el desarrollo de contratos inteligentes es Near Studio IDE porque crea un entorno listo para usar desde el principio.

Tenga en cuenta que necesita saber un poco de JavaScript y posiblemente algo de TypeScript para acompañarlo. Si no es así, no se preocupe, ya que desglosaremos todo en términos simples y fáciles de entender.

Ahora, si se dirige a Near Studio, encontrará que puede crear un nuevo proyecto a partir de una lista de plantillas.

Seleccione el proyecto "contra contrato inteligente". La plantilla de contador crea una aplicación básica de TypeScript que incrementa, decrementa y obtiene una variable de contador.

Este ejemplo es perfecto ya que nos muestra cómo los contratos inteligentes no siempre son solo acuerdos. Mantienen nuestra lógica de back-end para usar con la cadena de bloques como base de datos.

Al seleccionar la plantilla se crea la aplicación, y ahora, si nos dirigimos a assembly/main.ts usando el explorador de archivos a la izquierda, podemos ver el código del contador para nuestro contrato inteligente.

Puede tomarse un par de minutos para explorar la funcionalidad de esta plantilla haciendo clic en el corrida en la barra de herramientas superior y navegando a la nueva ventana.

Luego, en la nueva ventana, puede probar los comandos abriendo la consola e ingresando los comandos que se muestran en la pantalla.

Ahora, echemos un vistazo a la assembly/main.ts archivo, línea por línea.

importar {contexto, almacenamiento, cerca} de “./cerca”;

La declaración de importación agrega todas las clases de biblioteca que necesitaremos para que funcione la funcionalidad de nuestra aplicación. Si queremos ver qué hacen las clases importadas, podemos navegar hasta el menú “near” y busque la clase correcta.

La primera función que deberíamos ver cuando abrimos main.ts es la función de incremento.

función de exportación incrementCounter(): void { let nuevoContador = almacenamiento.get < i32 > “contador” + 1; storage.set < i32 > (“contador”, nuevoContador); near.log(“El contador es ahora: “ + newCounter.toString());}

La función ejecuta tres pasos. Primero, obtenemos un valor entero con la clave “counter” y sumarle 1. Él counter La variable se ve así en el almacenamiento antes de la función de incremento:

{ contador: 0}

Una vez que incrementamos, el valor se ve así:

{ contador: 1}

La pregunta lógica ahora es: "¿Cómo decrementamos en 1?"

función de exportación decrementCounter(): void { let nuevoContador = almacenamiento.get < i32 > “contador” — 1; storage.set < i32 > (“contador”, nuevoContador); near.log(“El contador es ahora: “ + newCounter.toString());}

El primer paso es obtener el valor actual de "contador" y reducirlo en 1. Luego enviamos el nuevo valor al mismo counter variable en la cadena de bloques.

Esta es la forma counter cambios antes de que disminuyamos:

{ contador: 1}

Esta es la forma counter cambios después de que decrementamos:

{ contador: 0}

La última función toma el quid de las funciones anteriores, obtiene la variable de contador y devuelve ese valor.

función de exportación getCounter(): i32 { return almacenamiento.get < i32 > “contador”;}

La main.ts crea y exporta la funcionalidad que necesitamos, pero para que nuestros usuarios usen y vean nuestra función, necesitaremos importar esas funciones y enmarcar nuestra interfaz con nuestra nueva funcionalidad.

Fuente: https://medium.com/better-programm
ing/what-are-smart-contracts-a-hands-on-approach-9fc6e02abaa2?source=rss——-8—————–cryptocurrency

punto_img

Información más reciente

punto_img