graphprotocol / graphprotocol/graph-node
[Feature] Query data from a fixed amount of blocks before latest
Nessuno ha ancora preso questa issue.
- Lingua principale
- Rust
- Stelle
- 3.2k
- Fork
- 1.1k
- Merge medio
- 4g 1h
- PR unite (30g)
- 1
Descrizione
Description
A nice DevX improvement would be to allow querying for data in a way akin to this
query {
someEntity(block: {
number: -100
}) {
# fields ...
}
}
This query would fetch data at block latest - 100.
The rationale here is that a very common use case is to fetch data at a fixed amount of blocks prior to the tip to avoid data inconsistencies due to chain reorgs (or, in other words, to ensure data finality). AFAIK, right now the only way to do that is to first query the latest indexed block, and then perform the desired query at latest - n, which is cumbersome and repetitive.
Are you aware of any blockers that must be resolved before implementing this feature? If so, which? Link to any relevant GitHub issues.
No response
Some information to help us out
- Tick this box if you plan on implementing this feature yourself.
- I have searched the issue tracker to make sure this issue is not a duplicate.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Non vengono indicati file né test. Inizia tracciando la gestione esistente degli argomenti dei blocchi in GraphQL e il meccanismo utilizzato per ottenere l'ultimo blocco indicizzato. Conferma come deve essere risolto un numero di blocco negativo rispetto al tip e come viene gestita la finalità dei reorg; il lavoro è completo quando la query di esempio funziona senza una richiesta separata dell'ultimo blocco ed è coperta da test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- graphql, rust
- Ambito
- api, blockchain
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100