Remix

Deploy Consumer Contract Example

  1. Open Remix and clone the following repo: https://github.com/ARPA-Network/Randcast-User-Contract

  1. Open one of the examples (We will use the roll dice example here): contracts/user/examples/RollDiceExample.sol

  2. Click Compile.

  3. Click Deploy & run transactions on the left sidebar, connect wallet and select Injected Provider as environment. You'll see the connected account if it's all set up.

  1. Pass in the Adapter address, click Deploy, and approve the transaction in your wallet (Metamask). Note: Next time you open Remix, you can enable the deployed contract by compiling, passing the contract address then clicking At Address.

  2. After the contract deployment has completed, you will see the ROLLDICEEXAMPLE in the below Deployed Contracts section.

  3. Copy the address of deployed consumer contract and bind it to your subscription via the subscription portal.

Request Randomness to Roll Dice

  1. Make sure you have created an active subscription with enough funds and the consumer contract has been added to the subscription. (see Subscription Management Portal - Consumers)

  2. Click ROLLDICEEXAMPLE to expand the available functions.

  1. Specify "bunch" (the number of dice you want to roll) and then click rollDice.

Note: A Gas estimation failed notification will pop up when the ETH balance in your wallet is too low to send the transaction, or if the consumer contract is not bound to any subscription.

  1. Call lengthOfDiceResults() to see whether the output is the same as the bunch value you passed. Call diceResults with the index up to the bunch to check the output of each dice cast.

Congratulations on successfully requesting randomness from Randcast! Randcast provides a set of tools to help you write your custom consumer contract and manage your subscription. Please continue reading to learn more.

Last updated