#switchboard #solana #oracle

switchboard-on-demand

一个用于与 Solana 上的 Switchboard 程序交互的 Rust 库

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魔法豆

Download history 54/week @ 2024-05-01 5/week @ 2024-05-15 10/week @ 2024-05-22 2/week @ 2024-05-29 7/week @ 2024-06-05 11/week @ 2024-06-12 800/week @ 2024-06-19 70/week @ 2024-06-26 113/week @ 2024-07-03 44/week @ 2024-07-10 179/week @ 2024-07-17 49/week @ 2024-07-24 45/week @ 2024-07-31 30/week @ 2024-08-07 134/week @ 2024-08-14

266 每月下载次数

MIT 许可证

135KB
3K SLoC

Switchboard Logo

switchboard-on-demand

一个用于在 Solana 区块链上与 Switchboard Oracle 账户无缝交互的 Rust 库。

Crates.io Discord Twitter Follow

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