¿Cómo utilizar la Blockchain NEM2?

En este artículo, veremos algunos ejemplos simples de uso para los paquetes de código abierto de NEM2 blockchain. La mayoría de los paquetes que vamos a utilizar todavía están en desarrollo activo y el comportamiento podría cambiar con el tiempo.

Además, usaremos el nodo API en: api.beta.catapult.mijin.io:3000, que puede cambiar la versión actual de NEM2 implementada haciendo que algunas de las funciones aquí enumeradas sean incompatibles. Esto es para mantener este artículo lo suficientemente simple y para utilizar el último software NEM2 revisado.

Definiendo nuestro conjunto de herramientas

Como se definió en la guía de introducción en el sitio web de NEM en la guía para configurar su estación de trabajo, instalaremos el paquete nem2-cli.

Para tener una red NEM2 en funcionamiento, utilizaremos el nodo API api.beta.catapult.mijin.io:3000. Esto es todo lo que necesitamos para comenzar y trabajar con la cadena de bloques NEM2.

Ahora instalemos el paquete nem2-cli que nos permitirá interactuar con nuestros compañeros.

$ npm install -g nem2-cli

Comencemos con algunos comandos para crear una cuenta y terminemos con el monitoreo de transacciones en la cadena de bloques para la cuenta creada.

De forma predeterminada, nem2-cli siempre usará un perfil predeterminado, pero también puede nombrarlos si tiene varios para administrar. Por lo tanto, el siguiente es el comando para crear su primera dirección de billetera NEM2 que puede usar para interactuar con la última versión de NEM2 actualmente implementada.

$ nem2-cli account generate -n MIJIN_TEST –save -u http://api.beta.catapult.mijin.io:3000

Anote su nueva clave privada, clave pública y dirección.

El comando anterior guardará la cuenta en el perfil predeterminado en nem2-cli. En caso de que desee generar la cuenta e importarla en un perfil con nombre diferente, simplemente agregue el argumento –profile a los comandos nem2-cli.

Recomendamos encarecidamente utilizar perfiles con nombre para mantener una mejor

visión general de los compañeros conectados y las direcciones disponibles por red.

Interactuando con la NEM2

Como paso siguiente, ahora podemos leer la altura del bloque de nuestra cadena de bloques. El siguiente comando es toda la magia que se necesita:

$ nem2-cli blockchain height

Con el nem2-cli puede hacer prácticamente todo lo que necesite con la red NEM2. En la siguiente sección, veremos algunos ejemplos de esta herramienta en la práctica.

Solicitar fondos en la Catapult Beta.

NEM2 nos brinda una herramienta increíble para alimentar nuestros balances de mosaico con transacciones de extracción. Aquellos nos permiten solicitar una cierta cantidad de un mosaico determinado para nuestra cuenta. La solicitud se envía desde nuestra cuenta y el pagador debe firmar conjuntamente la transacción.

Como primer paso, solicitaremos fondos del faucet beta público en el sitio web de Catapult. Pase al sitio web de Catapult Beta y solicite fondos a su dirección recién creada. Espere hasta 15 segundos (siguiente bloque) y su cuenta debería haber sido financiada con 10000000 XEM. Esta cantidad está sujeta a cambios.

Ahora generemos una segunda dirección, volvemos a repetir el comando de generación de cuenta y anotamos la nueva clave y dirección privadas. Esta dirección será referida como la segunda cuenta.

El comando de generación de cuenta siempre le pide que establezca un nombre de perfil, le recomendamos que establezca nombres legibles para sus perfiles para asegurarse de mantenerlos organizados.

Por ejemplo, esta vez usted establecería como nombre second_account. De esta manera, cada vez que agregue –profile second_account a cualquier comando de nem2-cli, estará usando la segunda cuenta para la firma y las propiedades.

nem2-cli account generate -n MIJIN_TEST –save -u http://api.beta.catapult.mijin.io:3000

Puede verificar que la cuenta fue creada ejecutando la lista de perfiles de nem2-cli. Ahora debería tener dos perfiles en esa lista, siendo nuestro primer perfil (predeterminado) y el perfil second_account, como se muestra a continuación:

lista de perfiles para nuestro ejemplo

