本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)
奧拉克爾網絡
導言
Orakl Network 是一個去中心化的甲骨文網絡,允許智能合約安全地訪問鏈外數據和其他資源。 它引以為豪的是,自己是一個提供 Data Feed、VRF、Request-Response 和 Proof of Reserve 解決方案的本地令牌交易系統。
有了 Orakl 網絡,用戶可以在智能合約中尋找不可預測、無偏見的隨機性。 Orakl Network Verifiable Random Function (VRF)允許智能合約生成可驗證的隨機值,可用於各種需要隨機性的 dApp。 Orakl Network 通過兩種不同的賬戶類型為開發人員提供 VRF 服務訪問權限,即永久賬戶 或臨時賬戶。
在本教程中,您將利用 Orakl Network 的 VRF 功能從智能合約內部請求隨 機單詞。
先決條件
- Kaia 錢包
- Remix IDE
- Kaia Plugin on Remix
- 測試來自 [龍頭] 的 KAIA(https://faucet.kaia.io)
開始
在以下步驟中,您將使用 Orakl 網絡在智能合約中請求一個隨機單詞。 讓我們開始吧!
步驟 1:初始化合同狀態變量
在這一步中,我們將定義消費者合約,並初始化合約功能所需的狀態變量。 我們的消費者合約依賴於 "VRFConsumerBase "合約和 "IVRFCoordinator "接口,"IVRFCoordinator "接口用於調用 "VRFCoordinator "合約。 接下來,我們定義用於存儲隨機單詞結果的 sRandomWord
變量和在 onlyOwner
修飾符中使用的 sOwner
變量。
pragma solidity ^0.8.16;import { VRFConsumerBase } from "@bisonai/orakl-contracts/src/v0.1/VRFConsumerBase.sol";import { IVRFCoordinator } from "@bisonai/orakl-contracts/src/v0.1/interfaces/IVRFCoordinator.sol";contract VRFConsumer is VRFConsumerBase { uint256 public sRandomWord; address private sOwner; error OnlyOwner(address notOwner); modifier onlyOwner() { if (msg.sender != sOwner) { revert OnlyOwner(msg.sender); } _; }