Nemesis 2D es una prueba de concepto que pretende permitir que las personas reconozcan las funcionalidades de NEM y una forma de crear un entorno similar a Token no fungible.
NEMESIS 2D es una cuadrícula dividida en muchas celdas.
Las personas pueden tomar posesión de estas celdas y mostrar una imagen o un texto en ellas, de manera descentralizada.
Aquí están los recursos disponibles, tenga en cuenta que es una etapa muy temprana:
Aquí hay un tutorial de cómo está funcionando. Utilice la cartera oficial (Nano Wallet) para mostrar el proceso, pero la idea es lograr todos estos pasos programáticamente.
1) Creación de Cuadrículas. Se define una cuadrícula arbitraria. En este PoC, elegí una cuadrícula de 111 líneas y 6 columnas, con el siguiente formato: L001C2 (Línea 1, Columna 2).
2) Creación del editor. Para cada celda de la cuadrícula, se crea una cuenta NEM. Cada cuenta está obligada a “poseer” una celda. Los acuña los editores.
3) Creación de cuentas clave. Se crearon tres cuentas “clave”, las llamé Dios, Registro y Metadatos.
4) Creación de registro. Para cada celda de la cuadrícula, “Dios” envía un mensaje a “Registro” que vincula las celdas de la cuadrícula con las cuentas creadas en el punto 2). Elegí el siguiente formato: <dirección>: <coordinadas>.
Ahora tenemos un editor inmutable => Registro de coordenadas!
5) Establecimiento de editores. Una vez “mapeado”, cada editor puede estar preparado para ser transferido. Usaremos funciones NIS multisig para hacer eso. Primero, debemos proveer a cada Editor con XEM para que puedan pagar los aranceles de transacción necesarios para lograr los próximos pasos. Elegí transferir cada uno de ellos 1.15XEM.
6) Primera conversión del editor. Cada editor se convierte en una cuenta multisig 1–1 propiedad de Dios. 1–1 significa 1 firma entre 1 cosignatario necesario para validar cualquier transacción de la cuenta multisig. Dios es ahora el propietario de todas las cuentas vinculadas a las células. Tenga en cuenta que una vez que una cuenta se convierte en una cuenta multisig, su clave privada se vuelve inútil.
7) Transferencias de editor a usuarios de terceros. Ahora podemos transferir cuentas a los usuarios, usando exactamente el mismo mecanismo. El paso 6 podría técnicamente omitirse de acuerdo con el caso de uso y / o el sistema de distribución de propiedades. Aquí elegí la opción para crear todo el entorno, antes de iniciar la transmisión de los editores a usuarios externos. Esta operación se llama una edición de un contrato de firma múltiple. Consiste en eliminar a Dios como cosignatario y reemplazarlo por un usuario tercero. ¡Tenga en cuenta que para ser asignado como cosignatario, una cuenta debe haber realizado al menos una transacción!
8) Dios suicida. Una vez que la propiedad de todas las cuentas ha sido transferida de Dios, es posible convertir a Dios mismo como una cuenta multisig 1–1 propiedad de la dirección de Nemesis. Al hacer eso, Dios se vuelve probablemente inutilizable ya que nadie puede controlarlo. Entonces el editor => Registro de coordenadas se convierte en inmutable!
9) Publicar datos en una celda. El objetivo inicial es tener el propietario de un publicador para poder agregar cosas al cuadrado. En este PoC, elegí permitir a los usuarios la posibilidad de agregar una imagen y texto que puede contener hipervínculos. Para actualizar el contenido de una celda, el propietario puede enviar una transacción multisig con un mensaje en un formato definido. Aquí está el formato PoC: T: <text> [<texto seleccionable>] (<URL>) <text>; I: <URL a imagen>. Texto sin procesar del siguiente ejemplo: T: Hola Némesis! [¡Consulta el repositorio aquí!] (Https://bit.ly/2EuIOiM); I: https: //bit.ly/2A3umun
10) Rindiendo eso a una página web. Una vez que esté satisfecho con el código, escribiré un artículo detallado sobre el tema. A grandes rasgos, solo se necesitan 3 pasos:
10) A> Iniciar la cuadrícula rellenando una matriz con todas las coordenadas
10) B> Obtenga todas las transacciones entrantes del Registro y cree el Editor => Asignación de coordenadas
10) C> Recupera todas las transacciones entrantes de metadatos comenzando por la más reciente, manteniendo solo la transacción más reciente de cada editor.
10) D> Compruebe que todos los mensajes de los editores a los metadatos son compatibles. Aquí pongo limitaciones en el tamaño de la imagen. ¡Transforme el texto en bruto a HTML y luego represente la cuadrícula!
¡Eso es! Ponte en contacto conmigo si quieres tener una celda en Nemesis 2D!
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.
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.
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:
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:
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:
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:
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: