如何使用 Pyth 在 Kaia 上取得即時價格
介紹
Pyth 是一個分散式甲骨文網路,在主要由推式甲骨文驅動的生態系統中採用獨特的方法。 Pyth 不會以固定的時間間隔將資料推送至您的合約,而是讓您可以依需求取得真實世界的資料。 此模式可讓開發人員擁有更多控制權,並有助於避免不必要的 onchain 更新。 透過此一整合,開發人員可以取得即時資料,並使用按使用量付費的模式,只有在要求更新時才需付費。
在本指南中,您將學習如何使用 Pyth 的即時價格源來讀取法定貨幣 IDR 的價值。 您的 Solidity 智慧合約將使用 pyth-sdk-solidity 從 Pyth 擷取 USD/IDR 價格,您將使用 hermes-client 更新並擷取最新價格。
若要快速入門,您可以在 GitHub 上找到本教學的完整程式碼。 這可提供即時可用的參考,並協助您更快速地設定專案和安裝。
要求
開始之前,請確保您已準備好下列各項:
-
安裝相依性和執行開發工具所需的軟體。
-
以 KAIA testnet 代幣為資金的錢包。
您需要 KAIA 來支付 Kairos 測試網的部署和交易瓦斯費用。 您可以向 Kaia Faucet 索取免費的測試網路 KAIA。
設定開發環境
在本節中,您將設定開發環境、編譯您的 oracle 合約,並準備使用 Hardhat 進行部署。
1. 建立硬帽專案
為專案建立新目錄,並初始化 Hardhat:
mkdir pyth-kaia-hardhat-example && cd pyth-kaia-hardhat-examplenpm init -ynpx hardhat@next --init
出現提示時,接受預設回應。 在本指南中,我們將使用 Mocha 和 Ethers 模版。
通過檢查 Hardhat 版本來驗證您的安裝:
npx hardhat --version
2. 設定加密的秘密
現在您將使用 Hardhat 的加密 keystore 來儲存您的 RPC URL 和私人密碼匙。
執行下列指令:
npx hardhat keystore set KAIROS_RPC_URLnpx hardhat keystore set PRIVATE_KEY
請務必輸入您的密碼和每個變數的值,以保持其加密。
3. 設定檔中的參考秘訣
開啟 hardhat.config.ts,更新 networks 區段以引用加密的秘密。 如果您使用不同的秘密名稱,請相應更新金鑰。
import { configVariable } from "hardhat/config";module.exports = { networks: { kairos: { url: configVariable("KAIROS_RPC_URL"), accounts: [configVariable("PRIVATE_KEY")], }, },};