graphprotocol / graphprotocol/graph-node

[Feature] EIP-4844 Blob support

オープン
#5,212 コメント 3 件 リアクション 7 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

open discussion Stale
主要言語
Rust
スター
3.2k
フォーク
1.1k
平均マージ
4日 1時間
マージ済み PR(30日)
1

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

実装ファイルやテストは指定されていません。まず graph-node に既存の Ethereum RPC と subgraph のデータパスを調査し、次に Consensus Layer へのアクセス、blob の保持と決定性、コンテンツ形式に関する問題を解決します。完了の条件は、subgraphs が EIP-4844 blob データにアクセスし、パースしてデコードでき、定義済みの過去データに対する動作があることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
blockchain, rust
領域
backend-api-design, blockchain
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。