La siguiente sección le permitirá emitir una solicitud similar de fondos, pero manualmente, con su terminal utilizando nem2-cli y la segunda cuenta que creamos.

Solicitar fondos manualmente con una transacción de extracción

Ahora, lo que realmente hace esta acción en el sitio web es emitir una Transacción de extracción para solicitar fondos para nuestra segunda cuenta.

Con el conjunto de herramientas nem2-cli, la emisión de tal transacción de extracción se puede realizar con el siguiente comando:

$> nem2-cli transaction pullfunds –recipient SDUFICQAIHN2VYORJILRQ5YXAERLJF5HDTPJNXVR –message “please send me 5 XEM” –mosaic nem:xem::5000000 –profile second_account

Si ejecuta este comando, solicitará 5 XEM de la cuenta SDUFICQAIHN2VYORJILRQ5YXAERLJF5HDTPJNXVR. Deberías ver algo así como la salida:

Resultado para la transacción HashLock (primero) y la transacción anunciada Pull (segundo)

Note el segundo hash que puedes ver allí. Este es el hash de transacción que debe estar firmado conjuntamente antes de que la transacción de extracción sea efectiva. Para ello, utilizaremos el módulo de firma conjunta disponible en nem2-cli.

A continuación se muestra un ejemplo con los valores de la captura de pantalla anterior:

$ nem2-cli transaction cosign –hash B4A4495E138869871F38E5643D2A4935E4140FA3205065827419024EFCD664D8 –profile default

Esto emitirá una transacción de firma conjunta con nuestro perfil predeterminado para confirmar la solicitud de fondos. Puede usar el Explorador de bloques para ver sus transacciones cuando usa api.beta.catapult.mijin.io.

La transacción de extracción se está ejecutando y puede utilizar los fondos solicitados con su segunda cuenta. ¿No es esto una delicia? Ahora es posible solicitar cualquier mosaico desde cualquier cuenta y todas las cuentas involucradas deben firmar conjuntamente la transacción.

Las transacciones de fondos disponibles en NEM2 abrirán las puertas a casos de uso empresarial innovadores. Estamos muy emocionados de ser parte de la experiencia NEM y muy ansiosos por investigarlo, usarlo y analizarlo. Las solicitudes de fondos son solo un tipo de transacciones que son posibles con NEM2, lea con anticipación para obtener más información.

Enviar y recibir tokens

Ya hemos visto una forma de transferencia más complicada para financiar nuestras cuentas. Ahora iniciaremos transferencias simples y obtendremos información sobre los saldos de nuestras cuentas.

Crearemos una transacción de transferencia de nuestra primera cuenta a nuestra segunda cuenta. Esta transacción de transferencia enviará 1 XEM a nuestra segunda cuenta y adjuntará un mensaje con el contenido: Bienvenido a NEM2.

Con nem2-cli, este será solo un comando para ejecutar. Necesitamos establecer un destinatario, una cantidad y un mensaje para la transacción, como muestra el siguiente comando. Reemplace ADDRESS_SECOND_ACCOUNT con la dirección de su segunda cuenta recién creada.

$ nem2-cli transaction transfer –recipient ADDRESS_SECOND_ACCOUNT –message “Welcome to NEM2.” –mosaics nem:xem::1000000

Marca la cantidad de 1 000 ‘, que representa la cantidad que queremos enviar, expresada en la unidad más pequeña del mosaico XEM. Las cantidades de XEM tienen una divisibilidad de 6, lo que significa que debemos agregar seis ceros si queremos enviar 1 XEM.

En nuestro ejemplo anterior, solicitamos una transferencia de fondos por un monto de 5,000,000, el mismo principio se aplicó allí. Como solicitamos XEM, agregamos seis ceros para solicitar 5 XEM, y no solo 0.000005 XEM.

Ahora hemos enviado fondos a nuestra segunda cuenta. Es hora de monitorear esta segunda cuenta y obtener información sobre los saldos de las cuentas.

Monitor de cuentas NEM2

Ahora que hemos enviado nuestra primera transacción de transferencia a nuestra segunda cuenta, es hora de monitorear la cuenta y verificar las transacciones entrantes.

Una vez más, nem2-cli es perfecto para esta tarea. El siguiente comando se puede usar para monitorear transacciones de dicha cuenta en la red NEM2:

