ADAMANT blockchain node v0.10.0 es una actualización importante de mantenimiento y capacidades para operadores, delegados y desarrolladores de clientes. Mejora las APIs orientadas al mensajero, añade transporte de pares mediante WebSocket, fortalece las herramientas de diagnóstico e instalación, actualiza dependencias y refuerza la admisión de transacciones en el límite P2P. cryptofoundry recomienda a los delegados y usuarios de nodos actualizar para mejorar la fiabilidad, seguridad y compatibilidad con clientes más recientes. Esta versión no introduce un fork de consenso obligatorio para redes ya sincronizadas, ya que el comportamiento del protocolo basado en alturas sigue siendo controlado por configuración y compatible con versiones anteriores antes de las alturas de activación.
La versión introduce un campo timestampMs para transacciones, con validación y manejo de respuesta protegido por consenso. Añade una bandera ?returnUnconfirmed=1 para transacciones, chats, estados y salas de chat, junto con campos adicionales explícitos para estados no confirmados. El parámetro includeDirectTransfers reemplaza al obsoleto withoutDirectTransfers en chats y salas de chat. La ordenación predeterminada ahora utiliza timestamp:desc, priorizando timestampMs para el ordenamiento basado en marca de tiempo. Se ha corregido el análisis de consultas para admitir filtros de estilo con corchetes types[] en las consultas de la API de transacciones. La admisión de marcas de tiempo pasadas ahora se limita a transacciones de chat y estado, mientras que las transferencias permiten una ventana más amplia para billeteras sin conexión. El acceso público al punto final de la lista de forjado se ha deshabilitado por motivos de seguridad.
Se ha añadido la configuración de alturas de activación de consenso para fairSystem y spaceship con comportamiento basado en alturas. Se mantienen las reglas del protocolo timestampMs, preservando los milisegundos del época ADAMANT, el timestamp derivado y las pruebas en los límites de activación. Las cadenas existentes continúan con reproducción determinista, aunque se recomienda a los operadores actualizar antes de futuras milestones de activación.
El endurecimiento de la admisión de marcas de tiempo P2P asegura que las comprobaciones de marcas de tiempo futuras y pasadas utilizadas por la API pública ahora también se apliquen en la ruta de difusión P2P, cerrando una brecha de envenenamiento de pool donde transacciones con marcas de tiempo muy futuras podrían eludir publish() mediante retransmisión entre pares. Las rutas de reproducción y sincronización verify() permanecen sin cambios y no rompen el consenso. La verificación nativa Ed25519 ahora se maneja mediante sodium-native, y se han mejorado las configuraciones de caché y limitación de solicitudes.
Las mejoras en red y rendimiento incluyen transporte de pares mediante WebSocket entre nodos, con rotación de conexiones y priorización de pares, junto con mejoras en los registros de WebSocket. La robustez en la sincronización de bloques evita retrasos de bloques obsoletos durante la sincronización. Se han aplicado optimizaciones SQL en salas de chat, y el pool de transacciones se ha reescrito usando Map, con mejoras en eliminación e indexación. Los metadatos de bloques y transacciones ahora persisten y exponen la altura y blockTimestamp.
Las operaciones y herramientas del nodo se han modernizado con scripts de instalación para Ubuntu/Debian y CentOS/RHEL 8–10, compatibles con Node.js 22/24/26, manejo de PostgreSQL, arranque basado en wget, y mejoras en mensajes y registros. El script fix_node.sh se ha actualizado para flujos de recuperación de operadores. Ahora están disponibles anulaciones de configuración mediante CLI y archivos JSON con validación de claves inseguras. Se han añadido scripts para localnet para start, stop, status y drop, junto con un ejecutor de pruebas de escenarios en vivo para testnet y localnet. Incluye ayudantes para arranque en testnet, mantenimiento de lista de pares predeterminada y rellenado automático de valores de configuración faltantes desde config.default.json al inicio. Se ha proporcionado documentación sobre apagado ordenado y seguridad de tablas en memoria.
Las mejoras en la experiencia del desarrollador incluyen registros estructurados con rotación, niveles con color y diagnósticos de progreso de sincronización. Las guías de contribución se han ampliado con escenarios de pruebas en vivo y reportes. Se han documentado las guías de flujo para mantenedores y agentes. Se ha mejorado la cobertura de pruebas unitarias y de API, así como el flujo de pruebas para desarrolladores. Ya no se utiliza GitHub Wiki como fuente de documentación, y se ha eliminado la opción de configuración verifyOnLoading.
Los operadores deben actualizar Node.js a la versión 22.13.0 o posterior antes del despliegue. Se recomienda usar los scripts oficiales de instalación y reparación de esta etiqueta de versión. Los operadores deben revisar config.default.json para nuevas opciones como wsNode, registros y alturas de activación de consenso. Los nodos deben detenerse de forma ordenada usando Ctrl+C en lugar de kill -9. Tras la actualización, los operadores deben verificar /api/node/status y la conectividad con pares tanto por HTTP como por WebSocket.
Cambios importantes
Node.js 18 ya no es compatible, requiriéndose una versión de motor de 22.13.0 o posterior. Se han eliminado puntos finales HTTP obsoletos, incluyendo rutas que contienen frases de acceso, ayudantes de chat sin uso, /delegates/fee, /normalize y controladores heredados relacionados. El campo count ahora se devuelve como un número en todos los puntos finales de listado afectados. El filtro withoutDirectTransfers ha quedado obsoleto en favor de includeDirectTransfers. La pila de criptografía se ha migrado desde el contenedor sodium a enlaces nativos sodium-native.