OP Stack L2 Chain

Sunriseのデータ可用性レイヤーは、OP Stackを使用して作成されたレイヤー2ブロックチェーンをサポートしています。 これは、OP Stackを使用して作成されたL2チェーンをSunrise DataでSunriseチェーンに接続するためのガイドです。データ可用性レイヤーは、Sunrise v0.3.0以降でサポートされています。

このバージョンのOPスタックでは、L1 EVMチェーンの運用が必要です。何らかのテストネットまたはローカルチェーンを使用してください。

OPスタックの設定方法

例として、OP Stackを使用してL2チェーンを作成し、Sunriseのデータ可用性レイヤーで実行する方法を以下に示します。

このガイドでは、OPスタックの要件を満たすためにEthereum Sepoliaテストネットを使用していますが、ローカルEVMチェーンでも動作します。

依存関係

Ubuntu 22.04の依存関係と一般的なインストール手順。

  • node

      curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt-get install -y nodejs
  • pnpm

      curl -fsSL https://get.pnpm.io/install.sh | sh -
  • foundry

      curl -L https://foundry.paradigm.xyz | bash
  • just

      wget -qO - 'https://proget.makedeb.org/debian-feeds/prebuilt-mpr.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg 1> /dev/null
      echo "deb [arch=all,$(dpkg --print-architecture) signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr $(lsb_release -cs)" | sudo tee /etc/apt/sources.list.d/prebuilt-mpr.list
      sudo apt update
      sudo apt install just

Optimismロールアップテストネットの設定

Optimism

  1. optimismリポジトリをクローンします

  2. 正しいブランチをチェックアウトします

ドキュメント更新時点で最新バージョンでの動作を確認しています。他のバージョンを使用する場合は、差異を確認してください。

  1. すべての依存関係があることを確認するために以下を実行します

  2. Optimismに関連するすべてのパッケージをビルドします

    この手順で問題が発生した場合は、バージョンがoptimismのドキュメントと一致していることを確認してください。具体的には、goのバージョンをダウングレードする必要がある場合があります。

  3. op-gethをクローンしてビルドします

サポートされているop-gethの詳細については、optimismリポジトリのProduction Releasesを確認してください。

  1. 環境変数を入力します

    optimismリポジトリで次のコマンドを使用してアドレスを生成するスクリプトを実行します: ./packages/contracts-bedrock/scripts/getting-started/wallets.sh

    出力は次のようになり、これを環境ファイルに貼り付ける必要があります:

    RPC URLのAPIキーはInfuraまたは他のプロバイダーで見つけることができます。

  2. 十分なSepolia ETHでアドレスに資金を供給します。optimismのドキュメントでは以下を推奨しています:

    • 管理者 — 0.5 Sepolia ETH

    • 提案者 — 0.2 Sepolia ETH

    • バッチャー — 0.1 Sepolia ETH

    参照:Sepolia PoW Faucet

  3. direnvで環境変数をロードします direnv allow その後、次のようなものが表示されるはずです:

    何も出力されない場合は、試してください

    nano ~/.zshrc

    nano ~/.bashrc

    bashとzshのどちらを使用するかに応じて、次の行を追加します

    変更を保存します

    source ~/.zshrc

    source ~/.bashrc

  4. ネットワークを設定します

    **deploy-config/getting-started.json**ファイルで設定を表示できます 生成された設定の末尾に以下を追加します

  5. L1コントラクトをデプロイします

    L2 Allocs

    --chainにL2チェーンIDを使用してください。

    EvmError: RevertScript failedを含む不明なエラーが表示された場合は、IMPL_SALT環境変数を変更する必要がある可能性があります。この変数は、CREATE2(新しいタブで開く)を介してデプロイされるさまざまなスマートコントラクトのアドレスを決定します。同じIMPL_SALTを使用して同じコントラクトを2回デプロイすると、2回目のデプロイは失敗します。Optimism Monorepoのどこでもdirenv allowを実行することで、新しいIMPL_SALTを生成できます。

  6. L2設定ファイルを生成します

    生成されたrollup.jsonの末尾を確認します

  7. 認証キーを作成します

  8. genesisファイルをop-gethディレクトリにコピーします

  9. op-gethを初期化します

L2を開始

optimismを開始する前に、sunrisedsunrise-dataなどを設定してください。

Sunrise Data

  1. op-gethを開始します

  2. op-nodeを開始します

    --altda.da-serverは、da-sererのhttp URLです

  3. op-batcherを開始します

  4. op-proposerを開始します

  5. 動作

最終更新