$ nem2-cli monitor confirmed –address ADDRESS_SECOND_ACCOUNT

Una vez confirmada la transacción, se actualizará el estado de nuestra cuenta. Esto significa que tendremos un mayor saldo de XEM para nuestra segunda cuenta.

Permítanos verificarlo con la API NEM2, ejecute el siguiente comando para ver la información de su cuenta:

$ nem2-cli account info –address ADDRESS_SECOND_ACCOUNT

Deberías obtener algo como la siguiente ilustración:

Ejemplo de un resultado de Información de cuenta con un saldo nem: xem.

Hay más que el comando de información para descubrir en el módulo de cuenta nem2-cli. Los siguientes son comandos válidos que puede ejecutar para ver información sobre el estado de su cuenta:

$ nem2-cli account info –address ADDRESS
$ nem2-cli account transactions –publickey PUBLIC_KEY
$ nem2-cli account incoming –publickey PUBLIC_KEY
$ nem2-cli account outgoing –publickey PUBLIC_KEY
$ nem2-cli account aggregatebonded –publickey PUBLIC_KEY
$ nem2-cli account unconfirmed –publickey PUBLIC_KEY

Si no anotó su clave pública, siempre puede volver al comando de lista de perfiles de nem2-cli, que le dará una visión general de todas las claves almacenadas.

Con estos comandos, puede monitorear el estado de una cuenta muy fácilmente. Eche un vistazo a los paquetes de código fuente nem2-cli y nem2-sdk para obtener más detalles sobre las NEM2 APIs.

¿Qué más debes saber sobre NEM2?

  • NEM2 es un sistema avanzado de blockchain para el cual la arquitectura y el código fuente se han iniciado desde cero y vienen con las últimas innovaciones del campo blockchain.
    Las capacidades avanzadas para la cadena de bloques NEM2 incluyen pero no se limitan a:

  • Swaps atómicos de tokens.
  • Cuentas multi-firma multinivel
  • Sistema de activos inteligentes
  • Transacciones agregadas


Antes de que se complique demasiado, investiguemos cada una de estas innovaciones y definamos cómo se pueden usar o integrar en su lógica empresarial.

Swaps atómicos de tokens.

Las cadenas de bloques y las criptomonedas no solo han abierto las puertas a una transferencia de valor más rápida. Con plataformas de blockchain como NEM2, ahora es posible ejecutar contratos manteniendo el valor, de manera distribuida. Y más allá, esos contratos pueden ser atómicos.

No estamos hablando de átomos, sino de la atomicidad de las transacciones. De una investigación rápida sobre qué transacciones atómicas deben ser, podemos encontrar:

“Una transacción atómica es una serie indivisible e irreductible de operaciones de base de datos, de manera que ocurren todas o no ocurre nada.”

Reemplace las operaciones de la base de datos con transacciones de cuenta en esa cotización. Los intercambios de tokens atómicos realizan múltiples transacciones con la condición de que todos ejecuten o ninguno.

Esto es muy útil en muchos casos, por ejemplo, en el caso de la transferencia de valor entre dos redes de blockchain diferentes (intercambio de token). ¡Los llamados intercambios de tokens de cadenas cruzadas son posibles con la tecnología NEM2 actual y le informaremos cómo implementarlos en los próximos artículos!

Otro ejemplo útil, fuera del dominio de la criptomoneda, sería utilizar una cadena de bloques para facilitar y administrar el acceso a una oficina automatizada con muchas compañías hermanas. Se utilizaría una cadena de bloques privada para administrar datos confidenciales en forma privada, pero las compañías hermanas compartirían un libro mayor común distribuido como su base de datos de acceso.

Es probable que algunos de esos casos de uso requieran la emisión de múltiples criptomonedas para representar diferentes componentes de su lógica de negocios. Hoy podemos ver que la digitalización tiene que ocurrir en muchos frentes.

En nuestro caso de uso de oficina automatizado, los intercambios atómicos serán la capa de comunicación entre dispositivos interconectados (IoT) para intercambiar valor y ejecutar contratos digitalizados manteniendo el valor en diferentes plataformas.

Multi-firma y Multi-nivel

