Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[CLI] Introduce ability to limit block number fetched by get logs in epoch switching

Abierto Apto para principiantes
#786 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
typescript
Área
cli

Línea de trabajo

Comienza en EpochManager.ts y sigue la llamada getLogs para los eventos GroupProcessed durante el cambio de epoch. Verifica el comportamiento con respecto al límite público de RPC de 1000 bloques y, después, asegúrate de que el rango de consulta sea configurable y de que se obtengan los eventos de toda la epoch. Se considera terminado cuando ninguna solicitud supera el rango de bloques configurado y el cambio de epoch sigue recopilando todos los eventos coincidentes.

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

Descripción

Currently epoch switching is querying all blocks within given epochs for events (getLogs).
Public forno api limits them to 1000. It would be amazing to have configurable block limit for querying.

Potential solution in EpochManager.ts:

// Public RPC nodes cap eth_getLogs to a 1000-block range; an unprocessed epoch
// can span a full day of blocks, so page the GroupProcessed query.
private static readonly GETLOGS_RANGE = 1000

private getGroupProcessedEvents = async (fromBlock: number): Promise<EventLog[]> => {
  const latest = Number(await this.client.getBlockNumber())
  const events: EventLog[] = []
  for (let start = fromBlock; start <= latest; start += EpochManagerWrapper.GETLOGS_RANGE) {
    const toBlock = Math.min(start + EpochManagerWrapper.GETLOGS_RANGE - 1, latest)
    events.push(...(await this.getPastEvents('GroupProcessed', { fromBlock: start, toBlock })))
  }
  return events
}

// replace the call:
const fromBlock = (await this.getFirstBlockAtEpoch(await this.getCurrentEpochNumber())) + 1
const groupProcessedEvents = await this.getGroupProcessedEvents(fromBlock)
Lenguaje dominante
TypeScript
Estrellas
43
Forks
36
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

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 celo-org/developer-tooling

Todos los issues de celo-org/developer-tooling

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.