区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > XMR > 正文

NDO:如何使用Chainlink VRF在Solidity中生成随机数?_NLINK

作者:

时间:

Solidity中无法原生地完成随机数生成。要在区块链上生成一个真正可验证的随机数,智能合约必须将种子发送到像预言机这样的链外资源,而预言机必须将随机数连同可验证的证明一起返回给智能合约,证明随机数是使用种子生成的。随着ChainlinkVRF现已在Ethereum主网上线,开发者可以在Solidity中以安全可靠、可验证的方式轻松生成随机数。在这篇技术文章中,我们将向您展示如何使用ChainlinkVRF在Solidity中生成随机数。在您的智能合约中生成安全随机数的例子可以在Chainlink文档中找到。这里有一个Remix上在Kovan测试网生成区块链随机数的例子,供现在想测试的人使用。只要记得按照请求和接收方法,用LINK转账到你的智能合约就可以了。ChainlinkVRF的高级概述

观点:目前行业内是一个沉淀期,builders应该更多去focus在如何解决问题:近日,BeWater DevCon 2022 全球开发者大会在硅谷湾区成功举办,来自Polychain Capital, Uphonest Capital, DFG Capital, Foresight Ventures的嘉宾进行了圆桌讨论,围绕“VC如何在熊市中投资和支持Builders”。Polychain Capital的Jacob Philips表示,目前行业内是一个沉淀期,builders 应该更多去focus在如何解决问题。Uphonest Capital的KJ表示,VC应该作为共同创业的伙伴,而不仅仅是投资就不管事儿了。DFG Capital的Joanna表示,这个熊市的基本面已经和18年19年的熊市大不一样,基础设施得到大量发展,让大家多多探索

Foresight Ventures的Suning表示,builder可以在熊市多做一些新尝试,比如在开发语言方面,尝试Move或Cairo,探索全新生态的可能性。同时作为Foresight Ventures也会更多关注真正颠覆性的创新,以及围绕DAO或者NFT等的crypto-native的文化发展。[2022/6/24 1:29:46]

ChainlinkVRF是一个为智能合约设计的公平的可验证的随机性来源。Solidity开发人员可以使用它作为防篡改的随机数生成器,为依赖不可预测结果的Ethereum应用构建安全可靠的智能合约。在Solidity中使用ChainlinkVRF生成随机数的第一步是确定一个种子。选择一个难以被影响或预测的种子极为重要。如果有人能够影响或预测种子,理论上他们可以尝试与执行随机性请求的预言机节点串通,产生一个对自己有利的结果。正因为如此,建议不要使用来自区块链状态的值,如区块高度或区块时间戳。然后,这个种子会以请求的方式发送到Chainlink预言机。然后,预言机会用给定的种子生成一个伪随机数,并将结果返回给智能合约,一同返回的还有一个加密证明,用来验证随机数是使用种子生成的。这种加密证明是通过公钥加密技术创建的,这是区块链技术中广泛使用的技术。重要的是,结果可以被验证,避免矿工或预言机等参与者为了自己的利益而影响随机数的结果。这是对ChainlinkVRF工作方式的高级概述。关于底层技术实现的更多细节可以在我们对ChainlinkVRF的介绍中找到。然而,作为开发者,除了获取种子,然后向Chainlink预言机创建一个请求之外,你不需要担心任何事情。创建消费者合约如何在Solidity智能合约中获得一个随机数,我们应该首先从ChainlinkVRFConsumerBase合约中继承。消费者合约还应该包含存储随机数结果的变量,用于生成随机性的公钥哈希,以及为完成请求而付给预言机的费用。

Roger Ver将与国家元首探讨如何使比特币现金成为主权国家的官方货币:5月31日消息,Roger Ver声称,将与国家元首见面讨论如何使比特币现金成为主权国家的官方货币。 有分析师发布了来自Discord频道的帖子屏幕截图,该帖子的用户名作者为“ rogerver”。随后比特币现金联盟的subreddit / r / BTC的成员声称已确认该作者即是Roger Ver,即“比特币耶稣”(Beincrypto)[2020/5/31]

接下来,在构造函数中,我们应该初始化ChainlinkVRF协调器。调用VRFConsumerBase函数,传入VRF协调器的地址和给定环境的Chainlinktoken的地址作为参数。还需要设置keyHash变量,这是生成随机性的公钥。这些的环境特定值可以在ChainlinkVRF文档的合约地址部分获得。最后,我们需要设置LINKtoken的支付金额。对于Kovan测试环境,它是0.1个LINK。

动态 | 乌克兰国会收到一项关于应如何对与加密有关的收入征税的草案:据Coindesk消息,一项草案规定了乌克兰应如何对与加密有关的收入征税,该草案已提交给该国议会Verkhovna Rada。该法案是由乌克兰数字转型部、区块链4ukraine派系议会协会和更好的监管交付办公室(BRDO)组织起草的。这份由13名议会成员撰写的文件旨在修订乌克兰的税法,并引入与加密资产相关的主要概念。该法案将此类资产定义为“一种特殊类型的有价值财产,以数字形式创建、记账并通过电子方式处理”,比如加密货币、代币以及草案中未指定的其他类型。总部位于乌克兰的加密货币交易所Kuna的创始人,乌克兰区块链协会主席Michael Chobanian表示,他相信这项法律将奏效,但该行业还面临其他障碍,需要解决。[2019/11/20]

