SuperAPI AI 工具集

cartridge-vrng

通用与其它

查看项目

更新于 10-15 20:10

技能介绍

用途:为链上游戏提供廉价、原子化、可验证的随机数。随机数在单笔交易内生成并验证。

合约地址:Mainnet 与 Sepolia 均为 0x051fea4450da9d6aee758bdeba88b2f665bcbf549d2c61421aa724e9ac0ced8f。

Cairo 接口:IVrfProvider 提供 request_random(caller, Source) 与 consume_random(Source) -> felt252。Source 为枚举:Nonce(ContractAddress) 使用地址内部 nonce,每次请求生成不同种子;Salt(felt252) 使用给定盐,相同盐得到相同随机值。

用法:合约中声明 VRF_PROVIDER_ADDRESS,调用 vrf_provider.consume_random(Source::Nonce(player_id)) 获取随机值用于游戏逻辑。链下执行时,request_random 必须是 multicall 的首个调用,随后跟上游戏调用;Cartridge Paymaster 会用 submit_random 与 assert_consumed 包裹该 multicall。request_random 中的 source 必须与 consume_random 中的 source 一致。通过 Controller 策略授权时,需将 vRNG 合约的 request_random 方法加入 policies。

安全与限制:Phase 0 假设 Provider 未泄露私钥且不与玩家串通;未来计划将 Provider 迁移至可信执行环境(TEE)。资料未提供收费、价格、性能数据及更多使用步骤。