Using Mainnet Accounts and Programs
Oftentimes, local tests rely on programs and accounts that are not available on
the local validator by default.
The Solana CLI allows to both:
- Download Programs and Accounts
- Load Programs and Accounts to a local validator
How to load accounts from mainnet
It is possible to download the JUP token mint account to file:
# solana account -u <source cluster> --output <output format> --output-file <destination file name/path> <address of account to fetch>
solana account -u m --output json-compact --output-file jup.json JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN
Loading it to your localnet is then done by passing the account's file and destination address (on the local cluster) when starting the validator:
# solana-test-validator --account <address to load the account to> <path to account file> --reset
solana-test-validator --account JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN jup.json --reset
Similarly, it is possible to download the Openbook program:
# solana program dump -u <source cluster> <address of account to fetch> <destination file name/path>
solana program dump -u m srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX openbook.so
Loading it to your localnet is then done by passing the program's file and destination address (on the local cluster) when starting the validator:
# solana-test-validator --bpf-program <address to load the program to> <path to program file> --reset
solana-test-validator --bpf-program srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX openbook.so --reset