메인 콘텐츠로 건너뛰기

빠른 접근

Anchor와 Native Rust 모두에 대한 프로그램 및 테스트 스크립트를 확인해 보세요.

GitHub

Anchor 구현

GitHub

Native Rust 구현

로컬 설정 옵션

Ephemeral Rollups를 로컬에서 실행하는 방법은 세 가지입니다.
  • 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-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 오라클 실행

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 도 그에 맞게 수정하세요.