Crates.io | graph-networks-registry |
lib.rs | graph-networks-registry |
version | 0.6.2 |
source | src |
created_at | 2024-11-19 20:39:42.075658 |
updated_at | 2024-12-02 05:36:18.502938 |
description | The Graph Networks Registry types and helpers |
homepage | |
repository | https://github.com/pinax-network/graph-networks-libs |
max_upload_size | |
id | 1453846 |
size | 29,404 |
Rust types and helpers for working with The Graph Networks Registry.
Documentation available here.
If you want to always get up-to-date registry, make sure to use the latest version of the crate.
Cargo.toml
:
[dependencies]
graph-networks-registry = "0.6.1"
To read the registry from a local file
use graph_networks_registry::NetworksRegistry;
fn main() {
// Parse registry from JSON file
let registry = NetworksRegistry::from_file("TheGraphNetworksRegistry_v0_6_0.json")
.expect("Failed to parse registry");
if let Some(network) = registry.get_network_by_id("mainnet") {
println!("Found mainnet: {:?}", network);
}
}
To fetch the latest compatible registry version from registry.thegraph.com
use graph_networks_registry::NetworksRegistry;
#[tokio::main]
async fn main() {
let registry = NetworksRegistry::from_latest_version()
.await
.expect("Failed to fetch registry");
println!("Loaded {} networks", registry.networks.len());
}
fetch
- Enables remote registry fetching functionality using reqwest (enabled by default)If you don't need to fetch the registry from the network, you can turn off the fetch
feature in your Cargo.toml
:
[dependencies]
graph-networks-registry = { version = "0.6.1", default-features = false }