Technical Crypto OS第3段階 · フルスタックのオンチェーンアプリケーション
ステージ三の案内
Full-stack Onchain Application。ウォレット、画面の状態機械、バックエンド、データベース、インデックス、リアルタイム配信。
このステージで考える問題
コントラクトはシステムの一部です。実際に使える製品には、次の問いへの答えも必要です。
- ユーザーはどうログインし、署名は何を承認し、どう取り消せるか?
- 取引の確認を待つ十数秒で、画面は何を表示すべきか?
- チェーンにすでにデータがあるのに、なぜバックエンドとデータベースが必要か?
- ブロック再編が起きたら、データベースに保存した情報をどうするか?
最後の問いが、このステージの分岐点です。再編を正しく処理できるインデクサーと、デモだけ動くインデクサーは、異なるものです。
六つの章
T13Wallet Connection
dApp にログインするとき、実際には何が起きるか?
Wallet AdapterSIWESessionApproveRevoke
T14Web3 Frontend
取引が承認を待つ十数秒間、画面には何を表示すべきか?
Transaction StateOptimistic UIError MappingReorg Handling
T15Backend for Crypto
データが既にオンチェーンにあるのに、なぜバックエンドが必要なのか?
APIQueueCacheIdempotencyRate Limit
T16データベースとオンチェーンデータ
オンチェーンデータをどうデータベースに保存するべきか?
PostgreSQLRedisEvent ModelUpsertCheckpoint
T17Indexer
ブロックチェーンの再編成後、データはどうなるか?
Block ScannerEvent IndexReorgCheckpointBackfill
T18Realtime System
チェーン上の変化をリアルタイムでユーザーにどう届けるか?
WebSocketSubscriptionStreamBackpressureReplay
このステージを終えると
ウォレット接続、取引送信、イベントのインデックス化、リアルタイム更新を備えた DApp を独力で提出できます。
ステージの成果物:フルスタック DApp。
学習のヒント
- T14 の取引状態機械を、置き換えと失敗も含む六つの状態すべてで実装してください。多くの教材は成功経路しか扱いません。
- T17 の受け入れ基準は厳密です。どの高さから再実行しても、結果が元の結果と完全に一致する必要があります。これを満たせば、インデックスの経験を語る多くの人を超えています。