Chain Link VRF 不工作 函数调用的参数计数错误:给出了 3 个参数,但预期为 2 个。return requestRandomness(keyHash, fee, seed)

Chain Link VRF not working Wrong argument count for function call: 3 arguments given but expected 2. return requestRandomness(keyHash, fee, seed)

总结

在链中获取随机数的文档-link 不起作用。

描述

按照 chain-link 文档生成随机数不起作用。将文档中的代码复制并粘贴到 remix 后出现错误。由于以下错误,合约无法编译。

gist-55c1263fcfc710f834aa38b7bbd21dc1/VRFD20.sol:60:21: TypeError: Wrong argument count for function call: 3 arguments given but expected 2. requestId = requestRandomness(s_keyHash, s_fee, userProvidedSeed);

每当我在代码中包含以下行时,我都会收到此错误。

requestRandomness(s_keyHash, s_fee, userProvidedSeed);

此错误使我无法使用 chain-link.

生成随机数

重现步骤:

  1. 前往此处查看文档:https://docs.chain.link/docs/intermediates-tutorial/
  2. 向下滚动并单击使用 remix 部署合约(蓝色轮廓按钮)
  3. 单击类似于 536123b61468ad4442cfc4278e8de577 的文件夹之一,然后单击 RandomNumberConsumer.sol
  4. 导航到 Solidity 编译器选项卡并单击编译 RandomNumber.sol。

附加信息

每当我调用以下代码行时,都会发生此错误。 requestRandomness(s_keyHash, s_fee, userProvidedSeed);

有一个 pull request 正在更新文档。新的 API 看起来像:

requestRandomness(keyHash, fee);

而不是:

requestRandomness(keyHash, fee, userprovidedseed);