StorageHub v0.2.1
Summary
StorageHub v0.2.0 focuses on scalability and resilience of MSP/BSP operations, better observability and indexing of storage requests, and SDK and backend improvements around authentication, file upload, and client UX. This includes support for multiple MSP/BSP instances (leader role), more robust handling of storage request lifecycles, a new Blockchain Service Postgres store for pending extrinsics, and SDK performance improvements for large files.
Components
- Client code: v0.2.0
- Pallets code: v0.2.0
- Runtime code: v0.2.0 (spec_name/spec_version: parachain 1, solochain-evm 1)
- SH Backend Docker image: v0.2.1 (image: ghcr.io/<org>/storage-hub-msp-backend:v0.2.1)
- SH SDK (npm): v0.3.3 (
@storagehub-sdk/core,@storagehub-sdk/msp-client) - types-bundle/api-augment (npm):
@storagehub/types-bundlev0.2.7,@storagehub/api-augmentv0.2.10
Changes since last tag
Base: d9a283293a2612a1a567ab5b6848e84e4ea0a858
- Highlights:
- Fix account nonce query at startup:
account_noncefrom the Blockchain Service now doesn't panic if querying a block that no longer exists, just warns. - Feature gate parachain in shc-common: Feature gate parachain-related crates in
shc-commonreducing significantly build times for solochain nodes.
- Fix account nonce query at startup:
- Full diff: d9a2832...25e8dbb
- PRs included:
⚠️ Breaking Changes ⚠️
- #581: Changed the
ParachainClienttype toStorageHubClient, which now conditionally includes parachain host functions or regular substrate host functions, depending on theparachainfeature flag.
Client
- Behaviour changes:
- Fix account nonce query at startup:
account_noncefrom the Blockchain Service now doesn't panic if querying a block that no longer exists, just warns. Instead of panicking, it returns aResult, whose errors are properly logged and handled. - Avoid pending db cleanup in Standalone: when running in standalone mode (no multiple instances of MSP/BSP) cleanup of the DB is ignored (as there is no DB).
- Fix account nonce query at startup:
Versions
- Polkadot SDK: polkadot-stable2412-6
- Rust: 1.87 (from rust-toolchain.toml)
Compatibility
- SH Backend v0.2.0 → compatible with pallets/runtime v0.2.0 and client v0.2.0 (all built from this release).
- SDK v0.3.3 → compatible with backend v0.2.0, client v0.2.0, and pallets/runtime v0.2.0.
Upgrade Guide
-
#581 – changing
ParachainClientforStorageHubClient:-
The
ParachainClienttype alias in the StorageHub client has been replaced byStorageHubClient, and Cumulus parachain host functions (cumulus-client-serviceand related crates) are now behind an optionalparachainCargo feature inshc-commoninstead of being required unconditionally. -
Who is affected
- Substrate projects using the StorageHub client crates (for example
shc-common,shc-blockchain-service,shc-indexer-service,shc-fisherman-service,shc-rpc, or the top-level StorageHub client builder) that:- Refer directly to the
ParachainClienttype alias, or - Rely on Cumulus (
cumulus-client-service,cumulus-primitives-*) being pulled in transitively without enabling any feature flags.
- Refer directly to the
- Substrate projects using the StorageHub client crates (for example
-
Suggested code changes
See PR description for instructions and code snippets.
-