SupraOracles
Giới thiệu
SupraOracles là một oracle& thông lượng cao &; IntraLayer: Một bộ công cụ tích hợp theo chiều dọc của các giải pháp chuỗi chéo (dữ liệu oracle, cầu nối tài sản, mạng tự động hóa, v.v.) liên kết với tất cả các chuỗi khối, công khai (L1S và L2S) hoặc tư nhân (doanh nghiệp). Nó cung cấp các hợp đồng thông minh với một chuỗi chéo Oracle thế hệ tiếp theo có độ chính xác dữ liệu, tốc độ, khả năng mở rộng và bảo mật vượt trội.
Với SupraOracles, hợp đồng thông minh của bạn có thể có quyền truy cập vào các nguồn cấp dữ liệu giá để xây dựng các trường hợp sử dụng tài chính phi tập trung (DeFi) khác nhau của bạn. Trong chỉ dẫn này, bạn sẽ sử dụng SupraOracles để nhận nguồn cấp dữ liệu giá dễ dàng trên chuỗi khối Klaytn bằng cách sử dụng Remix IDE.
Điều kiện tiên quyết
- Kaikas
- Remix IDE
- Plugin Klaytn trên Remix
- Kiểm tra KLAY từ Faucet
Bắt đầu
Trong các bước sau, bạn sẽ yêu cầu nguồn cấp dữ liệu giá ETH/USD trong hợp đồng thông minh của bạn bằng cách sử dụng SupraOracles. Bắt đầu nào!
Bước 1: Tạo Giao Diện S-Value
Điều này tạo ra giao diện sẽ được sử dụng để lấy giá từ SupraOracles. Thêm mã sau vào hợp đồng thông minh solidity mà bạn muốn truy xuất S-Value.
interface ISupraSValueFeed {function checkPrice(string memory marketPair) external view returns (int256 price, uint256 timestamp);}
Bước 2: Định Cấu Hình Địa Chỉ Nguồn Cấp Dữ Liệu S-Value
Để tìm kiếm S-Value từ hợp đồng thông minh SupraOracles, trước tiên hãy tìm địa chỉ nguồn cấp S-Value cho chuỗi bạn chọn. Khi bạn có đúng địa chỉ, hãy tạo một phiên bản của nguồn cấp giá trị S bằng giao diện mà chúng tôi đã xác định trước đây như sau:
contract ISupraSValueFeedExample { ISupraSValueFeed internal sValueFeed; constructor() { sValueFeed = ISupraSValueFeed(0x7f003178060af3904b8b70fEa066AEE28e85043E); }}
Trong ví dụ này, chúng tôi đang triển khai nguồn cấp giá trị S trên Mạng thử nghiệm Baobab Klaytn. Bạn có thể xác minh địa chỉ nguồn cấp dữ liệu Baobab Klaytn S-Value tại đây.
Bước 3: Nhận Giá Tiền Mã Hóa S-Value
Giờ bạn có thể dễ dàng truy cập giá Tiền Mã Hóa S-Value của các cặp thị trường được hỗ trợ của chúng tôi. Trong bước này, bạn sẽ nhận được giá của ETH/USDT (eth_usdt) bằng cách áp dụng mã sau vào hợp đồng thông minh của bạn.
function getEthUsdtPrice() external view returns (int) {(int price,/* uint timestamp */) = sValueFeed.checkPrice("eth_usdt");return price;}
Thực hiện thực tế
Trong ví dụ dưới đây, chúng tôi sẽ triển khai hợp đồng nguồn cấp dữ liệu giá S-Value và cũng thực hiện chức năng getEthUsdtPrice() để có được các cặp giá ETH/USDT.
Tạo và Triển Khai Mã Mẫu
Remix IDE
- Điều hướng đến Remix IDE
- Nhấp vào tab File Explorer, tạo một tệp mới có tên
demosuprapricefeed.sol
trong thư mục hợp đồng - Dán mã sau vào tệp vừa tạo
- Trong Remix, nhấp vào Hợp Đồng Biên Dịch.
- Nhấp vào tab Klaytn bên trái sau khi đã cài đặt plugin
- Chọn Môi Trường > Được Tiêm Caver - Kaikas.
- Trong Hợp đồng, chọn hợp đồng của bạn. Ví dụ, ISupraSValueFeedExample.
- Nhấp vào Triển Khai.
Mã Mẫu
// SPDX-License-Identifier: MITpragma solidity ^0.8.7;interface ISupraSValueFeed { function checkPrice(string memory marketPair) external view returns (int256 price, uint256 timestamp);}contract ISupraSValueFeedExample { ISupraSValueFeed internal sValueFeed; constructor() { sValueFeed = ISupraSValueFeed(0x7f003178060af3904b8b70fEa066AEE28e85043E); } function getEthUsdtPrice() external view returns (int) { ( int price, /* uint timestamp */ ) = sValueFeed.checkPrice("eth_usdt"); return price; }}