Solidity中无法原生地完成随机数生成(RNG)。要在区块链上生成一个真正可验证的随机数,智能合约必须将种子发送到像预言机这样的链外资源,而预言机必须将随机数连同可验证的证明一起返回给智能合约,证明随机数是使用种子生成的。随着Chainlink VRF现已在Ethereum主网上线,开发者可以在Solidity中以安全可靠、可验证的方式轻松生成随机数。在这篇技术文章中,我们将向您展示如何使用Chainlink VRF在Solidity中生成随机数。
在您的智能合约中生成安全随机数的例子可以在Chainlink文档中找到。这里有一个Remix上在Kovan测试网生成区块链随机数的例子,供现在想测试的人使用。只要记得按照请求和接收方法,用LINK转账到你的智能合约就可以了。
Chainlink VRF的高级概述
Chainlink VRF(可验证随机函数)是一个为智能合约设计的公平的可验证的随机性来源。Solidity开发人员可以使用它作为防篡改的随机数生成器,为依赖不可预测结果的Ethereum应用构建安全可靠的智能合约。
在Solidity中使用Chainlink VRF生成随机数的第一步是确定一个