13 个不稳定版本 (3 个重大更改)
0.4.0 | 2024年6月10日 |
---|---|
0.2.5 | 2024年1月6日 |
0.2.4 | 2023年1月18日 |
0.2.3 | 2022年8月9日 |
0.2.1 | 2022年7月28日 |
#9 in #vrf
每月198 次下载
71KB
1K SLoC
带有 Anchor 的 VRF v2 Rust SDK
用于与 Solana 网络上的 orao-vrf
智能合约交互的 crate。
提供在 Solana 网络上请求可验证随机数(Ed25519 签名)的接口。
使用示例 - Rust 本地
请参阅 off-chain
示例。
跨程序调用 (CPI) 示例
浏览 cpi
以获取更多信息。
lib.rs
:
ORAO VRF
用于与 Solana 网络上的 orao-vrf
智能合约交互的 crate。
提供在 Solana 网络上请求可验证随机数(Ed25519 签名)的接口。
文档
请查阅以下函数和结构:
RequestBuilder
– 随机数请求的便捷构建器get_network_state
– 获取 VRF 配置的辅助函数get_randomness
– 获取随机数请求状态的辅助函数randomness_account_address
– 导出随机数请求状态地址的辅助函数network_state_account_address
– 导出 VRF 在链配置地址的辅助函数
跨程序调用
有关 CPI,请参阅 cpi
示例和 Request
指令的账户要求。
注意:需要启用 cpi
功能并禁用 sdk
功能。
// 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)?;
依赖关系
~18–39MB
~706K SLoC