graphprotocol / graphprotocol/hypergraph
Mechanism to await a mutation and be sure it was indexed
オープン
まだ誰も着手していません。
Schema SDK
- 主要言語
- TypeScript
- スター
- 22
- フォーク
- 12
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
You can get the transaction hash and block number back from the chain at publish-time, but there’s no guarantee that the transaction has actually been indexed yet. We run into this problem in the web app, too. We solve it by just keeping published data in the local store even after it’s published until the user leaves the page. (edited)
There’s a few solution spaces
- Have a mechanism to poll the API looking for your edit id and return when it finds it (this can just be part of syncing in the future)
- Publish edits through an API which returns when it finds your edit in the indexer API
- I think we should incorporate block hash into the API. So you can say “query as of this block hash” or where block > x, or something like that and have a metadata field so you can get back from the server what block it was executed against. I think that should get us through the story here
Probably should be tooling that exists in grc-20-ts?
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず grc-20-ts のツール群と、publish、sync、indexer-API のエントリポイントを特定します。polling、publish-through-API、block-hash の各アプローチを比較し、その後、mutation が index から見つけられるようになってからのみ戻ることをメカニズムの完了条件として定義します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript
- 領域
- api, blockchain, tooling
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100