首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链式链路VRF需要很长时间才能得到随机数。

链式链路VRF需要很长时间才能得到随机数。
EN

Stack Overflow用户
提问于 2021-06-23 23:02:20
回答 1查看 2.1K关注 0票数 2

描述

得到一个随机数需要很长时间。在执行getRandomNumber函数之后,经过几分钟就可以与随机数交互。

基本上,我单击getRandomNumber,必须等待2-3分钟,直到随机数出现在randomResult变量中。

复制的步骤

  1. 转到这里的文档:https://docs.chain.link/docs/get-a-random-number/
  2. 向下滚动并单击“使用Remix部署此合同”(蓝色大纲btn)
  3. 单击一个看起来类似于536123b61468ad4442cfc4278e8de577的文件夹,然后单击RandomNumberConsumer.sol
  4. 将链接令牌、VRF协调器和密钥哈希替换为rinkeby https://docs.chain.link/docs/vrf-contracts/唯一的
  5. 导航到Solidity并单击RandomNumber.sol编译。
  6. 在Rinkeby上部署合同
  7. 复制到合同地址并发送链接令牌以资助合同。
  8. 单击混合中的橙色getRandomNumber btn
  9. 单击randomResult并观察更改randomResult中的值所需的时间。(继续单击,直到它最终改变)

附加信息

我不确定这种行为是故意的,还是需要修改代码。理想情况下,一旦randomResult函数完成执行,我希望有getRandomNumber的值。现在我不知道randomResult的值什么时候会出现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-23 23:24:42

Chainlink VRF遵循请求和接收循环获得一个数字。这意味着,它必须看外面的区块链,以获得响应。

因此,实际发生了2项交易:

  1. 你的请求交易
  2. 响应事务

这是必要的,看看外面的区块链这样,否则你将得到一个确定性的数字,而不是随机。返回随机数的速度取决于所使用的块链的块时间。

因此,对于Ethereum来说,返回随机数的最快时间是2*块时间,大约30秒。

在更快的链,如多边形,这是大大降低。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68107865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档