Skip to main content
Version: V4

RNG Services

Tests Coverage Status built-with openzeppelin GPLv3 license




Install Dependencies

$ yarn

Copy over .envrc.example to .envrc

$ cp .envrc.example .envrc

Make sure to update the enviroment variables with suitable values.

Now enable the env vars using direnv

$ direnv allow

Interacting using Hardhat Console

You can interact with the contract using the buidler console:

$ npx hardhat console --network [network]

Then you can interact with deployed contracts:

> const signer = (await ethers.getSigners())[0]
> const d = await deployments.all()
> const chainlink = await ethers.getContractAt('RNGChainlink', d.RNGChainlink.address, signer)
> const link = await ethers.getContractAt('IERC20', (await chainlink.getLink()), signer)


You can deploy using the deploy script:

$ yarn deploy [network]

Where [network] can be mainnet, rinkeby, ropsten, or kovan.

Now you should verify the contracts on Etherscan:

$ yarn etherscan-verify [network]

The network option is the same as above.


Verify Codebase (hint + test)

$ yarn verify

Run Static Code Analysis

$ yarn hint

Run Tests

$ yarn test

Run Coverage

$ yarn coverage

Run Gas Report

$ yarn gas

Start Local TestRPC & Deploy

$ yarn start

Deploy to an Ethereum Network