1

I'm learning how to use Chain Link VFR to get some random numbers.

I have a Localhost Mainnet Forked by Hardhat and Alchemy.

I'm using the example contract, I can deploy on my localhost normally, I can transfer some LINK to the contract address, I can interact with the contract using some tests:

    const LINK_ADDRESS = "0x514910771AF9Ca656af840dff83E8264EcF986CA"; //Mainnet
    LINK = new ethers.Contract(LINK_ADDRESS, ercAbi, accounts[0]);

    ...

  it("Get Random Words", async function () {
    Contract = await (
      await ethers.getContractFactory("VRFGenerator")
    ).attach("0x1D13fF25b10C9a6741DFdce229073bed652197c7"); //The contract address after deploy at Localhost Mainnet Forked

    /* Check Contract LINK Balance */
    const contractLINKBalance = await LINK.balanceOf(Contract.address);
    const contractLINKBalanceNumber = Number(
      ethers.utils.formatUnits(contractLINKBalance, DECIMALS)
    );
    console.log(`Contract LINK Balance: ${contractLINKBalanceNumber} LINK`);
 
    const lastRequestId = await Contract.lastRequestId();
    console.log("lastRequestId:");
    console.log(lastRequestId);

 });
Contract LINK Balance: 30 LINK
lastRequestId:
BigNumber { _hex: '0x00', _isBigNumber: true } // I haven't been able to make any requests yet.

but I can't make the request for the numbers.

    await network.provider.send("evm_setIntervalMining", [5000]);

    const requestTX = await Contract.requestRandomWords();
    await requestTX.wait(3); 

It's configured for 3 confirmations, but I've tried with other values, I even tried using the same contract on REMIX.org (the original contract per ChainkLink documentation) but the same erro.

 ProviderError: Error: Transaction reverted without a reason string

I tried a few other things, a few other versions of the contract, I used another example, but I'm running into the same problem, does anyone have any idea what it could be? Thanks.

0 Answers0