Al final del primer trimestre de 2023, Oasis Engineering 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 se mantuvieron sólidas y estables. 

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

  • Actualizaciones de billetera y CLI
  • Actualizaciones de Red (Mainnet y Testnet) 
  • Actualizaciones de Indexer y Explorer
  • Plataforma de desarrolladores y actualizaciones de ParaTime
  • Actualizaciones básicas de Oasis

¡Siga leyendo para profundizar en el trabajo de Oasis Engineering de marzo!

Actualizaciones de Wallet y CLI

En marzo, Oasis Wallet – Web experimentó una serie de aumentos de dependencia y correcciones de errores notables. 

  • Los problemas de WebUSB al conectar Ledger para usuarios de billetera por primera vez en Chrome versión 110 o posterior ahora se han solucionado ( #1321 , #1338 ). 
  • Al copiar la cantidad de ROSE en cualquier lugar de la billetera, los símbolos ROSE o TEST ahora se separan correctamente con un espacio (anteriormente, se veían igual pero se copiaban y pegaban sin espacio). Además, la palabra que contiene el número está separada del símbolo, por lo que ahora puede copiar solo el número ( #1337 ). 
  • Se mejoró el soporte para múltiples pestañas. La red activa utilizada ahora se comunica y sincroniza correctamente en todas las pestañas sin latencia. La lista de cuentas también está sincronizada, pero cada pestaña muestra su propia cuenta seleccionada. De esta forma, el usuario puede usar varias pestañas o ventanas para explorar las cuentas y enviar tokens ( #1343 ). 
  • Se fusionaron varias correcciones de interfaz de usuario, usabilidad y pruebas relacionadas con las operaciones de ParaTime ( #1346 , #1347 , #1352 , #1353 , #1362 ,  #1365 , #1306 ). 

En total, se fusionaron 62 solicitudes de extracción .

¡ Oasis Wallet – Extensión del navegador también vio una serie de correcciones de mantenimiento! 

  • Se implementó una solución similar al problema de WebUSB con respecto a los usuarios de Ledger por primera vez en Chrome en la extensión de la billetera ( #301 , #303 ). 
  • En el momento de la obsolescencia de Node.js 14 a fines de abril, la extensión se migró a Node.js 16 ( #305 ). 

Se realizó una nueva versión 1.10.0 de la extensión y ya está disponible en Chrome Web Store .

Oasis CLI es ahora la primera billetera que admite oficialmente transacciones de ParaTime firmadas por la billetera de hardware Ledger ( #11 ). También se implementó una bonita impresión de transacciones básicas de ParaTime (depósitos, retiros, transferencias) ( #24 ). 

Se introdujeron salvaguardas adicionales para los usuarios que evitan transferencias accidentales de tokens a direcciones compatibles con Ethereum en la capa de consenso ( #31 ). 

Siempre puede anular dichas comprobaciones agregando el indicador -f. Para entornos no interactivos, se introdujo un nuevo indicador sí a todo -y ( #45). Oasis CLI reemplazará gradualmente la inspección de red y la gestión de entidad/token en el binario oasis-node, por lo que este último se utilizará únicamente para ejecutar la red. 

El comando de registro de oasis recientemente introducido le permite registrar o cancelar el registro de su entidad, un nuevo tiempo de ejecución y acceder a los registros existentes o históricos de nodos, entidades, tiempos de ejecución y validadores en el registro (#47, # 48 ) . El 14 de marzo se realizó una nueva versión 0.2.0 que contiene binarios Linux amd64. En total, se fusionaron 14 solicitudes de extracción en el repositorio de CLI.

Actualizaciones de red

En marzo, Emerald, Sapphire y Cipher ParaTimes funcionaban de manera estable en Mainnet y Testnet. No se han reportado tiempos de inactividad o incidentes en la red. La puerta de enlace Web3 y las instancias de Explorer para Sapphire experimentaron algunos minutos de tiempo de inactividad debido al mantenimiento programado.

El 3 de marzo, se propuso la versión de corrección de errores Oasis Core 22.2.7 para Testnet y el 28 de marzo para Mainnet. El 14 de marzo, se propuso Sapphire 0.5.0-testnet para Testnet. Para obtener más información sobre las correcciones de Oasis Core y las nuevas funciones de ParaTime, lea las secciones a continuación.

Aspectos destacados de la red principal 

El número medio de transacciones diarias en Emerald ha experimentado un ligero descenso en febrero (13.525 transacciones frente a las 14.300 de febrero). El pico de 20.362 transacciones del 18 de marzo también fue menor que el 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 1.157 en 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 activos de Oasis Mainnnet al 31 de marzo de 2023:

  • 120 nodos validadores
  • 6 nodos de gestión de claves
  • 34 nodos de computación Cipher ParaTime
  • 55 nodos de cómputo Emerald ParaTime
  • 26 nodos de cálculo Sapphire ParaTime

Aspectos destacados de la red de prueba

En Emerald, el promedio de transacciones diarias fue de alrededor de 1200-1300, excepto por un aumento del 21 al 25 de marzo, donde alcanzó un récord mensual de 5552 transacciones diarias el 22 de marzo. El máximo de febrero fue de 3156 transacciones el 5 de febrero. El promedio diario de marzo fue aunque más bajo que en febrero (1.813 transacciones frente a 2.271 en febrero).

El número de transacciones diarias en Sapphire casi se multiplicó por cinco desde febrero debido a los controles de salud más frecuentes impuestos por la Fundación Oasis (9622 transacciones en comparación con 2341) y aumentó constantemente durante un período de 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 bache importante se notó el 25 de marzo cuando la fundación Oasis patrocinó la competencia nacional de programación eslovena 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 del 28 de febrero.

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

  • 45 nodos validadores
  • 4 nodos de gestión de claves
  • 18 nodos de computación Cipher ParaTime
  • 31 nodos de cómputo Emerald ParaTime
  • 20 nodos de cómputo Sapphire ParaTime

Actualizaciones de Oasis Indexer y Explorer

Ha pasado otro mes emocionante para el equipo de Oasis Indexer . Los lectores que sigan Oasis Network desde el principio recordarán las primeras redes Amber y Mainnet Beta en 2020, la actualización de Cobalt en 2021 y la actualización de 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 correctamente los datos. 

Este mes se introdujo una nueva capa de abstracción sobre el analizador de cadenas que le permite comunicarse con el Nodo Oasis después de la actualización de Cobalt ( #326 , #356 , #362 , #358 , #361 ). 

Los motivos de fallas en las transacciones dentro de EVM y el consenso ahora se almacenan ( #347). 

El número de nodos de cómputo activos por ParaTime por época ahora se almacena ( #354 ) y ahora se calculan las estadísticas para las cuentas activas diarias ( #329 ). 

Algunas otras correcciones de errores importantes, como condiciones de carrera, orden incorrecto de los eventos de EVM, saldos de tokens ERC20 incorrectos, bloqueos cuando el contrato inteligente no era lo que pretendía ser, se corrigieron los análisis, correcciones de paginación, tipo de datos de número de evento de EVM incorrecto, índices faltantes ( #340 , #344 , #368 , #332 , #346 , #348 , #359 , #369 ). En total, se fusionaron 30 solicitudes de extracción .

El equipo de Oasis Explorer también ha estado progresando a un ritmo acelerado y solo nombraremos los cambios más notables. Dado que Oasis Network es una cadena de bloques pública, cualquier persona puede registrar un nuevo ParaTime (lea más aquí ), si posee suficiente saldo en la cuenta de depósito en garantía. 

Si el tamaño de la custodia cae por debajo del umbral, el ParaTime se suspenderá aunque haya nodos de cómputo que aún lo estén ejecutando. 

  • Para evitar saturar la interfaz de usuario de Explorer, ahora solo se muestran los ParaTimes activos (no suspendidos) ( #143 ). 
  • Dado que Indexer admite el análisis y el almacenamiento de mensajes de error de transacciones (ver arriba), esto también se ha implementado en la interfaz de usuario ahora ( #163 ). 
  • Se fusionó una corrección importante para mostrar el límite de gasolina y los costos de gasolina ( #182 ). Se agregó una nueva vista de registros de transacciones ( #224 ). 
  • Se agregaron los gráficos por hora y por día ( #193 , #195 ). 
  • Se incorporaron varias correcciones de versiones móviles ( #200 , #236 ). 
  • Si el indexador lo sabe, la dirección y el hash de la transacción ahora se mostrarán 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 le ofrecerá un máximo de 100 páginas para hacer clic ( #249 ). 

¡Este mes se fusionaron un récord de 84 solicitudes de extracción !

Plataforma de desarrolladores y actualizaciones de ParaTime

‍ Sapphire 0.5.0 se lanzó el 14 de marzo y trajo dos funciones principales. 

La compatibilidad con X25519 para firmar, cifrar y descifrar datos en cadena ya estaba disponible en la precompilación de solidity de Sapphire . En esta versión, se agregó el asistente para generar un nuevo par de claves x25519 ( #116 ). 

Esto abre la puerta a que se generen y almacenen claves confidenciales completamente en la cadena, de manera similar a como se tratan las billeteras de hardware. 

Otra característica que faltaba era el informe de errores para transacciones fallidas. Debido a la confidencialidad, todas las transacciones con tarifas de gas suficientes se marcaron como exitosas, incluso si fracasaron. 

Después de una cuidadosa consideración, decidimos conservar el estado de la transacción y propagarlo de nuevo al usuario . También implementamos la propagación de mensajes de error de transacciones fallidasdetrás de escena, pero esto necesita algunos ajustes finales en el texto mecanografiado final y listo para los clientes.

El envoltorio @oasisprotocol/sapphire-hardhat ahora implementa pruebas de casco simuladas para transacciones confidenciales ( #108 ). Este es un enfoque alternativo para ejecutar una pila confidencial de Oasis completa dentro de la imagen de la ventana acoplable Sapphire-dev cuando se trata de probar sus contratos inteligentes localmente.

Se agregaron extensas pruebas de integración al envoltorio de la red de estaciones de servicio que funcionan tanto localmente como en Testnet ( #1 ). Anunciaremos el lanzamiento oficial una vez que el envoltorio se haya probado a fondo y la documentación del desarrollador esté disponible.

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

  • Se agregó la solución de problemas de Bubblewrap .
  • Se agregó la página de direcciones de contrato estándar que enumera las direcciones oficiales de los contratos inteligentes generalmente utilizables, como el ROSE envuelto. También se proporcionan enlaces a la verificación de Sourcify.
  • En el último informe de ingeniería, mencionamos que se publicaron imágenes de Docker para Sapphire con red local. Ahora, se documenta el procedimiento de cómo obtener y utilizar las imágenes . Los ejemplos de Sapphire ahora también usan las extensiones estándar _mainnet, _testnet y _localnet al determinar la red.
  • Se agregó una advertencia importante a la guía de Sapphire sobre el posible riesgo de seguridad de que el nodo de cómputo pueda rastrear a qué celdas de memoria se accede y luego intentar determinar si se accede o no a los mismos pares clave-valor. Por ejemplo, esto podría revelar si se accede al saldo de las mismas cuentas en transacciones ERC-20.
  • Se ha renovado la página del nodo Ejecutar su validador . Con suerte, a los recién llegados les resultará más fácil iniciar su propio nodo de validación y convertirse en parte del ecosistema de Oasis.

Actualizaciones de la plataforma principal

Un nuevo lanzamiento de parche de Oasis Core 22.2.7 este mes eliminó la verificación de «detener época» de forma predeterminada ( # 5200 ). La época de detención se usó en el pasado para forzar actualizaciones de 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 en cadena ha sido bien probada durante un tiempo y la red es lo suficientemente madura, la época de detención se puede ignorar y se eliminará por completo 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, aumentos de dependencia y corrección de errores. 

  • Se refactorizó el ciclo de trabajo principal del administrador de claves ( #5212 ). 
  • La inicialización del enclave del administrador de claves se movió a una rutina separada para no bloquear el bucle principal. Además, la inicialización ahora es más sólida, por lo que cuando se realiza la rotación de claves del administrador de claves, el enclave simplemente se reinicializa si la clave expiró ( #5218 ). 
  • Las políticas del administrador de claves ahora también se pueden usar 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 subprocesos múltiples limitados utilizando la nueva versión de la biblioteca de Tokio, mejorando el rendimiento y eliminando posibles interbloqueos con la próxima implementación de rotación maestra secreta ( #5214 , #5220 , #5223 ). 
  • Se fusionó una corrección de error importante para permitir que el nodo continúe ejecutándose incluso si se actualiza aesmd . En este caso, la identidad de Quoting Enclave podría cambiar y esto requería que se actualizara la información de destino ( #5239 ). 
  • Las imágenes de Docker utilizadas por CI se migraron a ghcr.io debido al anuncio reciente de que Dockerhub canceló los planes de equipo gratuitos ( #5224 ). 
  • El anuncio se retractó más tarde, pero nuestra migración ya se realizó. Oasis Core ahora está compilado y probado con Go 1.20.x ( #5228 ).

Consulte las 22 solicitudes de incorporación de cambios fusionadas en marzo para ver una lista completa de cambios.

¡Eso es todo por marzo y el primer trimestre del año! Ahora, adelante a abril. Mientras tanto, chatea más con el equipo de Oasis uniéndote a nosotros en Discord o en el foro de Oasis . Además, obtenga más información sobre la capa de privacidad de Oasis aquí y regístrese en Oasis Privacy4Web3 Hackathon .