Unofficial Helius SDK Written in Rust
For more in depth details about Helius features, please consult the official Typescript SDK
This README will largely present what functionality is available in this implementation
Disclaimer
I'm not ready to commit to no breaking changes yet so will be making 0.x.x
releases for now
Getting Started
Installation And Usage
cargo add helius-sdk
use *;
Other
variant for Enums
Most enums in this crate have an Other(String)
options if new variants have been added to the helius API that have
not yet been included in this crate. When using these variants, do keep in mind there is a high chance that upgrading
to a new version will break your code if you have logic around receiving a response of this form. As they will then
have a proper distinct value in the enum for deserialization.
Webhooks
Create Webhook
let hook = client.create_webhook;
Get All Webhooks
Retrieve all webhook for the current user account
let hooks = client.get_all_webhooks;
Get Webhook by ID
let hook = client.get_webhook_by_id );
Edit Webhook
let mut hook = client.get_webhook_by_id.unwrap;
hook.webhook_data.webhook_type = Discord.into;
let ehook = client.edit_webhook;
Delete Webhook
client.delete_webhook;
Create Collection Webhook
A convenience method, not actually a part of the helius rest interface.
let res = client.create_collection_webhook;
Enhanced Transactions API-
Parse transactions
let res = client.parse_transaction;
NFT API
Get All Tokens For Collection
let res = client.get_mintlist;
Token Metadata API
Get Token Metadata
let res = client.get_token_metadata;
RPC Abstractions
Helper methods for common RPC operations
Get Solana TPS
client.rpc.get_tps;
Request Airdrop
let key = new_unique;
client.rpc.airdrop.expect;
Access Solana Connection
Users can also access the underlying solana_sdk rpc client to make other standard rpc calls.
let conn = client.rpc.connection;
let inflation = conn.get_inflation_rate;
Todo
- Beta/Alpha endpoints?