Cargo Features

smoldot = { version = "0.17.0", default-features = false, features = ["std", "database-sqlite", "wasmtime"] }
default = database-sqlite, std, wasmtime

These default features are set whenever smoldot is added without default-features = false somewhere in the dependency tree.

std default database-sqlite wasmtime = futures-util

Enables pin-project, soketto, thread-pool of futures-executor and getrandom of schnorrkel


We cannot make getrandom a direct dependency because rand_core makes getrandom a feature name, which requires forwarding.

database-sqlite default = std

Enables parking_lot and rusqlite ^0.30.0


database-sqlite feature

wasmtime default = std

Enables wasmtime ^16.0.0

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

futures-util std

Enables futures-util

std feature Add here the crates that cannot function without the help of the operating system or environment. TODO: slim down these features