对非合约账户的函数调用测试错误

问题描述

在使用 test-helpers 测试我们的 VRF getRandomNumber(s) 时,我们不断收到错误:事务已恢复:对非合约帐户的函数调用位于:

require(LINK.balanceOf(address(this)) > fee,"没有足够的 LINK 来初始化函数调用");

在这里似乎正确使用了 LINK。非合同帐户的含义/问题是什么?

对同一个 RandomNumberConsumer 对象的其他测试成功。

contract RandomNumberConsumer is VRFConsumerBase {
[...]
    function getRandomNumber(uint256 userProvidedSeed) public returns (bytes32 requestId) {
        require(LINK.balanceOf(address(this)) >= fee,"Not enough LINK - fill contract with faucet");
        return requestRandomness(keyHash,fee,userProvidedSeed);
    }
  describe("getRandomNumber()",function() {
    it("Should return a requestID",async function() {
       const requestId = await randomNumberConsumer.getRandomNumber(12);
    // checks on requestId
    });
  });

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)