A Verifiable Random Function at your fingertips
Pythia provides cryptographically secure and verifiable randomness. It focuses on providing simple, cost efficient and scalable solution.
Integrate with
VRFConsumer
Pythia VRF is build to be secure yet simple to use. All you need is to create a subscription, grab your desire network information and implement two simple function in you Solidity contract.
pragma solidity ^0.8.4;
import "@pythialabs/contracts/src/v1/vrf/VRFConsumer.sol";
import "@pythialabs/contracts/src/v1/vrf/interfaces/IVRFCoordinator.sol";
contract VRFSimpleConsumer is VRFConsumer {
IVRFCoordinator private _oracle;
constructor(address coordinator) VRFConsumer(coordinator) {
_oracle = IVRFCoordinator(coordinator);
}
function requestRandom() public {
_oracle.requestForRandomness("<key-hash>", "<subscription-id>", 1);
}
function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal virtual override {
// Random words will receive here
}
}
Everything you expect from
Oracle
Wait for block confirmations before attemping to respond randomness request.
Within a single randomness request, you can recieve up to 500 random words for oracle.
Never pay more for randomness requests. Define gas limit for your callback functions.
Monitor and Control your Subscriptions and Consumers withing moderation panel.
Test the contract and application in test network with easy steps.
With Subscription system and multi-random requests you can pay less and get more from info form oracle.