ARK Core v2.3: Interfaz de transacción genérica, campo SmartBridge más grande y ID de bloque SHA256 completos
¿Qué hay de nuevo en Core v2.3?
1. AIP 29: Interfaz de transacción genérica
2. Mayor tamaño del Vendorfield (64 a 255 Bytes)
3. ID de bloque SHA256 completo
Para los operadores de nodes del actual ARK Core, para actualizar, por favor siga los siguientes pasos
estas instrucciones de migración (v2.2 a v2.3):
https://docs.ark.io/releases/v2.3/migrating_2.2_2.3.html
Algunos otros cambios en la versión 2.3 incluyen:
Core Tester CLI ha sido completamente reescrito desde cero. Este conjunto de herramientas ayuda a los desarrolladores generan rápidamente transacciones, envían transacciones, generan direcciones,
y más.Winston logger ha sido reemplazado por Pino, lo que mejora significativamente el rendimiento del registro cuando genera una gran cantidad de datos en situaciones como la sincronización. Pino también es una integración mucho más liviana que Winston, esencialmente reduciendo la gran cantidad de dependencias en Core.
Como parte de AIP29, el campo de activo fijo de movimiento debe almacenarse directamente en el tabla de transacciones. Un buen efecto secundario es que el verificador de integridad ahora puede consultar directamente los activos de la transacción sin tener que deserializarlos, lo que supone un gran coste para el cliente. acelera el inicio del node. La migración inicial puede durar hasta unos minutos. ya que necesita rellenar la columna de activos fijos para todos los registros existentes.
Añadidos 5 nuevos eventos para hacer que algunos datos sean potencialmente difíciles de obtener más accesible:
block.received: generado cuando un nuevo bloque está entrando
block.disregarded: generado cuando un nuevo bloque es ignorado
transaction.pool-added: generado cuando las transacciones se agregan al pool, siempre genera una variedad de transacciones.
transacción.pool.no added: generado cuando las transacciones no se añaden al pool, siempre genera un array de transacciones.
transaction.pool.removed: generado cuando una transacción es eliminado por su ID, sólo emite el ID de la transacción.
Validación adecuada de que la dirección del destinatario está en la red correcta, mitigando el envío a direcciones erróneas en otras blockchains (BTC, ETH, ....).
La falta por slip44 y wif de la red ahora también están disponibles a través del node configuración del punto final de la API.
El número de participantes activos se puede ajustar ahora mediante objetivos intermedios y Core adapta dinámicamente los tamaños de las rondas. Por ejemplo, un bridgechain podría comenzar ahora con 5 delegados y cambiar a 11 después del bloque número 10.000.
La implementación de Axios ha sido reemplazada por Got, que es una librería mucho más ligera. Axios también tiene problemas conocidos con los timeouts que pueden causar problemas al azar y que están bien mantenidos como Got.
El Core de la integración Webhook de SQLite3 ha sido reemplazado por lowdb reduciendo significativamente el tamaño del paquete y sus dependencias.
Las tablas de billeteras se han retirado de la base de datos ya que no se han utilizado desde el principio. el lanzamiento de Core v2 (era una reliquia de Core v1). Esto reducirá el tamaño de la blockchain ARK y hacerla más delgada, eliminando los datos obsoletos que son accesible por otros medios. Toda la información relacionada con la billetera se sirve desde en memoria, que es mucho más rápido y le proporciona datos instantáneos en tiempo real.
Se reemplazó micromatch (182 dependencias, 4.17M) con nanomatch(11
0,27 millones) para un mejor rendimiento global y reducir el número de dependencias junto con el tamaño de las mismas.
Más cambios y correcciones en Core v2.3 se pueden encontrar más adelante en la entrada del blog.
¿Qué sigue para Core?
Cambios en los números (de 2.2 a 2.3)
- 14 desarrolladores diferentescontribuyendo al Core.
- 185 nuevos compromisos con el Core.
- 1.198 archivos cambiados en el Core.
- 40.894 códigos añadidosal Core.
- 38.593 eliminaciones de códigos en el Core.
Rompiendo los cambios
- Eliminado la tabla de billeteras de la base de datos
(#2209)* - Reemplazar SQLite3 con lowdb en
core-webhooks(#2124) - Reemplazo de core-logger-winston por core-logger-pino
(#2134) - Reescribió core-tester-cli desde cero
(#2133) - Fusionó core-debugger-cli en core-tester-cli y lo desaprovechó.
(#2133) - Utilice el node.js EventEmitter de eventos en lugar de eventemitter3
(#2329)
Añadido
Implementar AIP29
(#2122)Buscar delegados por su nombre de usuario en core-api
(#2143)Implementado el comando de reinstalación del Ark en el core
(#2192)Añadido el flag --force al comando ark update en core
(#2190)Se han añadido más parámetros para las búsquedas de delegados en core-api
(#2184)Añada el /v2/delegates/active endpoint a core-api
(#2205)Añadidas banderas de reinicio al comando de actualización de ark en core
(#2218)Añadido el comando make:block a core-tester-cli para crear bloques
( #2221)Columna de activo fijo de la transacción añadida a la base de datos
(#2236)Añadido el paquete core error-tracker-rollbar
(#2287)Añadido el paquete de la core error-tracker-raygun
(#2288)Añadido el paquete core-error-traker-airbrake
(#2289)Añadido el paquete core logger-signale
(#2343)Añadido más eventos para los bloques y el pool de transacciones
(#2321)Vale de slip44 y wif a través de v2/node/configuration
(#2388)
Arreglado
Clasificar correctamente a los peers por su versión
(#2229)Fuga de memoria en el proceso de monitorización de machos falsificadores
(#2341)Maneje tamaños redondos dinámicos con los objetivos
(#2370)Validar que un destinatario de la transacción está en la misma red
(#2394)Manejar filas vacías en mapBlocksToTransactions
(#2404)Prevenir la indexación/creación de carteras fantasmas
(#2405)Rechazar transacciones de remitentes con registros de segunda firma pendientes y no retroceder cuando se rechaza un bloque
(#2458)
Cambiado
Aumentado la longitud del campo del proveedor a 255 bytes
(#2159)Se ha sustituido el micromatch por el nanomatch para mejorar el rendimiento.
(#2165)Reemplazo de axios con axios para resolver problemas de tiempo de espera conocidos con axios
(#2203)Identificación del bloque de interruptores a SHA256 completo
(#2156)
Eliminado
- Eliminado el código de bandera de reconstrucción rápida que no se ha utilizado desde la versión 2.0.
(#2210)
Agradecimientos especiales
Congratulations @valentinas23! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Vote for @Steemitboard as a witness to get one more award and increased upvotes!