[package]
name = "blockstore"
version = "0.8.0"
edition = "2021"
license = "Apache-2.0"
description = "An IPLD blockstore capable of holding arbitrary data indexed by CID"
authors = ["Eiger <hello@eiger.co>"]
homepage = "https://www.eiger.co"
repository = "https://github.com/eigerco/blockstore"
readme = "README.md"
rust-version = "1.85"
keywords = ["bitswap", "blockstore", "ipld", "cid"]
categories = ["asynchronous", "data-structures"]
[dependencies]
cid = "0.11"
dashmap = "6"
lru = { version = "0.16", optional = true }
multihash = "0.19"
thiserror = "2"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
redb = { version = "2", optional = true }
sled = { version = "0.34", optional = true }
tokio = { version = "1", features = ["macros", "rt", "sync"], optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
js-sys = { version = "0.3.69", optional = true }
rexie = { version = "0.6", optional = true }
wasm-bindgen = { version = "0.2.92", optional = true }
[dev-dependencies]
rstest = "0.26"
tokio = { version = "1", features = ["macros", "rt", "time"] }
tempfile = "3"
multihash-codetable = { version = "0.1", features = ["sha2"] }
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3.51"
[features]
indexeddb = ["dep:js-sys", "dep:rexie", "dep:wasm-bindgen"]
lru = ["dep:lru"]
redb = ["dep:redb", "dep:tokio"]
sled = ["dep:sled", "dep:tokio"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"]
[package.metadata.cargo-udeps.ignore]
development = ["multihash-codetable"]