selene-helius-sdk

Crates.ioselene-helius-sdk
lib.rsselene-helius-sdk
version0.3.2
sourcesrc
created_at2024-02-18 19:46:03.338245
updated_at2024-04-23 14:45:56.069834
descriptionRust implementation of the Helius API & RPC
homepagehttps://github.com/dougEfresh/selene-helius-sdk
repositoryhttps://github.com/dougEfresh/selene-helius-sdk
max_upload_size
id1144345
size231,892
Douglas Chimento (dougEfresh)

documentation

https://docs.rs/selene-helius-sdk

README

selene-helius-sdk

Selene Helius SDK

Async library for helius API & RPC

use color_eyre::Result;
use selene_helius_sdk::api::das::GetAssetsByOwnerParams;
use selene_helius_sdk::HeliusBuilder;

#[tokio::main]
async fn main() -> Result<()> {
  let api_key = std::env::var("HELIUS_API_KEY").expect("env HELIUS_API_KEY is not defined!");
  let helius = HeliusBuilder::new(&api_key).build()?;
  let result = helius
    .get_assets_by_owner(&GetAssetsByOwnerParams {
      owner_address: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY".to_string(),
      ..Default::default()
    })
    .await?;

  println!("total: {}", result.total);
  for asset in result.items {
    println!("{}", asset.id);
  }

  Ok(())
}

Usage

The package needs to be configured with your account's API key, which is available in the Helius Dashboard.

API reference documentation is available at docs.helius.dev.


Supported APIs

DAS API Status

Endpoint Status
getAsset
getAssetBatch
getAssetProof
getAssetProofBatch
getAssetsByOwner
getAssetsByAuthority
getAssetsByCreator
getAssetsByGroup
searchAssets
getSignaturesForAsset
getTokenAccounts
getPriorityFeeEstimate

Enriched Transactions

Endpoint Status
transactions
history

Webhooks API Status

Endpoint Status
create-webhook
get-all-webhooks
get-webhook
edit-webhook
delete-webhook
appendAddressesToWebhook

Mint API

Endpoint Status
mintCompressedNft
delegateCollectionAuthority
revokeCollectionAuthority()
getMintlist

Examples

See examples directory for various ways to use the library

  • Create a webhook
HELIUS_API_KEY=<mykey> cargo run --example get_assets

Development

To run tests you need to export or create a .env file with the HELIUS_API_KEY

HELIUS_API_KEY=mykey cargo test

Bot

There's an example telegram bot which can create webooks and send solana activity to your telegram channel


Credits

Inspired by sync library for helius, https://github.com/bgreni/helius-rust-sdk

Commit count: 57

cargo fmt