Skip to content

Commit 7f8fcd9

Browse files
Merge pull request #22 from smartcontractkit/feat/update-chainlink-vrf-api
updated to reflect requestrandomness no longer needing seed phrase
2 parents 5aa4e2f + f88dd9a commit 7f8fcd9

File tree

7 files changed

+2204
-1165
lines changed

7 files changed

+2204
-1165
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,10 @@ The VRFConsumer contract has two tasks, one to request a random number, and one
117117
npx hardhat fund-link --contract insert-contract-address-here --network network
118118
```
119119

120-
Once it's funded, you can perform a VRF request with the request-random-number task, passing in the required seed number:
120+
Once it's funded, you can perform a VRF request with the request-random-number task:
121121

122122
```bash
123-
npx hardhat request-random-number --contract insert-contract-address-here --seed '777777' --network network
123+
npx hardhat request-random-number --contract insert-contract-address-here --network network
124124
```
125125

126126
Once you have successfully made a request for a random number, you can see the result via the read-random-number task:

contracts/RandomNumberConsumer.sol

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ contract RandomNumberConsumer is VRFConsumerBase {
3131
}
3232

3333
/**
34-
* Requests randomness from a user-provided seed
34+
* Requests randomness
3535
*/
36-
function getRandomNumber(uint256 userProvidedSeed) public returns (bytes32 requestId) {
37-
requestId = requestRandomness(keyHash, fee, userProvidedSeed);
36+
function getRandomNumber() public returns (bytes32 requestId) {
37+
requestId = requestRandomness(keyHash, fee);
3838
emit RequestedRandomness(requestId);
3939
}
4040

deploy/03_Deploy_RandomNumberConsumer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ module.exports = async ({
3434

3535
log("Run the following command to fund contract with LINK:")
3636
log("npx hardhat fund-link --contract " + randomNumberConsumer.address + " --network " + networkConfig[chainId]['name'] + additionalMessage)
37-
log("Then run RandomNumberConsumer contract with the following command, replacing '777' with your chosen seed number:")
38-
log("npx hardhat request-random-number --contract " + randomNumberConsumer.address, " --seed '777'" + " --network " + networkConfig[chainId]['name'])
37+
log("Then run RandomNumberConsumer contract with the following command")
38+
log("npx hardhat request-random-number --contract " + randomNumberConsumer.address + " --network " + networkConfig[chainId]['name'])
3939
log("----------------------------------------------------")
4040
}
4141

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"web3": "^1.2.9"
2121
},
2222
"dependencies": {
23-
"@chainlink/contracts": "^0.1.6",
23+
"@chainlink/contracts": "^0.1.9",
2424
"@chainlink/test-helpers": "0.0.5",
2525
"@chainlink/token": "^1.1.0",
2626
"@nomiclabs/hardhat-truffle5": "^2.0.0",

tasks/random-number-consumer/request-random-number.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22

33
task("request-random-number", "Requests a random number for a Chainlink VRF enabled smart contract")
44
.addParam("contract", "The address of the API Consumer contract that you want to call")
5-
.addParam("seed", "The seed to be used in the requst for randomness", 777, types.int)
65
.setAction(async taskArgs => {
76

87
const contractAddr = taskArgs.contract
9-
const seed = taskArgs.seed
108
const networkId = network.name
119
console.log("Requesting a random number using VRF consumer contract ", contractAddr, " on network ", networkId)
1210
const RandomNumberConsumer = await ethers.getContractFactory("RandomNumberConsumer")
@@ -17,7 +15,7 @@ task("request-random-number", "Requests a random number for a Chainlink VRF enab
1715

1816
//Create connection to VRF Contract and call the getRandomNumber function
1917
const vrfConsumerContract = new ethers.Contract(contractAddr, RandomNumberConsumer.interface, signer)
20-
var result = await vrfConsumerContract.getRandomNumber(seed).then(function (transaction) {
18+
var result = await vrfConsumerContract.getRandomNumber().then(function (transaction) {
2119
console.log('Contract ', contractAddr, ' external data request successfully called. Transaction Hash: ', transaction.hash)
2220
console.log("Run the following to read the returned random number:")
2321
console.log("npx hardhat read-random-number --contract " + contractAddr + " --network " + network.name)

test/RandomNumberConsumer_test.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
const { expect } = require('chai')
22

33
describe('RandomNumberConsumer', async function () {
4-
let randomNumberConsumer, vrfCoordinatorMock, seed
4+
let randomNumberConsumer, vrfCoordinatorMock
55

66
beforeEach(async () => {
77
await deployments.fixture(['mocks', 'vrf'])
88

9-
seed = 123
109
const LinkToken = await deployments.get('LinkToken')
1110
linkToken = await ethers.getContractAt('LinkToken', LinkToken.address)
1211
const RandomNumberConsumer = await deployments.get('RandomNumberConsumer')
@@ -18,7 +17,7 @@ describe('RandomNumberConsumer', async function () {
1817
it('Should successfully make an external random number request', async () => {
1918
const expected = '777'
2019
await linkToken.transfer(randomNumberConsumer.address, '2000000000000000000')
21-
const transaction = await randomNumberConsumer.getRandomNumber(seed)
20+
const transaction = await randomNumberConsumer.getRandomNumber()
2221
const tx_receipt = await transaction.wait()
2322
const requestId = tx_receipt.events[2].topics[0]
2423

0 commit comments

Comments
 (0)