Crates.io | merkle-sdk |
lib.rs | merkle-sdk |
version | 0.0.7 |
source | src |
created_at | 2023-09-08 14:13:00.606393 |
updated_at | 2024-03-11 15:16:57.928414 |
description | A Rust library for seamless integration with Merkle's services. |
homepage | |
repository | https://github.com/merkle3/merkle-sdk-rs |
max_upload_size | |
id | 967153 |
size | 4,829 |
The merkle SDK is a great way to access our products.
Add the following to your cargo.toml file:
[dependencies]
merkle-sdk = "0.0.7"
Examples are organized into individual crates under the /examples
folder.
You can run any of the examples by executing:
# cargo run -p <example-crate-name> --example <name>
cargo run -p examples-transactions --example transactions
Get an API key for free at mbs.merkle.io.
use merkle_sdk::prelude::Connection;
use futures::StreamExt;
#[tokio::main]
async fn main() {
let api_key = "sk_mbs_a35bf8ac729f9992a4319427df6b564f";
if let Ok(conn) = Connection::from_key(api_key).await {
let mut stream = conn.into_stream();
while let Some(txn) = stream.next().await {
println!("{txn:?}");
}
}
}
This library supports connections to different chains. This can be achieved using out of box builder functions:
use std::env;
use futures::StreamExt;
use merkle_sdk::{prelude::Connection, transactions::ChainId};
#[tokio::main]
async fn main() {
let api_key = "sk_mbs_a35bf8ac729f9992a4319427df6b564f"
// Create a Mainnet connection
let _conn_res = Connection::with_key(&api_key)
.mainnet()
.build()
.await;
// Create a Polygon connection
let _conn_res = Connection::with_key(&api_key)
.polygon()
.build()
.await;
// Create a BSC connection
let _conn_res = Connection::with_key(&api_key)
.bsc()
.build()
.await;
// Create a connection based on chain id
let conn_res = Connection::with_key(&api_key)
.chain(ChainId::Id(137))
.build()
.await;
if let Ok(conn) = conn_res {
let mut stream = conn.into_stream();
while let Some(txn) = stream.next().await {
println!("{txn:?}");
}
}
}