Nebula VRF
DocsOn-chain contract

Contract interface

Contract IDs:

Contract IDs
Mainnet
CDLBUXLWQDRVVDYECDUVUOS3UG2YHZ4ZPDM3PKY5XSSX6DLMSNJOBPTY
Testnet
CBLC5COYONIRCPWWCRNE6S2EOYJ7IQOWI7RUDG5ZVPHCLZW2KXFFCK2Q

Nebula VRF exposes these functions:

  • commit(user: Address, commitment: BytesN<32>, pubkey: BytesN<96>)
  • reveal(user: Address, seed: Bytes, salt: Bytes, signature: BytesN<192>) -> BytesN<32>
  • derive_random(randomness: BytesN<32>, context: Bytes) -> u64
  • get_commitment(user) -> Option<BytesN<32>>
  • get_pubkey(user) -> Option<BytesN<96>>

Auth model

  • commit requires user.require_auth() (the user signs the transaction)
  • reveal is permissionless; verification is cryptographic

On this page