見出し画像

【完全保存版】SonicのHypergridの流れをつかもう!

この記事は、こちらの公式ドキュメントを翻訳・編集したものです。

ここでは、HyperGridアーキテクチャ内で、Solanaベースレイヤーからデータを読み取り更新を同期するためのフローを紹介します。

1 SolanaからHyperGridへのデータ読み取り

1 SolanaからHyperGridへのデータ読み取り

上記の図は、SolanaからHyperGrid上のグリッド(例:Sonic)への状態同期を行う際のフローを示しています。

1 初期ロード

事前に存在するSolanaプログラムがストレージからHyperGridのキャッシュにロードされます。

2 ユーザーによるリクエスト

ユーザーが特定のプログラムの読み取り要求をHyperGridSonic RPCに送信します。

3 キャッシュの確認

同期プログラムキャッシュ内で要求されたプログラムをチェックします。

ここでは見つからない場合を想定します。

4 ベースレイヤーへのリクエスト

同期プログラムはSolanaベースレイヤーRPCにプログラムのリクエストを送信します。

5 ベースレイヤーによる応答

Solanaベースレイヤーがプログラムデータで応答します。

6 同期プログラムの更新

同期プログラムが応答を受け取り、HyperGridのキャッシュを新しいプログラムデータで更新します。

7 同期プログラムによる応答

同期プログラムは読み取り応答をSonic RPCに送信します。

8 Sonic RPCによる応答

Sonic RPCがユーザーに読み取り応答を転送します。

2 Solanaベースレイヤーへの更新の同期

次の図は、HyperGrid上のグリッド(例:Sonic)からSolanaへの状態同期を行う際のフローを示しています。

1 初期ロード

事前に存在するプログラムがストレージからHyperGridのキャッシュにロードされます。

2 ユーザーによるリクエスト

ユーザーが特定のプログラムに対する書き込み要求をHyperGridのSonic RPCに送信します。

3 キャッシュの確認

同期プログラムがキャッシュ内で要求されたプログラムをチェックします。

ここでは見つからないと仮定します。

4 プログラムのロックリクエスト

同期プログラムはSolanaベースレイヤー上でプログラムをロックするリクエストを送信します。

5 ベースレイヤーによるロック

SolanaベースレイヤーRPCが要求されたプログラムをロックします。

6 ベースレイヤーによる応答

Solanaベースレイヤーがプログラムデータで応答します。

7 同期プログラムの更新

同期プログラムが応答を受け取り、HyperGridのキャッシュを新しいプログラムデータで更新します。

翻訳者注
まずはここでHyperGridのデータが書き換わっていますね。

8 ロックの解除&書き込みリクエスト

同期プログラムはロックを解除し、プログラムの更新データをSolanaベースレイヤーに書き込むリクエストを送信します。

9 ロックの解除&書き込み

SolanaベースレイヤーRPCがロックを解除し、更新データを書き込みます。

10 同期プログラムによる応答

同期プログラムは書き込み応答をSonic RPCに送信します。

11 Sonic RPCによる応答

Sonic RPCがユーザーに書き込み応答を転送します。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