Expand description
host-chain-core — WASM-compatible portable networking, parsing, and chain types.
Compiles to both native (x86_64, aarch64) and wasm32-unknown-unknown.
Uses reqwest as the sole HTTP client: rustls-tls on native,
browser fetch() via web-sys on WASM — same Rust code, no JS glue.
Uses ruzstd for zstd decompression (pure Rust, no C FFI).
§Modules
car— CARv1 / UnixFS parser (ruzstd for decompression)chain— shared chain data types (ChainId, ChainState, etc.)dotns— async DOTNS resolution pipeline (reqwest for HTTP)identity— async username resolution via Substrate Identity palletregistry— genesis-hash-to-ChainId lookup tablestate_machine— generic chain state machine (shared WASM/native)store— chain database persistence abstraction
Modules§
- car
- CARv1 / UnixFS parser for .prod bundles.
- chain
- Shared chain data types — WASM-compatible, no platform-specific deps.
- dotns
- Async DOTNS (DOT Name Service) on-chain resolution.
- identity
- Async username and consumer identity resolution against the Identity and Resources pallets on People chains.
- registration
- Async HTTP-based helpers for username registration on People chains.
- registry
- Chain registry — maps genesis hashes to chain identifiers.
- state_
machine - Generic chain state machine — shared between WASM and native.
- store
- Chain database persistence abstraction.
- subscription
- Generic statement-store subscription — trait definitions and
StatementStoreSubscriptionreconnect/dedup/dispatch infrastructure.