Expand description
§blockfrost-rust
A Rust SDK for Blockfrost.io API.
Getting started • Installation • Examples • Endpoints
§Getting started
To use this SDK you need to login at blockfrost.io and create a new project to receive an API key.
§Installation
Add to your project’s Cargo.toml:
blockfrost = "1.3.0"§Examples
All the examples are located at the examples/ folder.
You might want to check all_requests.rs and ipfs.rs.
Here is simple_request.rs with the basic setup necessary and no settings
customization:
use blockfrost::{BlockfrostAPI, BlockfrostResult};
fn build_api() -> BlockfrostResult<BlockfrostAPI> {
let api = BlockfrostAPI::new("mainnetxvMK4xOpp5mHJgihi055KDLU64JJv2be", Default::default());
Ok(api)
}
#[tokio::main]
async fn main() -> blockfrost::BlockfrostResult<()> {
let api = build_api()?;
let genesis = api.genesis().await?;
println!("{:#?}", genesis);
Ok(())
}§Pagination
Every paginated endpoint takes a Pagination, which controls page, count and order:
use blockfrost::{Order, Pagination};
let pagination = Pagination::new(Order::Desc, 1, 100);
let everything = Pagination::all(); // fetch every page§Block range cursors
Three endpoints additionally accept inclusive from/to block cursors:
accounts_transactionsaddresses_transactionsassets_transactions
use blockfrost::{BlockCursor, Pagination};
// a plain block height, or a block height with a transaction index
let pagination = Pagination::default().with_range(8929261, BlockCursor::tx(9999269, 10));Cursors also accept BlockCursor::block(..), BlockCursor::tx(..) and "8929261:10".parse().
They are preserved across pages when fetch_all is set.
Note: every other paginated endpoint ignores
from/to. Passing aPaginationthat carries cursors to, say,accounts_utxosreturns the full unfiltered list rather than an error, so keep cursors on aPaginationyou only hand to the three endpoints above.
Re-exports§
pub use blockfrost_openapi;pub use error::*;pub use types::*;
Modules§
Structs§
- Block
Cursor - Block
Frost Settings - BlockfrostAPI
- BlockfrostIPFS
- Provides methods for making requests to the IPFS API.
- Ipfs
Settings - Pagination
- Retry
Settings - Settings for retrying when API rate limit is reached.