LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > [Chainlink] 如何在多边形上获取随机数

[Chainlink] 如何在多边形上获取随机数

2021-03-31 wanbizu AI 来源:区块链网络

多边形(以前称为Matic Network)是用于建立和连接以太坊兼容区块链网络的协议和框架。 最初侧重于利用权益证明(PoS)侧链和等离子框架的以太坊扩展解决方案,在更名为Polygon之后,他们还添加了其他主要的扩展解决方案,例如zk-Rollups和Optimistic Rollups,以及链间通信协议。

作为最广泛采用的分散式Oracle网络,Chainlink是Polygon中首选的Oracle网络,用于安全地获取外部数据并使用防篡改数据源。 最近,Chainlink VRF在Polygon主网上上线,为开发人员提供了在其智能合约中请求可验证的随机数的功能。 在本技术教程中,我们将向您展示如何将智能合约部署到Polygon并使用Chainlink VRF获得可证明的随机数。

需要可验证的随机性

Chainlink VRF是为智能合约而设计的可证明是公平且可验证的随机性来源。 Solidity开发人员可以将其用作防篡改随机数生成器,为依赖不可预测结果的以太坊应用程序建立安全可靠的智能合约。 至关重要的是,Chainlink VRF不仅提供随机数,而且还提供加密证明,证明该数字未被篡改以生成某些可预测的结果。

在智能合约中具有可验证的随机数,使开??发人员能够构建各种用例,例如游戏中的随机性,NFT中的随机奖励,彩票以及公平参与者或随机节点选择。

NFT游戏dApp Aavegotchi是一个值得注意的现实示例,该产品将Chainlink VRF集成为可证明的公平随机性来源,以帮助确定Aavegotchi的独特特征,生成不可预测的游戏场景并随机选择DAO陪审员。 Aavegotchi已在Polygon的2层PoS链上启动,由于接近零的交易费用和快速的结算时间,使其能够经济高效地扩展以满足用户需求。

现在,我们了解了受益于可验证随机性的用例,我们将逐步介绍如何在Polygon Mumbai Testnet上的智能合约上获得可验证随机数。

在连接到多边形孟买测试网的多边形上使用Chainlink VRF

在Polygon的PoS链上使用Chainlink VRF的第一步是设置您的MetaMask钱包,以连接到Matic Mumbai Testnet。 您可以通过选择“网络”,然后选择“自定义RPC”并输入以下详细信息来执行此操作:

输入孟买Testnet详细信息获得Testnet MATIC和LINK

MATIC是Polygon网络的本机令牌,与网络交互需要它,类似于以太坊被用作以太坊气体的方式。 要获取孟买Testnet MATIC,请转到MATIC龙头,选择MATIC令牌和孟买Testnet网络,输入您的MetaMask电子钱包地址,然后按Submit。

与MATIC令牌类似,需要LINK令牌作为向VRF协调器支付的费用,以实现随机数请求。 要获得testnet LINK,只需在水龙头中选择LINK令牌而不是MATIC令牌。

获取孟买Testnet MATIC和LINK

虽然使用水龙头在孟买Testnet上获取LINK的过程相对简单,但在移至Polygon的Mainnet时涉及的过程要多一些。 这是因为Polygon Bridge提供的LINK与ERC-677不兼容,因此不能与Chainlink oracles一起使用。 但是,可以使用Chainlink的PegSwap服务将其转换为Polygon上的官方LINK令牌,实质上是创建LINK令牌的包装版本。

建立智能合约

开始在Polygon上使用Chainlink VRF建立智能合约的最简单方法是从标准Chainlink VRFConsumer合约开始。 这是用于通过Chainlink oracle发起对随机数的请求的基本标准化合同。 因此,我们将通过上面的链接在Remix中打开此合同,并进行相应的修改。

孟买测试网的VRF协调器为0x8C7382F9D8f56b33781fE506E897a4F1e2d17255 孟买测试网上的LINK令牌地址为0x326C977E6efc84E512bB9C30f76E30c160eD06FB 孟买测试网的KeyHash为0x6??e75b569a01ef56d18cab6a8e71e6600d6ce853834d4a5748b720d06f878b3a4 在孟买测试网上提出VRF请求的费用为100000000000000(0.0001 LINK)

构造函数()VRFConsumerBase(0x8C7382F9D8f56b33781fE506E897a4F1e2d17255 0x326C977E6efc84E512bB9C30f76E30c160eD06FB)公开{keyHash = 0x6e75b569a01ef56d18cab6a8e71e600d 费用= 100000000000000; // 0.0001 LINK}

现在,我们的合同已准备好进行编译,并部署到孟买Testnet。

部署和测试智能合约

在Remix中编译合同,然后在“部署”选项卡上,将环境更改为“ Injected Web3”,并确保下面的钱包地址是您的MetaMask钱包中包含MATIC和LINK令牌的钱包地址,按部署按钮,然后按照脚步。 最终结果是您将智能合约部署到了孟买Testnet。 您应该通过Remix控制台中的事务输出记录已部署的合同地址。

下一步是使用LINK为合同提供资金,以便它可以将请求发送到VRF协调器。 为此,只需从上述步骤中获取已部署的合同地址,然后从您的MetaMask钱包中至少发送0.0001 LINK。

用LINK资助合同

一旦合同被部署并用LINK资助,我们可以通过执行`getRandomNumber`函数并传入一个给定的种子作为参数来请求一个随机数。 这会将请求连同种子一起发送到VRF协调器。 请记住,选择难以影响或难以预测的种子非常重要。

输入种子并将请求发送到VRF协调器

处理完该交易后,我们将等待几秒钟,让Chainlink oracle完成对随机数的请求,然后调用我们之前创建的`fulfillRandomness`函数,将随机数返回给我们的消费者合同。

然后,我们调用randomResult getter函数,以查看由Chainlink oracle使用给定种子生成的可验证随机数的结果。 现在,我们已经成功地将智能合约中的随机数部署到了Polygon Mumbai Testnet中,该随机数是使用给定种子进行验证创建的。

查看返回的随机数摘要

Poygon的PoS Chain通过其快速,廉价和可靠的交易提供了可行的第2层解决方案,并且通过添加Chainlink VRF,开发人员现在可以利用可验证的随机数构建各种可扩展的dApp。

如果您是精明的合同开发人员,并且想利用Chainlink VRF功能,请访问Chainlink开发人员文档,并加入有关Discord的技术讨论。

探索Chainlink文档
加入Chainlink不和谐

有关此主题的更多信息

Chainlink VRF:链上可验证的随机性 在多边形上使用Chainlink价格供稿 使用Chainlink Oracle创建动态NFT的16种方法

网站| 推特| Reddit | YouTube | 电报| 大事记| GitHub | 价格提要| DeFi

>>在链节上查看

加入我们的电报

在推特上关注我们

在Facebook上关注我们

帖子 [Chainlink] 如何在多边形上获得随机数首先出现在AZCoin新闻上。

—-

原文链接:https://azcoinnews.com/chainlink-how-to-get-a-random-number-on-polygon.html

原文作者:Chainlink News

编译者/作者:wanbizu AI

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...