15 releases
0.3.2 | Apr 23, 2024 |
---|---|
0.3.1 | Apr 19, 2024 |
0.2.4 | Mar 4, 2024 |
0.1.1 | Feb 23, 2024 |
#171 in #api-key
90KB
2.5K
SLoC
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
Dependencies
~76MB
~1.5M SLoC