Actualización del Desarrollo de IoTeX en el Primer Trimestre - ¡La Red Principal v1.2 Está a Punto de Llegar! (01-04-2021)

Durante el primer trimestre de 2021, vimos un exceso de anuncios de IoTeX, incluyendo nuevas investigaciones, asociaciones e iniciativas del ecosistema. Pero eso sólo es una muestra de lo que el equipo principal de IoTeX ha estado haciendo. Entre bastidores, hemos continuado con el desarrollo agresivo para mejorar el “corazón” de la red, iotex-core, el protocolo blockchain ejecutado por todos los delegados y nodos completos que da vida a toda la Red de IoTeX

Además de las mejoras masivas de rendimiento y seguridad, un nuevo lote de actualizaciones en el EVM, la base de datos de blockchain y la gestión de nodos se incluirá en nuestra esperada versión Mainnet v1.2, que llegará en abril de 2021. En este blog, adelantamos algunas de las increíbles características y herramientas en las que el equipo principal de IoTeX ha estado trabajando últimamente.

Mejora de la Máquina Virtual Ethereum (EVM)

IoTeX soporta actualmente contratos inteligentes basados en Solidity hasta la versión 0.5.13. La Mainnet v1.2 soportará la nueva versión v0.6.x de EVM, que permite una plétora de capacidades para los desarrolladores: “palabras clave” obligatorias para hacer el código más explícito/seguro, mejoras en la semántica y sintaxis del código, construcción try/catch para el manejo de excepciones, conversión explícita de dirección a dirección pagable con la instrucción payable(x), push() para matrices de almacenamiento dinámico, y mucho más. Los desarrolladores tendrán un conjunto aún mayor de herramientas para construir contratos inteligentes de próxima generación en IoTeX

Inclusión del Mensaje ‘Revert’ en los Recibos de Transacciones

Si eres un programador de Solidity o un usuario de contratos inteligentes, es probable que hayas experimentado un mensaje “Revertido”, indicando que la ejecución de su contrato falló por una razón no especificada. Estos errores suelen ser provocados intencionadamente por el desarrollador del contrato inteligente, por ejemplo, cuando las instrucciones “require” o “assert” detienen la ejecución del contrato después de que no se cumplan las condiciones codificadas:

¿No sería bueno saber por qué se revierten las ejecuciones de los contratos sin tener que sacar nuestras herramientas de depuración? Nosotros también lo creemos: en la Mainnet v1.2, será sencillo para los desarrolladores obtener los mensajes de error directamente del recibo de la transacción, o incluso verlos directamente en el Explorador de IoTeX

Mejoras en la Gestión de la Base de Datos de la Blockchain

La base de datos de nodo completo de iotex-core se está acercando a los 60 GB y se espera que crezca con el rápido aumento de la actividad de dispositivos + Dapp en la red. IoTeX se ha comprometido a hacer que nuestro código de blockchain sea lo más eficiente posible para que cualquiera pueda permitirse operar un nodo completo, o incluso un nodo Delegado productor de bloques, sin tener que gastar cantidades exorbitantes de capital en hardware y almacenamiento. Mainnet v1.2 ampliará nuestro compromiso con la participación abierta con una variedad de mejoras en la gestión de la base de datos del blockchain

Múltiples archivos de base de datos

Empezando este trimestre, el equipo central de IoTeX ha dedicado mucho tiempo y esfuerzo a racionalizar nuestra base de datos blockchain: con la Mainnet v1.2, iotex-core dividirá ahora la base de datos en múltiples archivos de base de datos, cada uno de los cuales contendrá 1.000.000 de bloques. A largo plazo, esta división evitará los cuellos de botella derivados de un único y enorme archivo de base de datos y abre la posibilidad de una sincronización incremental más rápida con la red, en la que un nodo puede descargar selectivamente los archivos de base de datos más recientes.

Reducción del Tamaño de los Archivos de la Base de Datos

Junto con las actualizaciones de la arquitectura de almacenamiento con múltiples archivos de base de datos, hemos revisado el propio archivo de base de datos utilizando un enfoque mejorado de almacenamiento en bloque con una compresión mucho mejor. Esto supondrá una mejora estimada de ~30% de ahorro en el espacio de almacenamiento. Sincronización más rápida + almacenamiento optimizado = ¡una experiencia increíble para los operadores de nodos!

Mejora de la Velocidad de Consulta de la Blockchain

También hemos estado trabajando en un esquema mejorado de indexación de transacciones en la base de datos. Como resultado, las consultas específicas a la API, como la extracción de todas las transacciones de una dirección dentro de un determinado rango de bloques, obtendrán ahora una respuesta mucho más rápida

Gestión de Nodos y Actualización de Registros

Cuando algo malo sucede en el software, los registros pueden salvarlo. Pero explorar los registros de un nodo de blockchain (especialmente para una red rápida como IoTeX, con un bloque finalizado instantáneamente cada 5 segundos) puede ser complicado y llevar mucho tiempo. Extraer los datos que necesitas para entender los problemas puede ser incluso imposible simplemente por el tamaño de los registros. La Mainnet v1.2 soluciona esto

El Formato de los Registros de los Nodos será Compatible con ELK

Haremos la vida de los operadores de nodos más fácil que nunca a través de mejoras en los formatos de registro, específicamente haciéndolos compatibles con el stack ELK. Esto le permitirá extraer los registros de su nodo con el agente “Beats” instalado en su nodo, y enviarlo a los populares servidores Elasticsearch + Kibana para analizar estos registros, así como crear visualizaciones para la monitorización de nodos, resolución de problemas, análisis de seguridad, y mucho más. Lo mejor de todo es que ELK es completamente de código abierto, lo que proporciona una gran flexibilidad para desplegar/gestionar ELK

Se Acabaron los Nodos “zombis”

Algunos de ustedes, especialmente los Delegados, pueden haber notado que su nodo no se sincroniza con la blockchain después de perder la conexión a la red, incluso por un período corto. En el caso de los nodos sin un sistema de monitorización robusto, esto puede llevar a que el nodo permanezca en un estado “zombi” en el que está funcionando pero no es capaz de sincronizarse con la blockchain aunque se restablezca la conexión. Esto es especialmente peligroso para los delegados, ya que el nodo puede dejar de producir bloques

Para evitar este posible problema, hemos mejorado el código de iotex-core de tal manera que los nodos pueden ahora detectar tales eventos y reconectarse con la red p2p inmediatamente después de que se reanude la conexión a Internet. Esto permitirá a los nodos volver a sincronizarse inmediatamente con la blockchain, reduciendo en gran medida el riesgo de interrupciones de la red

¿Qué es lo Siguiente?

Desde nuestra Mainnet v1.1 en agosto de 2020, el equipo de IoTeX ha trabajado diligentemente durante meses en nuestra próxima versión Mainnet v1.2. Además de la Mainnet v1.2, aquellos que siguen nuestra actividad en Github también han visto actualizaciones constantes y significativas en nuestros repositorios de ioPay, iotexscan, Pebble Tracker, SDKs y el stake - ¡IoTeX está realmente utlizando todos sus cilindros!

Estamos muy contentos de dar vida a la Mainnet v1.2 en abril de 2021 y evolucionar la Red de IoTeX al siguiente nivel. Permanece atento a nuestros canales oficiales para conocer la fecha de lanzamiento oficial y los detalles