Las transacciones de firma múltiple en NEM2 combinan simplicidad y potencia. Puede definir una jerarquía completa de cofirmante para sus cuentas de firma múltiple.

Como ejemplo de una cuenta de múltiples firmas multinivel, podemos definir un Árbol de decisiones distribuido en una compañía de software para una próxima versión. Cada una de las cuentas involucradas son cuentas NEM2 como creamos anteriormente. Tomemos el siguiente esquema como ejemplo:

Cada departamento tiene su propia cuenta de firma múltiple, para la cual los empleados son co-firmantes.

En este caso, la configuración de múltiples firmas es sencilla. La cuenta de firma múltiple en la parte superior de la jerarquía es una cuenta de 3 de 3 firma múltiple, lo que significa que los tres, el Equipo de mercadotecnia, el Equipo de finanzas y el Equipo de desarrolladores, deben confirmar la liberación con su respectivo número mínimo de co. firmas

Por ejemplo, si dos personas del equipo del Desarrollador definen el lanzamiento como inseguro, no firmarían conjuntamente la transacción del anuncio del lanzamiento. Esto impediría que el anuncio sucediera. Con tal estructura, muchas empresas digitalizadas pueden gestionarse de forma remota. Organizaciones, oficinas, empresas, casas, instalaciones, etc. – también.

Muchas cosas de nuestra vida cotidiana aún tienen que descubrir sus contrapartes digitales.

Sistema de Activos Inteligentes

¿Qué son exactamente los activos inteligentes? ¿Es esto solo un rumor de marketing creado alrededor de la palabra inteligente? Bueno, como verá, con NEM2, los activos son realmente inteligentes. Son configurables con propiedades como la mutabilidad de la oferta, la divisibilidad (o el número de decimales) y las tarifas dinámicas (llamada tarifa de impuesto).

NEM2 viene con un módulo mejorado de espacio de nombres y mosaicos. Los mosaicos en NEM son tokens personalizados creados en la red pública. En NEM2, también es posible emitir su propio mosaico. Con muchas otras características además de los registros de nombres, los espacios de nombres y los mosaicos son muy similares a trabajar con su propia cadena de bloques.

NEM2 le ofrece todos los puntos finales de API necesarios para administrar su token personalizado sin la molestia de redefinir toda su lógica empresarial.

Como ya era el caso con la versión anterior de NEM (NIS1), NEM2 viene con conjuntos de características distribuidos en poderosas transacciones agregadas que básicamente le permiten crear cualquier tipo de flujos de negocios, también con sus tokens personalizados, y hacerlos atómicos o cooperativos. propiedad

Transacciones Agregadas

  • Creamos una transacción Hash Lock con 10 XEM dentro. Esto es requerido por la red NEM2 para evitar el spamming.
  • Creamos una transacción consolidada agregada con 5 XEM dentro.
  • Una primera transacción interna que contiene un mensaje para solicitar fondos.
  • Una segunda transacción interna con los fondos que solicitamos.

La ventaja de las transacciones agregadas es que sus transacciones internas se ejecutan todas a la vez. Múltiples actores están involucrados y operan la transacción de bonos agregados, y cada uno de ellos recibe una notificación de sus acciones necesarias.

Una característica muy poderosa con transacciones agregadas sería el ejemplo de un intercambio de token de cadena cruzada como se muestra en las páginas de github de nemtech.

Para los primeros NEMber que crearon Mosaicos antes. Imagine crear su Mosaic y pagar las tarifas de XEM para sus accionistas para que no tengan que comprar XEM para trabajar con su Mosaic. En realidad es muy simple con transacciones agregadas en NEM2.

Conclusión


Es posible que el software NEM2 aún esté en desarrollo, pero permite la implementación de ideas innovadoras en torno a un protocolo de cadena de bloques que cumple con los estándares y que se está mejorando activamente.

La construcción con NEM2 se mantiene simple y se adapta muy bien a su lógica de negocios, sin requerir cambios en la lógica de negocios para la integración.

NEM2 viene con un código fuente cualitativo revisado por pares y una capa de arquitectura bien pensada que hace que el trabajo con NEM2 sea una delicia.

Eche un vistazo a los repositorios NEM2 disponibles en Github:

Fuente: evias.be