sbv2-solana/programs/anchor-vrf-parser
Conner Gallagher 02ee4ff61d updated example program deps 2022-07-14 08:30:39 -06:00
..
client uprev spl-token 2022-06-29 19:44:33 -06:00
src uprev spl-token 2022-06-29 19:44:33 -06:00
tests updated example program deps 2022-07-14 08:30:39 -06:00
Cargo.toml refactored example programs 2022-05-18 15:00:17 -06:00
README.md init 2022-05-17 10:42:04 -06:00
Xargo.toml refactored example programs 2022-05-18 15:00:17 -06:00
package.json updated example program deps 2022-07-14 08:30:39 -06:00
tsconfig.json cleanup 2022-06-29 21:51:29 -06:00

README.md

Switchboard VRF Cross Program Invocation Example

Example repo

Setup

npm i
find secrets/payer-keypair.json || solana-keygen new -s --no-bip39-passphrase --outfile secrets/payer-keypair.json
solana airdrop 1 secrets/payer-keypair.json
solana airdrop 1 secrets/payer-keypair.json
solana airdrop 1 secrets/payer-keypair.json
anchor build
solana-keygen pubkey target/deploy/anchor_vrf_example-keypair.json

Note the program ID.

In the following files, replace the program ID from above:

  • programs/anchor-vrf-example/src/lib.rs
  • Anchor.toml
  • solita.ts

Rebuild the program anchor build.

Devnet Testing

NOTE: Need to re-write test so use switchboard permissionless devnet queue

In Anchor.toml, set the cluster to devnet.

[provider]
cluster = "devnet"
wallet = "secrets/payer-keypair.json"

Then deploy and run the tests.

anchor test

Localnet Testing

In Anchor.toml, set the cluster to localnet.

[provider]
cluster = "localnet"
wallet = "secrets/payer-keypair.json"

Create a localnet switchboard environment

npx sbv2 localnet:env --keypair secrets/payer-keypair.json

In a new shell, start the local validator using the script output from above

chmod +x ./start-local-validator.sh
./start-local-validator.sh

In a new shell, start the local Switchboard oracle

chmod +x ./start-oracle.sh
CLUSTER=localnet ./start-oracle.sh

Run the anchor test using the already running localnet validator

anchor test --skip-local-validator