赞
踩
参考Get a Random Number | Chainlink Documentation
但是很贵,价格
我们可以定义两个内容限制总价格,也就是限制当前gas价格和回调请求消耗的gas 量
keyHash:Gas通道(最大gas价格您愿意为请求支付的价格(以 wei 为单位))
callbackGasLimit:回调上限 示例中100000是愿意为请求花费的上限,限制价格
有计算器VRF Billing | Chainlink Documentation
- // SPDX-License-Identifier: MIT
- // 一个依靠订阅获得资金的消费者合同的例子
- pragma solidity ^0.8.7;
-
- import "@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol";
- import "@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol";
-
- contract VRFv2Consumer is VRFConsumerBaseV2 {
- VRFCoordinatorV2Interface COORDINATOR;
-
- // 您的订阅ID.
- //https://vrf.chain.link/
- uint64 s_subscriptionId;
-
- // Rinkeby协调员。对于其他网络,
- // 参照 <https://docs.chain.link/docs/vrf-contracts/#configurations>
- address vrfCoordinator = 0xc587d9053cd1118f25F645F9E08BB98c9712A4EE;
-
- // 要使用的gas通道,每个网络不一样.
- // 参照 <https://docs.chain.link/docs/vrf-contracts/#configurations>
- //交换地址https://pegswap.chain.link/
- bytes32 keyHash = 0x114f3da0a805b6a67d6e9cd2ec746f7028f1b7376365af575cfea3550dd1aa04;
-
- //取决于要发送到的请求值的数量
- //对于fulfillRandomWords()函数。存储一个数值需要消耗20000wei,
- //因此,对于这个示例合同,100000是个安全的默认值
- uint32 callbackGasLimit = 30000;
-
- // 请求的信息数量,默认是3,你可以设置更高
- uint16 requestConfirmations = 3;
-
- //此用例中,默认-次获得2个随机数
- uint32 numWords = 1;
-
- uint256[] public s_randomWords;
- uint256 public s_requestId;
- address s_owner;
-
- constructor(uint64 subscriptionId) VRFConsumerBaseV2(vrfCoordinator) {
- COORDINATOR = VRFCoordinatorV2Interface(vrfCoordinator);
- s_owner = msg.sender;
- s_subscriptionId = subscriptionId;
- }
-
- // /假设Link充足的情况下,执行此函数
- function requestRandomWords() external onlyOwner {
- // 如果没设置订阅的相关关系,就会报错
- s_requestId = COORDINATOR.requestRandomWords(
- keyHash,
- s_subscriptionId,
- requestConfirmations,
- callbackGasLimit,
- numWords
- );
- }
-
- function fulfillRandomWords(
- uint256,
- uint256[] memory randomWords
- ) internal override {
- s_randomWords = randomWords;
- }
-
- modifier onlyOwner() {
- require(msg.sender == s_owner);
- _;
- }
- }
需要配置网路和订阅
Supported Networks - Subscription Method | Chainlink Documentation
订阅
部署的时候对应上
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。