16 个版本
新版本 0.1.14 | 2024 年 8 月 15 日 |
---|---|
0.1.13 | 2024 年 7 月 17 日 |
0.1.12 | 2024 年 6 月 24 日 |
0.1.6 | 2024 年 4 月 11 日 |
0.1.4 | 2024 年 3 月 25 日 |
#715 在 魔法豆
266 每月下载次数
135KB
3K SLoC
switchboard-on-demand
一个用于在 Solana 区块链上与 Switchboard Oracle 账户无缝交互的 Rust 库。
Switchboard 文档: docs.switchboard.xyz
Rustdoc: switchboard-on-demand-rust-docs.web.app
概述
switchboard-on-demand
为 Rust 开发者提供了一个高效且易于使用的客户端,用于将基于 Solana 的 Switchboard 或acle 集成到他们的应用程序中。这个库使开发者能够利用去中心化、无需信任且高度可靠的 oracle 数据,适用于各种应用,特别是在 DeFi 和 Web3 空间。
功能
- 按需 Oracle 数据:为区块链应用获取实时、准确且不可篡改的数据。
- 自定义 Oracle 创建:设计和部署满足您特定数据需求的自己的 oracle。
- 高保真金融数据:适用于需要精确和可靠金融数据的应用。
- 隐私优先:在保密运行时中运行,以确保数据完整性和安全性。
入门
先决条件
确保您已安装以下内容
- Rust(最新稳定版本)
- Cargo
- Solana CLI 工具(如果直接与 Solana 区块链交互)
安装
将 switchboard-on-demand
添加到您的 Cargo.toml
[dependencies]
switchboard-on-demand = "0.1.0"
使用链上
use switchboard_on_demand::PullFeedAccountData;
use rust_decimal::Decimal;
pub fn solana_ix<'a>(mut ctx: Context<YourAccounts<'a>>, params: Params) -> Result<()> {
// Assume `account_info` is obtained from the Solana blockchain
let feed = PullFeedAccountData::parse(ctx.accounts.sb_feed)?;
let max_stale_slots = 100; // Define the maximum number of slots before data is considered stale
let min_samples = 5; // Set the minimum number of samples for data accuracy
let price: Decimal = feed.get_value(&Clock::get()?, max_stale_slots, min_samples, true)?;
msg!("Oracle Price: {}", price);
Ok(())
}
依赖项
~29–49MB
~874K SLoC