¡Hola comunidad!
Nos emociona compartir con ustedes las últimas actualizaciones de desarrollo en la blockchain Hive. Desde el inicio del año, hemos estado publicando las novedades más importantes y estamos encantados de presentarles los avances más destacados, incluyendo el HAF y el desarrollo de las cuentas Lite.
El HAF (Hive Application Framework) es el nuevo marco de desarrollo para la blockchain Hive, este framework facilita la creación de aplicaciones descentralizadas (dApps) de manera más eficiente y accesible para los desarrolladores. Además, hemos implementado mejoras significativas en nuestro software principal, Hived, que incluyen optimizaciones en el almacenamiento y en el tiempo de ejecución de algunos procesos.
Una de las actualizaciones más importantes, el Hardfork 28 de la blockchain Hive, está programada tentativamente para el 24 de septiembre de 2024 a las 14:00 UTC. Esta actualización traerá un conjunto de mejoras que fortalecerán aún más nuestra infraestructura blockchain.
A continuación, te compartimos la traducción del post original de @blocktrades, detallando estas novedades y lo que puedes esperar de ellas.
POST: 6ª actualización de 2024: Lanzamiento de Wax previsto para finales de junio, hived/HAF 1.27.7 a finales de julio.
A continuación se presentan algunos aspectos destacados de los problemas de programación relacionados con Hive en los que ha trabajado el equipo de BlockTrades desde mi último informe.
Hived: software del nodo central de la blockchain
Tenemos previsto lanzar la versión 1.27.7 en algún momento de julio (probablemente a finales de julio). Como parte de este lanzamiento, también estamos estableciendo lo que esperamos que sea la "fecha de lanzamiento" final para el hardfork 28: 24 de septiembre de 2024 a las 14:00 UTC (para dar un poco de tiempo después del próximo HiveFest en Croacia).
La mayoría de los cambios para 1.27.7 ya están hechos, pero vamos a dar alrededor de un mes para nuestras pruebas de producción. Tanto los cambios relacionados con el hardfork como algunos otros cambios asociados con esta versión se pueden encontrar en los enlaces de abajo (y/o se discuten en los subtemas de abajo):
https://gitlab.syncad.com/hive/hive/-/milestones/6#tab-issues
https://gitlab.syncad.com/hive/hive/-/milestones/7#tab-issues (los problemas no iniciados descritos aquí no formarán parte de la versión)
Registros de bloques divididos (permite nodos "lite" para servicios)
Estamos en medio de la implementación de los últimos cambios asociados a la funcionalidad de dividir registros de bloques que comenté en mi informe anterior y esperamos completar ese trabajo esta semana. A continuación, tenemos previsto dedicar una semana a las pruebas de producción de las distintas novedades asociadas a la división de registros de bloques.
Hemos añadido otra nueva función basada en la nueva tecnología de división de registros de bloque: hived ahora abre los archivos de registro de bloque en modo de sólo lectura y luego cambia a modo de lectura/escritura cuando el nodo comienza la sincronización. Este cambio permite que las partes antiguas del registro de bloques se compartan entre múltiples instancias de hived, reduciendo aún más el espacio de almacenamiento necesario para soportar múltiples nodos hived capaces de suministrar bloques de sincronización.
Otros cambios en Hived
Limpieza del código de generación de firmas: ahora hived utiliza el formato
bip0052
en todas partes en lugar del códigofc::legacy
. Las firmas antiguas se siguen verificando correctamente.Ligera redefinición de las operaciones virtuales que contienen activos: siempre que ha sido posible se han cambiado para utilizar versiones especializadas de
tiny_asset
para limitar el tamaño del objeto C++ en tiempo de ejecución y, lo que es más importante, el tamaño de su forma binaria serializada (esto reduce el tamaño de la base de datos HAF).Corrección de un error en la capa P2P asociado a los cambios en la compresión de bloques que provocaba el bloqueo de algunos nodos colgados (aunque no se sabe con certeza por qué este error tardó tanto en aparecer).
Investigación sobre firmas BLS
Hemos hecho una investigación inicial sobre las firmas BLS, el informe está aquí: https://gitlab.syncad.com/hive/hive/-/wikis/Research-of-BLS-signatures
Planeamos implementar primero el soporte para BLS en la nueva biblioteca Wax API, donde inicialmente será útil para aplicaciones de segunda capa, y luego, suponiendo que no encontremos problemas, añadir soporte para BLS en la primera capa (en HF 29, que está programado para un lanzamiento relativamente rápido después de HF 28).
Beekeeper (software de gestión de claves criptográficas)
Actualmente estamos trabajando para terminar la wrapper python para BeeKeeper, que es necesaria para soportar el constructor de transacciones de Wax para Python.
Nodo de la API HAF
Se ha añadido compatibilidad con la supervisión opcional de Prometheus y Grafana.
HAF (Marco de aplicaciones Hive)
Estamos a punto de terminar el rediseño del "bucle principal de la aplicación" para HAF, con el fin de dificultar que los desarrolladores de aplicaciones cometan errores al diseñar la lógica de procesamiento de sus aplicaciones. Ese trabajo está aquí:
https://gitlab.syncad.com/hive/haf/-/merge_requests/504
Otros cambios en el HAF
- Hemos implementado un nuevo enfoque para los esquemas de aplicación HAF que permite desplegar la misma aplicación varias veces (en diferentes esquemas y contextos): https://gitlab.syncad.com/hive/haf/-/merge_requests/484
- Optimizaciones del espacio de almacenamiento (reduce los requisitos actuales de almacenamiento en unos 300 GB):
1_ Eliminación de los índices hive_rowid para aplicaciones irreversibles (por ejemplo, hivemind).
2_ Eliminación de las columnas block_num, op_type_id de las tablas hive.operations y hive.account_operations. Se sustituyen por llamadas a funciones que decodifican estos datos a partir de operation_id
3_ Reutilización de la nueva serialización de operaciones virtuales para limitar el tamaño de almacenamiento de las operaciones virtuales en la base de datos (esta función se trató anteriormente en la sección hived).
4_ Eliminación de la columna de timestamp de operaciones de la tabla operations y sustitución por la hora de creación del bloque referenciado.
Cuentas Lite" de Segunda Capa que pueden integrarse en todo el ecosistema de Hive
Como mencioné en mi último informe, estamos creando una nueva aplicación HAF para gestionar la creación y el mantenimiento de cuentas "Lite" que puedan ser utilizadas por cualquier aplicación de segunda capa para firmar transacciones de segunda capa. La especificación para esto también incluye documentación sobre cómo planeamos apoyar las transacciones de segunda capa. https://gitlab.syncad.com/hive/haf/-/issues/214.
Recientemente hemos resuelto cómo gestionaremos los espacios de nombres de las cuentas Lite (utilizando identificadores descentralizados):
El espacio de nombres por defecto de la
(para cuenta light) puede ser utilizado por cualquier cuenta hive. Por tanto, cualquier cuenta hive podrá crear una cuenta lite llamada did:la:null
, por ejemplo, ya que no hay requisitos especiales para reclamar ningún nombre de cuenta en el espacio de nombres la. Los nombres de este espacio de nombres son estrictamente por orden de llegada.
También tendremos un espacio de nombres especial para las cuentas hive llamado hive
para que todas las cuentas hive tengan una cuenta ligera asociada "verificada". Por ejemplo, la cuenta ligera llamada did:hive:justme
sólo podrá editarse utilizando las claves de la 1ª capa de la cuenta Hive llamada justme
. Así, las cuentas hive no tienen que preocuparse de que alguien se apropie de su cuenta lite única de 2ª capa en el espacio de nombres de hive.
Las cuentas de 2º capa de este tipo son útiles si quieres asociar claves adicionales específicas de 2º capa a tu cuenta de Hive para que todo el mundo sepa quién eres. Por ejemplo, puede que quieras añadir una clave de "batalla" para jugar a un juego de 2º capa.
También tenemos un plan para crear espacios de nombres para otras cadenas de bloques y aplicaciones que no son blockchain, como Google/Facebook, etc, pero hablaré de ello en un informe posterior.
API del explorador de bloques HAF y de la Herramienta de Seguimiento de Saldos (Balance Tracker)
- Adaptado a la nueva versión de HAF
- Soporte para datos de autoridad de cuenta
- Soporte de información de reputación de cuenta en llamadas API
- Optimización del rendimiento de la llamada a la API get_account (el tiempo se ha reducido de 1s a 50ms)
- Desactivación automática de las API de búsqueda de bloques/comentarios cuando no se crean índices opcionales
- Soporte de reescritura de OpenAPI: Esto forma parte del trabajo que describí en mi post anterior para autogenerar algunas llamadas REST útiles y conformes a los estándares mediante reglas de reescritura Y generar páginas swagger interactivas para aplicaciones HAF (el explorador de bloques HAF es nuestro "caso de prueba" para la nueva tecnología). Recientemente hemos trabajado en la mejor manera de manejar las llamadas REST que toman parámetros de matrices.
Wax (nueva biblioteca multilingüe Hive API)
Estamos preparando el primer lanzamiento oficial del paquete npm Wax para finales de este mes (2 semanas).
Últimas mejoras de Wax
- Implementado constructor de operaciones TS y serializador de propiedades para la operación witness_set_properties
- Implementado el formateador de texto witness_set_properties para hacerlo legible para las personas
- Implementación del componente API healthchecker
- Tamaño del paquete reducido de 5,4 MB a 2,3 MB (tamaño comprimido).
- Nuevos métodos para funciones de utilidad de claves (suggest_brain_key, generate private key from password)
Clive: cartera de línea de comandos y TUI para Hive
Versión publicada: https://gitlab.syncad.com/hive/clive/-/releases/v1.27.5.11
Nuevas funciones en curso (previstas para la versión del 19 de junio): https://gitlab.syncad.com/hive/clive/-/merge_requests/399
Los cambios en la interfaz de usuario abarcan la gestión de alarmas de cuentas. Los cambios en la CLI incluyen la corrección de errores en la transferencia recurrente y la compatibilidad con custom_json.
Gestor de imágenes
Corrección del código de gestión de URL que podía bloquear imagehoster
Actualizadas las imágenes docker para utilizar la nueva versión de node.js
La versión desplegada ahora soporta imágenes SVG
Algunos de nuestros trabajos en curso (o previstos para un futuro próximo)
- Creación de la aplicación Lite Accounts basada en HAF (implementación en curso). Esto también incluye soporte para transacciones de 2º capa que deberían ser útiles para muchos tipos de aplicaciones HAF.
- Desarrollo de especificaciones para el motor de procesamiento de contratos inteligentes de 2º capa (la mayoría de los documentos están aquí: https://gitlab.syncad.com/hive/smarc/-/tree/abw_smarc_design/doc?ref_type=heads )
- Muchas mejoras en hived: https://gitlab.syncad.com/hive/hive/-/issues/675
- Lanzamiento oficial del paquete npm de wax y workerbee
- Finalizar la nueva documentación OpenAPI de las API REST existentes (balance tracker y HAFAH son las siguientes)
- Crear una versión candidata para Denser (sustituto de Condenser)
- Continuar añadiendo nuevos comandos a Clive
- Lanzamiento de la nueva aplicación de seguimiento de la reputación
- Más mejoras en el rendimiento de hivemind (sustitución continuada del código Python). La sustitución del servidor web python por el servidor PostgREST debería estar terminada a tiempo para el lanzamiento de julio.
- Integrar reputation_tracker como una sub-app dentro de hivemind. Esto debería mejorar la optimización del espacio (ahora hivemind debe recoger todos los votos para recalcular la reputación) y la velocidad de sincronización. También esperamos tener esto en la versión de julio.
Muchas gracias al team @BlockTrades por todo el trabajo que realizan para Hive.
✔️¡Mantente al día con la comunidad de Hive Español!
🚀Ingresa a Hive: hive.io
🔗X: hiveblocks_es
🤳Instagram: hiveblocks_es
➡️Telegram: t.me/hiveblockes
👉YouTube: hiveblocks_es/videos