graphprotocol / graphprotocol/graph-node

[Feature] EIP-4844 Blob support

Aperta
#5,212 3 commenti 7 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

open discussion Stale
Lingua principale
Rust
Stelle
3.2k
Fork
1.1k
Merge medio
4g 1h
PR unite (30g)
1

Descrizione

Description

Proto-danksharding is slated for deployment on the Ethereum mainnet in March, following its successful implementation on test networks. The primary focus of EIP-4844 has been on Layer 2 (L2) solutions, which will utilize the new Type 3 transactions for data storage, rather than depending on the (comparatively) expensive calldata. However, it's anticipated that various other applications will also adopt this innovation. There's already discussion among DeFi dApps about exploring this capability.

We don't know how it will be used, but graph-node should support blobs and allow subgraphs to parse and decode the data to make it usable by developpers. This feature would allow developers to access the information without needing to resort to potentially costly RPC calls. The Graph might also offer an effective solution to the data retention challenges posed by EIP-4844.

Several technical questions need addressing:

  • Determinism: By default, consensus layer (CL) nodes will only store blob data for a very brief period. This implies that subgraphs indexed at different times will capture varying data sets. The network lacks support for synchronizing this data, but indexers might have the option to retrieve historical data by other offline means, though this is yet to be confirmed.
  • Consensus Layer (beacon chain/eth2) Support: At present, graph-node does not support RPC calls to CL nodes.
  • Standardization of Blob Content Format: The format for blob content has not been standardized.
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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Non vengono nominati file di implementazione o test. Inizia esaminando i percorsi dati esistenti di Ethereum RPC e dei subgraph in graph-node, quindi risolvi le questioni relative all’accesso alla Consensus Layer, alla conservazione e al determinismo dei blob e al formato dei contenuti; il lavoro sarà completo quando i subgraph potranno accedere ai dati blob di EIP-4844, analizzarli e decodificarli, con un comportamento storico definito.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
blockchain, rust
Ambito
backend-api-design, blockchain
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.