⚠️ Important: Upgrade your program with local validator identity
When using a local ER validator, you need to connect it to your preferred base layer (e.g.,mainnet-beta,devnet, orlocalhost) where the accounts are delegated. To delegate your PDA to aspecific ER validator identity, you must update thedelegation configin your program. This ensures that accounts can be properly committed and undelegated on the base layer.
These public valdiators are supported for development. Make sure to add the
specific ER validator account when delegating:
- Asia (devnet): MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57
- EU (devnet): MEUGGrYPxKk17hCr7wpT6s8dtNokZj5U2L57vjYMS8e
- US (devnet): MUS3hc9TCw4cGC12vHNoYcCGzJG1txjgQLZWVoeNHNd
- TEE (devnet): FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA
- Local ER (localhost): mAGicPQYBMvcYveUZA5F5UNNwyHvfYh5xkLS2Fr1mev
Deploy and test on base layer via correct validator identity
- solana-test-validator (localhost)
- devnet
1
Set up Solana Test Validator (Localhost) and deploy your upgraded program
- Install
solana-test-validator:
- Install the latest MagicBlock Ephemeral Validator:
- Run
solana-test-validatorwith cloned delegation program and accounts from Devnet:
- Upgrade and deploy your program to localhost:
- Rust Native
- Anchor
2
Run MagicBlock ER validator (Localhost)
Run the local ephemeral validator pointing to localhost:
3
Test program instructions and delegation (Localhost)
Run your tests against the local ephemeral validator:
- Rust Native
- Anchor

