Lesson 1: Baseと周辺技術を学ぶ
このレッスンでは、Mini App開発に不可欠なBaseブロックチェーンとその周辺技術について学びます。
🔵 Baseとは
Baseは、世界最大級のCEXであるCoinbaseによって構築された高速かつ低コストなEthereumのレイヤー2(L2)ブロックチェーンです。
Ethereumのメインネットワーク(レイヤー1)が混雑し、手数料が高騰する問題を解決するために生まれました。
簡単に言うと、Ethereumの「高速道路」のような存在で、メインのネットワークよりも速く、安く取引を処理できます。
主な特徴:
- 低コスト:
Ethereumメインネットに比べて、ガス代(取引手数料)が大幅に安価です。 - 高速処理:
トランザクションが迅速に承認されます。 - EVM互換:
Ethereumと同じ開発環境(Solidity, Remix, Hardhatなど)が利用でき、既存のdAppを容易に移行できます。 - Coinbaseとの連携:
Coinbaseが提供する豊富な開発者向けプラットフォーム(Coinbase Developer Platform)の恩恵を受けることができます。
より詳しい情報や最新の統計は、公式サイトやブロックエクスプローラーで確認できます。
LAYER-2 📜 レイヤー2とは
レイヤー2(L2)は、Ethereum本体(レイヤー1)のセキュリティを継承しつつ、スケーラ ビリティ(処理能力)を向上させるために構築されたセカンダリチェーンです。
L1の負荷を軽減するために、トランザクションの大部分をL2で処理し、その結果の要約だけをL1に記録します。これにより、高速かつ安価なトランザクションが実現します。
代表的なL2技術:
-
Optimistic Rollups:
BaseやOptimismが採用するアプローチ。トランザクションは基本的に「正しい」と楽観的に(Optimistic)みなし、不正が疑われる場合にのみ検証(Fraud Proof)を行います。 -
ZK-Rollups (ZK-EVMs):
ゼロ知識証明(Zero-Knowledge Proof)を用いて、トランザクションの正しさを証明するアプローチ。StarkNetやzkSyncなどが採用しています。
各L2プロジェクトの状況は、L2BEATで詳しく確認できます。
🥞 OP Stackとは
OP Stackは、Baseが採用しているL2構築のためのオープンソースソフトウェアです。
元々はL2プロジェクトであるOptimismを動かすために開発されました。
OP Stackを利用することで、Optimism(OP Mainnet)やBaseのように、標準化され、相互運用性を持つL2チェーンを比較的容易に構築できます。
主な特徴:
-
EVM等価性:
Ethereumとほぼ同じ開発体験を提供し、既存のツールやスマートコントラクトとの 高い互換性を持ちます。 -
モジュール性:
データ可用性、実行、シーケンシングといった各機能をモジュールとして組み合わせることで、柔軟なチェーン設計が可能です。 -
Superchain構想:
OP Stackで構築されたチェーン同士が安全に通信しあう「Superchain」という未来のビジョンを支える基盤技術です。
🔗 Superchain構想とは
Superchainは、OP Stackを用いて構築された多数のL2チェーン(OP Chains)が、1つの巨大なチェーンのようにシームレスに連携するネットワーク構想です。
個々のチェーンは独立して動作しつつも、共通のブリッジとシーケンサーを共有することで、チェーン間での資産移動や通信が安全かつ効率的に行えるようになります。これにより、ユーザーは自分がどのチェーン上にいるかを意識することなく、エコシステム全体を利用できる世界の実現を目指しています。
🛠 Coinbase Developer Platform (CDP)
Coinbase Developer Platform (CDP)は、BaseエコシステムでのdApp開発を加速させるための包括的 なツール群です。
開発者がブロックチェーンアプリケーションを構築するために必要なツールが詰まった「工具箱」のような存在です。
主な提供機能:
-
Node Service (RPC):
高信頼性のRPCエンドポイントを無料で利用できます。 -
Smart Wallets:
ユーザーが秘密鍵を管理することなく、パスキーなどでdAppを利用できるウォレットソリューションです。 -
Paymaster:
dAppがユーザーのガス代を肩代わりする「ガスレス」な体験を実現します。 -
OnchainKit:
ReactベースのUIコンポーネントやフックを提供し、フロントエンド開発を簡素化します。 -
Faucet:
Base Sepoliaテストネットで利用するテスト用ETHを簡単に入手できます。
🦋 Farcasterとは
Farcasterは、分散型のソーシャルネットワークプロトコルです。
TwitterやInstagramのように投稿やフォローができますが、最大の違いはユーザーが自身のデータを完全に所有できる点にあります。
主な特徴:
-
データの所有権:
あなたの投稿、フォロー情報、プロフィールはあなた自身のものです。特定の企業に依存しません。 -
アプリケーションの自由:
同じFarcasterアカウントを使って、様々なクライアントアプリ(例: Warpcast, Supercast)からアクセスできます。 -
検閲耐性:
中央管理者がいないため、一方的にアカウントが削除されたり、投稿が消されたりするリスクが低いです。
📱 Farcaster WalletとConnected App
Farcasterを利用するには、まずWallet Appでアカウントを作成します。
これはあなたのアカウントを安全に管理する「金庫」のようなものです。
一度アカウントを作成すれば、様々なConnected App(接続アプリ)を追加して、異なるUIや機能でFarcasterを楽しむことができます。
-
Wallet App:
アカウントの作成、復元、接続アプリの管理など、所有者としての全権限を持ちます。公式クライアントであるWarpcastが代表的です。 -
Connected App:
投稿や閲覧など、Wallet Appから許可された機能のみを実行します。
この仕組みにより、万が一悪意のあるConnected Appを許可してしまっても、アカウント自体が乗っ取られるリスクを最小限に抑えることができます。
🆔 Farcaster Accountの仕組み
Farcasterのアカウントは、いくつかの要素で構成されています。
-
Farcaster ID (fid):
各ユーザーに割り当てられる一意の番号。 -
ユーザー名:
@username
形式の表示名。後から変更可能です。 -
Custody Address:
アカウントの所有権を持つEthereumアドレス。アカウントの譲渡や復元に使用します。 -
App Keys:
各Connected Appが投稿などの操作を行うために使用する鍵。 -
Recovery Address:
Custody Addressを紛失した際のバックアップ用アドレス。
また、Farcasterでは投稿などのデータを保存するために、年間約7ドルでストレージユニットを借りる必要があります。
✨ Mini Appとは
Mini Appは、Farcasterの投稿(Cast)内で直接起動・実行できるアプリケーションです。
ユーザーは外部サイトに遷移したり、アプリをダウンロードしたりすることなく、ソーシャルフィード上でシームレスにdAppを体験できます。
今回のプロジェクトで開発するシューティングゲームも、このMini Appとして実装します。
Next.jsで構築した既存のWebアプリケーションをMini App化するためのSDKとして、Coinbaseが提供するOnchainKitの一部であるMiniAppKitを使用します。