15 unstable releases (5 breaking)

new 0.6.1 May 5, 2025
0.6.0 Mar 22, 2025
0.5.0 Jan 13, 2025
0.4.0 Jun 10, 2024
0.2.1 Jul 28, 2022

#182 in Magic Beans

Download history 370/week @ 2025-01-14 212/week @ 2025-01-21 126/week @ 2025-01-28 275/week @ 2025-02-04 267/week @ 2025-02-11 155/week @ 2025-02-18 234/week @ 2025-02-25 95/week @ 2025-03-04 351/week @ 2025-03-11 430/week @ 2025-03-18 260/week @ 2025-03-25 75/week @ 2025-04-01 146/week @ 2025-04-08 96/week @ 2025-04-15 314/week @ 2025-04-22 259/week @ 2025-04-29

824 downloads per month

Apache-2.0

72KB
1K SLoC

VRF v2 Rust SDK with Anchor

Crate to interact with orao-vrf smart contract on Solana network.

Provides interface to request for a verifiable randomness (Ed25519 Signature) on the Solana network.

API-Docs

Usage example - Rust Native

Please look at the off-chain example.

Cross-Program-Invocation (CPI) example

Browse through the cpi for more info.


lib.rs:

ORAO VRF

Crate to interact with orao-vrf smart contract on Solana network.

Provides an interface to request verifiable randomness (Ed25519 Signature) on the Solana network.

Documentation

Please look into the following functions and structures:

Cross Program Invocation

For CPI please look into the cpi example and account requirements for the Request instruction.

Note: requires cpi feature to be enabled and sdk feature to be disabled.

// assuming ctx to be a context of an instruction that performs CPI
let vrf_program = ctx.accounts.vrf.to_account_info();
let request_accounts = orao_solana_vrf::cpi::accounts::Request {
    payer: ctx.accounts.player.to_account_info(),
    network_state: ctx.accounts.config.to_account_info(),
    treasury: ctx.accounts.treasury.to_account_info(),
    request: ctx.accounts.request.to_account_info(),
    system_program: ctx.accounts.system_program.to_account_info(),
};
let cpi_ctx = CpiContext::new(vrf_program, request_accounts);
orao_solana_vrf::cpi::request(cpi_ctx, seed)?;

Dependencies

~12–36MB
~597K SLoC