布鲁金斯学会:全球监管机构之间没有就如何处理加密货币达成协议:据福布斯消息,布鲁金斯学会昨日发布关于央行和加密货币的研究报告。报告指出,世界各地的银行监管机构并未采取统一的方式来规范加密货币。该报告还指出,目前的大型经济体中,没有任何一个国家的央行认真考虑是否推出自己的加密货币。然而,美联储、日本央行、加拿大央行、英国央行和欧洲央行均表示正在评估央行加密货币的利与弊。研究表明,央行领导人目前主要对于加密货币潜在的逃税和可能表示担心。[2018/4/18]

接下来,我们重写合同中的两个函数`getRandomNumber`和`fulfillRandomness`。`getRandomNumber`函数应该把种子作为输入参数,并且调用VRFConsumerBase中的`requestRandomness`函数,传递keyHash,费用金额和给定的种子作为参数。

芝加哥商品交易所集团就比特币期货将如何推出做了更为具体的解释:芝加哥商品交易所集团的股权产品负责人蒂姆-麦考特在接受外媒采访时表示:“交易所已经采取了保护措施,如更高的保证金水平、限制头寸和价格以抑制它即将推出的比特币期货的风险。”随后芝加哥商品交易所还阐述了三个层面的细节即交易、市场数据和双边市场的缺乏。[2017/12/3]

执行时,这个函数将请求发送到给定的VRF协调器合约,然后建立一个最终种子,并将其发送到该VRF协调器的Chainlink预言机。最后的种子是用以下值的哈希值建立起来的。-用户提供的种子-满足请求的Chainlink预言机的公钥哈希值-请求时的用户nonce-提出请求的合约地址-当前区块号使用这些额外的值的原因是为了防止合约使用相同的种子不止一次地得到相同的结果。nonce有助于防止合约在同一区块内做多个请求,所以理论上,合约可以在同一区块内使用相同的种子为请求多个随机数,而且他们仍然会为每个请求得到唯一的可验证的随机数。`fulfillRandomness`函数接受随机数响应参数为一个无符号整数,以及请求的ID,然后将给定的随机数存储在合约中。当VRFCoordinator合约接收并验证一个随机数时,这个函数会被调用。关于这两个函数的更多信息可以在ChainlinkVRF文档中找到。

现在,我们在Solidity中拥有了一个完整且可行的随机数生成示例,现在可以部署和测试该合约了。测试随机数生成消费者合约以上完整的合约可以很方便地在Remix中打开、编译,并部署在Kovan网络上。部署好后,一定要给合约转入一些LINK。一旦合约至少有0.1个LINK的资金,我们就可以调用`getRandomNumber`函数,传入一个数字作为种子。这将把请求和种子一起发送给运行在Chainlinkoracle上的VRF协调器。

事务被处理后,需要等待几秒钟,让Chainlink预言机完成对随机数的请求,然后调用我们之前创建的'fulfillRandomness'函数,将随机数返回给我们的消费者合约。然后我们可以调用`randomResult`getter函数来查看Chainlinkoracle用给定种子生成的可验证随机数的结果。现在我们有了一个可验证的随机数,它可以在我们的消费者合约和任何其他应用中使用。

验证随机性

现在,我们有一个随机数返回到我们的合约,你可能会想知道,我们如何确定它是由执行请求的Chainlinkoracle的给定种子和公钥哈希生成的。当使用ChainlinkVRF时,答案是你不需要这样做。验证作为`VRFCoordinator`合约完成请求的一部分,会自动进行。如果验证失败,那么随机数就不会返回到消费合约,交易也会被还原。因此,使用ChainlinkVRF的区块链开发者可以放心,他们通过ChainlinkVRF获得的随机数是可验证的随机数。关于验证的底层技术细节,可以参考我们对ChainlinkVRF的技术演练。总结

ChainlinkVRF帮助Solidity开发者以安全、可靠和经过验证的方式在智能合约中快速、轻松地生成随机数。

标签:比特币NLINKRANNDO纳世币和比特币相比哪个值钱一些chainlink币France Rev FinanceLONDON

XMR热门资讯
PHO:OKEx“碰瓷”苹果,重新定义交易到底靠不靠谱?_okex交易所是合法的吗

13年前,苹果公司第一代iPhone手机横空出世,追求速度、优雅与极简美学。彼时的手机市场,诺基亚常年领跑,摩托罗拉、黑莓、三星虎视眈眈,手机耐摔、信号强几乎是行业标配.

XRP:比特币升至27000美元,古根海姆投资认为40万美元是最终目标_Wrestling Shiba

编者按:本文来自彩云区块链,Odaily星球日报经授权转载。比特币又清除了另一个障碍,周日世界标准时间06:00左右,Coinbase上的比特币价格突破了27,000美元,并继续上涨,之后达到了.

API:分析:比特币价格下一步怎么走?短期下行空间有限,中长期看涨_api币官网

编者按:本文来自Cointelegraph中文,作者:JOSEPHYOUNG,Odaily星球日报经授权转载。在过去几天中,来自各方的卖方压力有所加剧.

COIN:谷燕西:Coinbase的IPO会加速加密数字金融的发展_BASE

美国最大的加密数字货币交易平台Coinbase正在申请IPO。它现在估值是280亿美元。这样的IPO估值已经是历史上最大的IPO之一.

比特币:IPFS周报 | 统计显示FIL一个月流出2.5亿美元;分布式资本将建1500万美元生态基金(12.07-12.13)_OIN

存储板块:MAID继续上涨10%;FilecoinGas费创新高,达到4.7nanoFIL;FIL7日净流出4000万美元.

Filecoin:历年圣诞后一周,比特币是跌还是涨?_OCEAN

编者按:本文来自区块律动BlockBeats,Odaily星球日报经授权转载。2017年12月比特币价格创下诞生10年以来的高点,随后,开始了长达近3年的宽幅震荡.