EVM: Set FinalizedHash correctly in `forkChoiceUpdatedV3` call in ExecuteTxs

Abierto
#2,402 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
go
Área
blockchain

Línea de trabajo

Comienza en la implementación EVM de ExecuteTxs, en la primera llamada a forkChoiceUpdatedV3, y después lee PR 2394 y las rutas de inicio de Rollkit Store y engineClient mencionadas en el issue. Determina si el estado finalizado debe provenir de DA Included Height o de hashes persistidos, y define las comprobaciones de coherencia al iniciar para los hashes de head, safe y finalized. Se considera terminado cuando los reinicios y los indexadores reciben hashes de bloque coherentes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

C:evm T:code-hygiene

In https://github.com/rollkit/rollkit/pull/2394, in order to have sequencer restarts work well, we modified the first call to forkChoiceUpdatedV3 in the ExecuteTxs EVM implementation to assign the previous block hash to HeadBlockHash, SafeBlockHash, and FinalizedBlockHash.

We should revisit this and take one or more of the following approaches:

  1. Set the FinalizedBlockHash based on the DA Included Height from the Rollkit Store. For the Head and Safe block hashes, use the Rollkit height which should be the same as the reth block height but it might be good to actually sanity check that on startup and set them in engineClient correctly on start.
  2. Persist the current versions of head, safe, and finalizedBlockHashes somewhere so on restarts they can be loaded back easily.

The concrete consequences of setting finalizedHash incorrectly are unknown currently but it'll likely be at least an issue in indexers and block explorers showing inconsistent finalized block hashes for a small period of time.

Lenguaje dominante
Go
Estrellas
361
Forks
281
Merge medio
2 d 23 h
PR fusionados (30 d)
15

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de evstack/ev-node

Todos los issues de evstack/ev-node

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.