Skip to content Skip to footer

Actualización de Ingeniería de Oasis Marzo 2023

Aviso legal: Esta publicación es una traducción comunitaria hecha por un miembro de la comunidad de Oasis Network. Se hacen rigurosas comprobaciones para proporcionar traducciones precisas, pero pueden estar sujetas a errores u omisiones. Oasis Network no se hace responsable de la precisión, confiabilidad o actualidad de la información traducida.Al final del primer trimestre de 2023, la Ingeniería de Oasis ha logrado mucho en poco tiempo. Marzo vio un progreso significativo y actualizaciones en toda la pila de Oasis. En medio del progreso, la actividad y la confiabilidad de la red permanecieron sólidas y estables.

Publicación original en inglés: Oasis March 2023 Engineering Update

Este resumen mensual de ingeniería proporciona una visión general de:

  • Actualizaciones de Wallet y CLI
  • Actualizaciones de red (Mainnet y Testnet)
  • Actualizaciones de Oasis Indexer y Explorer.
  • Actualizaciones de la Plataforma de Desarrolladores y ParaTime
  • Actualizaciones de Oasis Core

Sigue leyendo para conocer en profundidad el trabajo de Ingeniería de Oasis en marzo.

Actualizaciones de Wallet y CLI
En Marzo, la Web Wallet de Oasis vio un número de mejoras en dependencias y notables correcciones de errores.

  • Los problemas de WebUSB al conectar el Ledger para usuarios que usan la wallet por primera vez en Chrome versión 110 o posterior han sido corregidos (#1321#1338).
  • Al copiar la cantidad de ROSE en cualquier lugar de la wallet, los símbolos ROSE o TEST ahora se separan correctamente con un espacio (antes tenían el mismo aspecto pero se copiaban sin espacio). Además, la palabra que contiene el número está separada del símbolo, por lo que ahora se puede copiar sólo el número (#1337).
  • Se ha mejorado la compatibilidad con varias pestañas. La red activa utilizada ahora se comunica correctamente y se sincroniza en todas las pestañas sin latencia. La lista de cuentas también se sincroniza, pero cada pestaña muestra su propia cuenta seleccionada. De este modo, el usuario puede utilizar varias pestañas o ventanas para explorar las cuentas y enviar tokens (#1343).
  • Se han fusionado una serie de correcciones y pruebas de interfaz de usuario y usabilidad en cuanto a las operaciones de ParaTime (#1346#1347#1352#1353#1362#1365#1306).

En total, se fusionaron 62 pull requests.

La wallet de Oasis en versión de extensión de Navegador también vio un número de correcciones de mantenimiento.

  • Una corrección similar al problema de WebUSB con respecto a los usuarios de Ledger por primera vez en Chrome fue implementada en la extensión de la wallet (#301#303).
  • Con motivo de la retirada de Node.js 14 a finales de abril, la extensión se migró a Node.js 16 (#305).

Se ha realizado una nueva versión 1.10.0 de la extensión, que ya está disponible en la Chrome Web Store.

La Oasis CLI es ahora la primera wallet que oficialmente soporta transacciones ParaTime firmadas por la wallet física de Ledger (#11). También se implementó la impresión de transacciones básicas de ParaTime (depósitos, retiros, transferencias) (#24). Se introdujeron garantías adicionales a los usuarios para prevenir transferencias accidentales de tokens a direcciones compatibles con Ethereum en la capa de consenso (#31). Siempre puedes anular estas comprobaciones añadiendo el indicador -f. Para entornos no interactivos, se introdujo un nuevo indicador -y (#45). Oasis CLI reemplazará gradualmente la inspección de la red y el manejo de entidades/tokens en el nodo binario de oasis por lo que este último será usado únicamente para ejecutar la red. El comando introducido recientemente oasis registry te permite registrar o dar de baja tu entidad, un nuevo tiempo de ejecución y acceder a registros existentes o históricos de nodos, entidades, tiempo de ejecución, validadores en el registro (#47#48). El 14 de marzo se publicó una nueva versión 0.2.0 con binarios Linux amd64. En total, 14 pull requests se fusionaron en el repositorio CLI.

Actualizaciones de red
En marzo, Emerald, Sapphire y Cipher ParaTimes funcionaron de forma estable en la Mainnet y la Testnet. No se han registrado caídas ni incidentes en la red. El portal Web3 y las instancias Explorer para Sapphire sufrieron algunos minutos de inactividad por un mantenimiento programado.

El 3 de marzo, la versión 22.2.7 de Oasis Core fue propuesta para la Testnet y el 28 de marzo para la Mainnet. El 14 de marzo, Sapphire 0.5.0-testnet fue propuesta para la Testnet. Para saber más sobre las correcciones de Oasis Core y las nuevas características de ParaTime, lee los siguientes apartados.

Lo más destacado de la Mainnet
El número medio de transacciones diarias en Emerald experimentó un ligero descenso en marzo (13.525 transacciones frente a las 14.300 de febrero). El pico de 20.362 transacciones alcanzado el 18 de marzo también fue inferior al del mes anterior (25.358 el 8 de febrero).

El número medio de transacciones diarias en Sapphire ha experimentado un ligero descenso en marzo (1.123 transacciones frente a las 1.157 de febrero). Sin embargo, el pico de 1.193 transacciones del 14 de marzo fue superior al del mes anterior (1.174 transacciones el 16 de febrero).

Nodos Oasis Mainnnet activos a 31 de marzo de 2023:

  • 120 nodos validadores
  • 6 nodos gestores de claves
  • 34 nodos de cálculo Cipher ParaTime
  • 55 nodos de cálculo Emerald ParaTime
  • 26 nodos de cálculo Sapphire ParaTime

Lo más destacado de Testnet
En Emerald, la media de transacciones diarias se situó en torno a 1.200–1.300, salvo un repunte del 21 al 25 de marzo, cuando se alcanzó un récord mensual de 5.552 transacciones diarias el 22 de marzo. El máximo de febrero fue de 3.156 transacciones el 5 de febrero. Sin embargo, la media diaria de marzo fue inferior a la de febrero (1.813 transacciones frente a las 2.271 de febrero).

El número de transacciones diarias en Sapphire se multiplicó casi por 5 con respecto a febrero debido a los controles sanitarios más frecuentes impuestos por la Fundación Oasis (9.622 transacciones frente a 2.341) y fue aumentando de forma constante durante varios meses. El número de transacciones experimentó un aumento significativo en los días posteriores a la conferencia ETHDenver (del 6 al 15 de marzo). Otro repunte importante se produjo el 25 de marzo, cuando la fundación Oasis patrocinó el concurso nacional de programación esloveno ACM RTK 2023. El pico de 10.489 transacciones se alcanzó el 29 de marzo en comparación con el pico anterior de 3.672 transacciones el 28 de febrero.

Nodos activos de Oasis Testnet a 31 de marzo de 2023:

  • 45 nodos validadores
  • 4 nodos gestores de claves
  • 18 nodos de cálculo Cipher ParaTime
  • 31 nodos de cálculo de ParaTime Emerald
  • 20 nodos de cálculo Sapphire ParaTime

Actualizaciones de Oasis Indexer y Explorer

Otro emocionante mes ha pasado para el equipo de Oasis Indexer. Los lectores que siguen Oasis Network desde el principio recordaréis las primeras redes Amber y Mainnet Beta en 2020, la actualización Cobalt en 2021 y la actualización Damask en 2022. La API y las estructuras de datos cambiaron significativamente durante ese período y el analizador de cadenas necesita hablar un lenguaje correcto para indexar los datos correctamente. Este mes se introdujo una nueva capa de abstracción sobre el analizador de cadenas que le permite hablar con el Nodo Oasis tras la actualización de Cobalt (#326#356, #362#358#361). Ahora se almacenan las razones de fallo de las transacciones tanto dentro de EVM y consensus (#347). Ahora se almacena el número de nodos de cálculo activos por ParaTime por epoch (#354) y ahora se calculan las estadísticas de las cuentas activas diarias (#329). Algunas otras correcciones de errores importantes, como condiciones de carrera, orden incorrecto de los eventos EVM, saldos erróneos de tokens ERC20, fallos cuando el smart contract no era lo que pretendía ser, se corrigió el análisis sintáctico, correcciones de paginación, tipo de datos incorrectos del número de eventos EVM, índices que faltaban (#340#344#368#332#346#348#359#369). En total, se fusionaron 30 pull requests.

El equipo de Oasis Explorer también ha estado progresando a un ritmo rápido y sólo nombraremos los cambios más notables. Dado que Oasis Network es una blockchain pública, cualquiera puede registrar un nuevo ParaTime (lee más aquí), si posee suficiente saldo en la cuenta escrow. Si el tamaño del escrow cae por debajo del límite, la ParaTime será suspendida aunque pueda haber nodos de cálculo ejecutándola todavía.

  • Para evitar saturar la interfaz de usuario del Explorer, ahora sólo se muestran los ParaTimes activos (no suspendidos) (#143).
  • Dado que el Indexer permite analizar y almacenar mensajes de error de transacción (mira arriba), esto también se ha implementado en la interfaz de usuario (#163).
  • Se ha fusionado una corrección importante para mostrar el límite de gas y los costes de gas (#182). Se ha añadido una nueva vista de registros de transacciones (#224).
  • Se añadieron los gráficos diarios y horarios (#193#195).
  • Se incorporaron varias correcciones para la versión móvil (#200#236).
  • Si el Indexador lo conoce, la dirección y el hash de la transacción se mostrarán ahora en el formato hexadecimal original (compatible con Ethereum) en contraste con los formatos nativos Bech32 y Base64 (#239#244).
  • Para evitar el desorden, la interfaz de usuario ahora ofrecerá un máximo de 100 páginas en las que hacer clic (#249).

Este mes se ha fusionado una cifra récord de 84 pull requests.

Plataforma para desarrolladores y actualizaciones de ParaTime
Sapphire 0.5.0 se publicó el 14 de marzo y trajo dos características importantes.

La compatibilidad con X25519 para firmar, cifrar y descifrar datos en cadena ya estaba disponible en la precompilación solidity de Sapphire. En esta versión, se ha añadido la ayuda para generar un nuevo keypair x25519 (#116). Esto abre la puerta a tener claves confidenciales generadas y almacenadas completamente on-chain de forma similar a como se tratan las wallets físicas. Otra característica que faltaba era la notificación de errores en las transacciones fallidas. Debido a la confidencialidad, todas las transacciones con suficientes tasas de gas se marcaban con éxito, incluso si fallaban. Tras considerarlo detenidamente, decidimos conservar el estado de la transacción y transmitirlo al usuario. También implementamos la propagación de mensajes de error de transacciones fallidas entre bastidores, pero esto necesita algunos ajustes finales en el typescript final y en los clientes go.

El envoltorio @oasisprotocol/sapphire-hardhat ahora implementa pruebas mock hardhat para transacciones confidenciales (#108). Este es un enfoque alternativo para ejecutar una pila confidencial Oasis completa dentro de la imagen docker sapphire-dev cuando se trata de probar sus smart contracts localmente.

Se agregaron extensas pruebas de integración a la Gas Station Network Wrapper que funcionan tanto localmente como en la Testnet (#1). Anunciaremos el lanzamiento oficial una vez que el envoltorio esté completamente probado y la documentación para desarrolladores disponible.

La documentación es más rica en algunas secciones:

  • Se añadió la solución de problemas de Bubblewrap.
  • Se añadió la página Standard Contract Addresses, que enumera las direcciones oficiales de los smart contracts generalmente utilizables, como el wrapped ROSE. También se proporcionan enlaces a la verificación de Sourcify.
  • En el último informe de ingeniería, mencionamos que se publicaron imágenes Docker para Sapphire ejecutando localnet. Ahora, el procedimiento de cómo obtener y utilizar las imágenes está documentado. Los ejemplos de Sapphire ahora también utilizan las extensiones estándar _mainnet, _testnet y _localnet al determinar la red.
  • Se ha añadido una advertencia importante a la guía de Sapphire sobre el riesgo potencial de seguridad de que el nodo de cálculo pueda rastrear a qué celdas de memoria se accede y luego intentar determinar si se accede a los mismos key-value pairs o no. Por ejemplo, esto podría revelar, si se accede al saldo de las mismas cuentas en transacciones ERC-20.
  • La página Run your validator node ha sido renovada. Esperamos que los recién llegados encuentren más fácil arrancar su propio nodo validador y formar parte del ecosistema Oasis.

Actualizaciones de la Plataforma Core
Un nuevo parche liberado de Oasis Core 22.2.7 este mes eliminó la comprobación “halt epoch” por defecto (#5200). La “halt epoch” se utilizaba en el pasado para forzar actualizaciones de la red de volcado y restauración durante un período de tiempo predeterminado y detener la red en caso de que no se pudiera llegar a un consenso sobre la propuesta de actualización. Dado que la gobernanza on-chain ha sido probada durante un tiempo y la red es lo suficientemente madura, la época de parada puede ser ignorada y será completamente eliminada del documento de génesis en la próxima versión 23.x.

A medida que nos acercamos a la nueva versión 23.x de Oasis Core, el trabajo se centró en optimizaciones, mejoras de dependencia y corrección de errores.

  • El bucle principal del gestor de claves fue refactorizado (#5212).
  • La inicialización del enclave del gestor de llaves fue movida a una goroutine separada para no bloquear el bucle principal. Además, la inicialización es ahora más robusta, de modo que cuando se produce la rotación de claves del gestor de claves, el enclave simplemente se reinicializa si la clave ha caducado (#5218).
  • Las políticas del gestor de claves ahora también se pueden utilizar en compilaciones que no sean SGX. Esto acelerará nuestro CI y simplificará las pruebas (#5215).
  • Los tiempos de ejecución que se ejecutan en SGX ahora tienen soporte para hilos múltiples limitados utilizando la nueva versión de la biblioteca Tokio, mejorando el rendimiento y eliminando posibles bloqueos con la próxima implementación de rotación maestra secreta (#5214#5220#5223).
  • Se ha fusionado una importante corrección de errores para permitir que el nodo siga funcionando aunque se actualice aesmd. En este caso la identidad de Quoting Enclave podía cambiar y esto requería que la información de destino fuera actualizada (#5239).
  • Las imágenes Docker utilizadas por CI fueron migradas a ghcr.io debido al reciente anuncio de que Dockerhub cancelaba los planes gratuitos para equipos (#5224).
  • El anuncio fue retirado más tarde, pero nuestra migración ya se había realizado. Oasis Core ahora se compila y prueba con Go 1.20.x (#5228).

Consulta las 22 pull requests fusionadas en marzo para ver la lista completa de cambios.

Esto es todo por lo que respecta a marzo y al primer trimestre del año. Ahora, adelante con abril. Mientras tanto, chatea más con el equipo de Oasis uniéndote a nosotros en Discord o en el Foro de Oasis. También, aprende más sobre la Capa de Privacidad de Oasis aquí y regístrate para el Hackathon Oasis Privacy4Web3.