メインコンテンツへスキップ

クイックアクセス

Anchor と Native Rust のプログラムおよびテストスクリプトを確認できます。

GitHub

Anchor 実装

GitHub

Native Rust 実装

ローカルセットアップの選択肢

Ephemeral Rollups はローカルで次の 3 通りの方法で実行できます。
  • mb-test-validator をベースレイヤーにし、ローカル ephemeral-validator を組み合わせた完全ローカル構成
  • ベースレイヤーの代替としてローカル Surfpool を使いつつ、rollup 自体もローカルで動かす構成
  • ローカル ephemeral-validator を Devnet などの公開ベースレイヤーに直接接続する構成
すべてを自分のマシン上で動かしたいなら完全ローカル構成を使います。Surfpool のワークフローを維持しながらローカル Ephemeral Rollup を試したいなら Surfpool を使います。ローカル Solana validator を起動せずにローカル rollup プロセスだけ使いたいなら Devnet オプションを使います。

重要: 正しいバリデータ ID でプログラムをアップグレードする

ローカル ER バリデータを使う場合は、アカウントが委任されるベースレイヤーに接続してください。特定の ER バリデータ ID に PDA を委任するなら、commit と undelegation がベースレイヤーで正しく完了するよう、プログラム内の delegation 設定も更新してください。

これらの公開バリデータは開発用として利用できます。委任命令には、 対象となる ER バリデータを必ず追加してください。

メインネット
  • アジア (as.magicblock.app): MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57
  • EU (eu.magicblock.app): MEUGGrYPxKk17hCr7wpT6s8dtNokZj5U2L57vjYMS8e
  • 米国 (us.magicblock.app): MUS3hc9TCw4cGC12vHNoYcCGzJG1txjgQLZWVoeNHNd
  • TEE (mainnet-tee.magicblock.app): MTEWGuqxUpYZGFJQcp8tLN7x5v9BSeoFHYWQQ3n3xzo
Devnet
  • アジア (devnet-as.magicblock.app): MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57
  • EU (devnet-eu.magicblock.app): MEUGGrYPxKk17hCr7wpT6s8dtNokZj5U2L57vjYMS8e
  • 米国 (devnet-us.magicblock.app): MUS3hc9TCw4cGC12vHNoYcCGzJG1txjgQLZWVoeNHNd
  • TEE (devnet-tee.magicblock.app): FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA
ローカルネット
  • ローカル ER (localhost:7799): mAGicPQYBMvcYveUZA5F5UNNwyHvfYh5xkLS2Fr1mev
1

Ephemeral Validator CLI をインストール

npm install -g @magicblock-labs/ephemeral-validator@latest
2

ローカル Solana ベースレイヤーを起動

mb-test-validator は完全ローカル構成のベースレイヤーとして使えるローカル Solana validator を起動します。
mb-test-validator --reset
この構成では RPC に http://localhost:8899、WebSocket に ws://localhost:8900 を使います。
3

localhost にプログラムをデプロイまたはアップグレード

cargo build-sbf
solana config set --url localhost
solana program deploy YOUR_PROGRAM_PATH
4

ローカル ephemeral validator を起動

ローカル Ephemeral Rollup をローカル Solana validator に接続します。
ephemeral-validator --remotes "http://localhost:8899" --remotes "ws://localhost:8900" -l "7799" --lifecycle ephemeral
5

ローカル rollup に対してテストを実行

ローカル rollup は RPC が http://localhost:7799、WebSocket が ws://localhost:7800 で公開されます。
EPHEMERAL_PROVIDER_ENDPOINT=http://localhost:7799 \
EPHEMERAL_WS_ENDPOINT=ws://localhost:7800 \
PROVIDER_ENDPOINT=http://localhost:8899 \
WS_ENDPOINT=ws://localhost:8900 \
yarn test

ローカルで VRF Oracle を動かす

VRF をエンドツーエンドでテストしたい場合は、ローカルの vrf-oracle をローカルテストキューに接続して実行します。
1

最新の Ephemeral Validator CLI をインストール

npm install -g @magicblock-labs/ephemeral-validator@latest
2

ローカル Solana validator を起動

mb-test-validator --reset
3

ephemeral validator を起動

ephemeral-validator --remote-url "http://localhost:8899" --rpc-port 7799 --lifecycle ephemeral
4

ローカル VRF オラクルを起動

このオラクルはリクエストをローカルテストキューに追加します。
VRF_ORACLE_SKIP_PREFLIGHT="true" RPC_URL="http://localhost:8899" WEBSOCKET_URL="ws://localhost:8999" RUST_LOG=info vrf-oracle
ローカル validator が別の WebSocket ポートを使う場合は、WEBSOCKET_URL を適宜変更してください。