Skip to content

StorageHub v0.2.1

Choose a tag to compare

@ffarall ffarall released this 02 Dec 18:01
· 5 commits to release/v0.2 since this release
25e8dbb

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-bundle v0.2.7, @storagehub/api-augment v0.2.10

Changes since last tag

Base: d9a283293a2612a1a567ab5b6848e84e4ea0a858

  • Highlights:
    • Fix account nonce query at startup: account_nonce from 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-common reducing significantly build times for solochain nodes.
  • Full diff: d9a2832...25e8dbb
  • PRs included:
    • test: persist backend logs from a tests run (#585)
    • fix: 🚑 Avoid cleaning up tx store with genesis block (#589)
    • feat(shc-common): feature gate parachain dependencies (#581)

⚠️ Breaking Changes ⚠️

  • #581: Changed the ParachainClient type to StorageHubClient, which now conditionally includes parachain host functions or regular substrate host functions, depending on the parachain feature flag.

Client

  • Behaviour changes:
    • Fix account nonce query at startup: account_nonce from the Blockchain Service now doesn't panic if querying a block that no longer exists, just warns. Instead of panicking, it returns a Result, 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).

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 ParachainClient for StorageHubClient:

    • The ParachainClient type alias in the StorageHub client has been replaced by StorageHubClient, and Cumulus parachain host functions (cumulus-client-service and related crates) are now behind an optional parachain Cargo feature in shc-common instead 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 ParachainClient type alias, or
        • Rely on Cumulus (cumulus-client-service, cumulus-primitives-*) being pulled in transitively without enabling any feature flags.
    • Suggested code changes
      See PR description for instructions and code snippets.