graphprotocol / graphprotocol/graph-node
`web3call` provider validation on start
まだ誰も着手していません。
- 主要言語
- Rust
- スター
- 3.2k
- フォーク
- 1.1k
- 平均マージ
- 4日 1時間
- マージ済み PR(30日)
- 1
説明
Do you want to request a feature or report a bug?
bug
What is the current behavior?
When provider of type web3call specified, graph-node doesn't validate it on start. So you can specify any non-existing URL and graph node will not notice it until the first eth_call call.
I guess the issue is that EthereumNetworks::flatten() method that's used for provider validation, omits call_only_adapters field
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
Add a provider with non-existing url:
{ label = "calls", details = { type = "web3call", url = "http://asdf", features = [ "archive" ] }},
What is the expected behavior?
Should drop that provider on start.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
chain/ethereum/src/network.rs、特に EthereumNetworks::flatten() から始め、provider の検証中に call_only_adapters がどのように扱われるかを調べてください。存在しない URL http://asdf を使用する web3call provider で問題を再現し、無効な provider が最初の eth_call の時点ではなく、起動中に削除されることを確認してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- backend, blockchain
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 48/100