Plugin,a Decentralized Oracle built on XDC Network
  • Migrating from Plugin Node V2 to V2.4 Without Changing the Node Address
    • 1 - Backup on Plugin Node V2.0
    • 2 - Installation and Configuration of Plugin Node V2.4
    • 3 - Importing PluginV2 Node Address into PluginV2.4
    • 4. Backup After Plugin V2.4 Upgrade
  • Plugin 2.0 - Node Operators
    • Introduction
    • Unstake PLI Tokens from Plugin 1.0 Node
    • Plugin 2.0 Set Up Requirements
    • Node Installation
      • Node Fulfillment
      • Job Setup
        • Steps to Setup Direct Request Job
      • Process of Approval
    • How to Update Your Plugin Node for the Latest XDC Gas Fee
  • PLUGIN 2.0 - Validators
    • Introduction
    • Set-up Requirements
    • Job Setup
      • Steps to Setup Direct Request Job
      • Flux Monitor Job
        • Idle Timer
        • Drum Beat
        • Poll Timer
        • POLL TIMER + IDLE TIMER (Recommended)
      • Process Of Approval
      • Rewards Information
    • OCR Set-up
    • How to Update Your Plugin Node for the Latest XDC Gas Fee
  • WALLET
    • XDCPay - Apothem
    • XDCPay - Mainnet
  • PLUGIN VRF SUBSCRIPTION
    • Introduction
    • Guidance on Utilizing Random Values
    • Creation and Deployment of VRF-Consumer Contract
    • Requesting Random Values
  • Multichain
    • PLISwap - How to instructions
  • Plugin Data Feeds platform
    • Introduction
    • End data consumers - Mainnet
    • End data consumers - Apothem
    • Benefits
  • Restaking Model
    • Introduction
      • Scenarios in Re-staking Model
      • Benefits To Node Members
      • Steps for Restaking
  • Tips and tricks
    • Known-Issues
    • Open-Issues
  • Plugin 1.0 Installations - Deprecated
    • How to install Plugin 1.0 Node
      • Modular Method Deployment (Recommended Approach)
      • Script Method (Legacy)
        • Script - Phase 1
        • Script - Phase 2
      • Docker Method
        • Docker - Phase 1
        • Docker - Phase 2
    • Core Adapters
    • Fund your Node
  • External Initiators - Deprecated
    • Introduction
    • Installation
    • Setup & Build
  • Oracle Plugin 1.0 - Deprecated
    • Deployment
    • Fulfillment Request
    • Job-Setup
    • Testing
  • Job-Tasks Plugin 1.0 Deprecated
    • Sleep
    • Get > Bytes32
    • HttpGet
    • CRON
    • Web
  • External Adapters Plugin 1.0 - Deprecated
    • Introduction
    • Implement External -Adapters
    • Define Bridge
    • Add Bridge to Job Spec
  • Deprecated
    • How to use
  • Use Cases
    • Plugin WFN Use Case
      • Plugin WFN Data Review
      • Plugin WFN Use Case - FAQ
      • Plugin WFN - Ambient Weather Unit Onboarding Instructions
      • Plugin WFN - Acurite Weather Unit Onboarding Instructions - LEGACY
      • Unlock WFN Node
    • Crypto Compare - Pricing Index
  • Node Operators
    • How to Register / Sign-up
    • How to enable 2FA
    • How to update profile
    • How to add XDC Wallet Address
    • How to Navigate Dashboards
    • How to submit Node Details
    • How to stake PLI token for Plugin Node
    • How to add Job to your node
    • View the node details
    • De-Activate / Re-activate my nodes
    • Withdraw staked PLI
    • Withdraw PLI from Plugin Node
    • Withdraw PLI from Oracle contract
    • How to add more stake in Node?
    • How to Migrate my Plugin Node to New Server?
    • How to Un-Stake the node.
    • How a Reputation is calculated?
    • Node Maintenance Instructions for node operators
  • FEATURES
    • PLI Yield Farming
      • Steps for Staking in Plugin Yield Farming (PLIYF)
      • PLIYF - FAQ
  • Support
    • FAQ
  • RESOURCES
    • Node Setup Video Tutorials
    • Community Supports
    • How to Submit your node details - Video Tutorial
  • CHANGELOG
    • v1.0.1
    • V1.0.2
    • V1.0.3
    • V1.0.4
    • V1.05
  • Terms and Conditions
Powered by GitBook
On this page
  1. PLUGIN VRF SUBSCRIPTION

Creation and Deployment of VRF-Consumer Contract

PreviousGuidance on Utilizing Random ValuesNextRequesting Random Values

Last updated 11 months ago

Note:- Steps will remain the same for mainnet deployment as well except the contract deployment in the 3rd step.

  1. For this demonstration, utilize the vrf_subscription_consumer_xdc_apothem.sol contract. This contract imports dependencies including VRFConsumerBaseV2.sol, VRFCoordinatorV2Interface.sol, and ConfirmedOwner.sol.

  2. The contract incorporates preconfigured values for requisite request parameters such as vrfCoordinator address, gas lane keyHash, callbackGasLimit, requestConfirmations, and the number of random words, numWords. For this scenario, specify only the subscriptionId during contract deployment.

  3. Open and copy the contract to remix for apothem, and for mainnet open the following contractin remix.

  4. Compile the vrf_subscription_consumer_xdc_apothem contract on the Compile tab in Remix.

  5. Configure deployment settings. Select the Injected Provider environment and the vrf_subscription_consumer_xdc_apothem contract from the contract list on the Deploy tab in Remix. Specify your subscriptionId to allow the constructor to set it.

  6. Click the Deploy button to initiate on-chain deployment of your contract. MetaMask prompts confirmation of the transaction.

  7. Upon contract deployment, copy the contract address from the Deployed Contracts list in Remix. Subsequently, add this address as an approved consuming contract on your subscription account before requesting randomness from VRF.

  8. Access the and select the ID of your new subscription under the My Subscriptions list to view subscription details.

  9. Under the Consumers section, click Add consumer.

  10. Input the address of your recently deployed consuming contract and click Add consumer. MetaMask prompts confirmation of the transaction.

  11. Deployment and Approval of Example Contract

Your example contract is now deployed and approved for utilization of your subscription balance to facilitate VRF requests. Next, proceed to request random values from Plugin VRF.

vrf_subscription_consumer_xdc_apothem.sol
vrf_subscription_consumer_xdc_mainnet.sol
Subscription Manager