datahaven/operator/node/Cargo.toml
undercover-cactus 265581182a
test: launch backend in e2e tests and cli (#418)
## Summary

We are now launching the MSP backend when starting stpragehub services.
In this PR, we also fix the MSP and BSP node configuration and register
it with the correct keys.

## What changed

* Added a launch Backend MSP function that is called when launching
storage hub services
* Fix the wrong genesis error message in storagehub node by removing the
`--chain dev` flags (so it can be launch of the same network as our
local datahaven nodes).
* Use the correct keys to register MSP and BSP. We were injecting
different keys that the one we used for MSP and BSP registration leading
to the MSP and BSP node to never fully register as storage providers.

---------

Co-authored-by: Ahmad Kaouk <56095276+ahmadkaouk@users.noreply.github.com>
2026-02-04 15:56:25 +01:00

187 lines
7.4 KiB
TOML

[package]
authors = { workspace = true }
description = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
name = "datahaven-node"
publish = false
repository = { workspace = true }
version = { workspace = true }
build = "build.rs"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
# Local
datahaven-mainnet-runtime = { workspace = true }
datahaven-runtime-common = { workspace = true }
datahaven-stagenet-runtime = { workspace = true }
datahaven-testnet-runtime = { workspace = true }
# Crates.io
async-channel = { workspace = true }
clap = { features = ["derive"], workspace = true }
codec = { workspace = true }
flume = { workspace = true }
futures = { features = ["thread-pool"], workspace = true }
hex-literal = { workspace = true }
jsonrpsee = { features = ["server"], workspace = true }
log = { workspace = true }
openssl-sys = { workspace = true }
serde_json = { workspace = true, default-features = true }
url = { workspace = true }
#MMR
mmr-gadget = { workspace = true, default-features = true }
mmr-rpc = { workspace = true, default-features = true }
pallet-beefy-mmr = { workspace = true, default-features = true }
pallet-mmr = { workspace = true, default-features = true }
sp-mmr-primitives = { workspace = true, default-features = true }
# Polkadot SDK
frame-benchmarking-cli = { workspace = true, default-features = true, optional = true }
frame-metadata-hash-extension = { workspace = true, default-features = true }
frame-system = { workspace = true, default-features = true }
frame-system-rpc-runtime-api = { workspace = true }
pallet-im-online = { workspace = true }
pallet-transaction-payment = { workspace = true, default-features = true }
pallet-transaction-payment-rpc = { workspace = true, default-features = true }
pallet-transaction-payment-rpc-runtime-api = { workspace = true, features = [
"std",
] }
sc-basic-authorship = { workspace = true, default-features = true }
sc-cli = { workspace = true, default-features = true }
sc-client-api = { workspace = true, default-features = true }
sc-consensus = { workspace = true, default-features = true }
sc-consensus-babe = { workspace = true, default-features = true }
sc-consensus-beefy = { workspace = true, default-features = true }
sc-consensus-beefy-rpc = { workspace = true, default-features = true }
sc-consensus-grandpa = { workspace = true, default-features = true }
sc-consensus-manual-seal = { workspace = true, default-features = true }
sc-executor = { workspace = true, default-features = true }
sc-network = { workspace = true, default-features = true }
sc-network-sync = { workspace = true }
sc-offchain = { workspace = true, default-features = true }
sc-rpc = { workspace = true, default-features = true }
sc-service = { workspace = true, default-features = true }
sc-telemetry = { workspace = true, default-features = true }
sc-transaction-pool = { workspace = true, default-features = true }
sc-transaction-pool-api = { workspace = true, default-features = true }
sp-api = { workspace = true, default-features = true }
sp-block-builder = { workspace = true, default-features = true }
sp-blockchain = { workspace = true, default-features = true }
sp-consensus-babe = { workspace = true, default-features = true }
sp-consensus-beefy = { workspace = true, default-features = true }
sp-consensus-grandpa = { workspace = true, default-features = true }
sp-core = { workspace = true, default-features = true }
sp-genesis-builder = { workspace = true, default-features = true }
sp-inherents = { workspace = true, default-features = true }
sp-io = { workspace = true, default-features = true }
sp-keyring = { workspace = true, default-features = true }
sp-offchain = { workspace = true, default-features = true }
sp-runtime = { workspace = true, default-features = true }
sp-session = { workspace = true, default-features = true }
sp-timestamp = { workspace = true, default-features = true }
sp-transaction-pool = { workspace = true, default-features = true }
substrate-frame-rpc-system = { workspace = true, default-features = true }
# Frontier
fc-api = { workspace = true }
fc-cli = { workspace = true }
fc-consensus = { workspace = true }
fc-db = { workspace = true }
fc-mapping-sync = { workspace = true, features = ["sql"] }
fc-rpc = { workspace = true, features = [
"txpool",
"rpc-binary-search-estimate",
] }
fc-rpc-core = { workspace = true, features = ["txpool"] }
fc-storage = { workspace = true }
fp-account = { workspace = true }
fp-evm = { workspace = true }
fp-rpc = { workspace = true }
pallet-ethereum = { workspace = true }
# StorageHub
pallet-file-system = { workspace = true }
pallet-file-system-runtime-api = { workspace = true }
pallet-payment-streams = { workspace = true }
pallet-payment-streams-runtime-api = { workspace = true }
pallet-proofs-dealer = { workspace = true }
pallet-proofs-dealer-runtime-api = { workspace = true }
pallet-storage-providers = { workspace = true }
pallet-storage-providers-runtime-api = { workspace = true }
serde = { workspace = true, default-features = true }
shc-actors-derive = { workspace = true }
shc-actors-framework = { workspace = true }
shc-blockchain-service = { workspace = true }
shc-client = { workspace = true }
shc-common = { workspace = true }
shc-file-manager = { workspace = true }
shc-file-transfer-service = { workspace = true }
shc-fisherman-service = { workspace = true }
shc-forest-manager = { workspace = true }
shc-indexer-db = { workspace = true }
shc-indexer-service = { workspace = true }
shc-rpc = { workspace = true }
shp-constants = { workspace = true }
shp-file-key-verifier = { workspace = true }
shp-file-metadata = { workspace = true }
shp-opaque = { workspace = true }
shp-traits = { workspace = true }
shp-types = { workspace = true }
sp-keystore = { workspace = true }
substrate-prometheus-endpoint = { workspace = true }
toml = { workspace = true }
# Static linking
#### Needed to build static binaries ####
pq-sys = { workspace = true, optional = true }
[build-dependencies]
substrate-build-script-utils = { workspace = true, default-features = true }
[features]
default = ["std"]
std = [
"datahaven-runtime-common/std",
"datahaven-stagenet-runtime/std",
"datahaven-mainnet-runtime/std",
"datahaven-testnet-runtime/std",
"shp-opaque/std",
]
# Dependencies that are only required if runtime benchmarking should be build.
runtime-benchmarks = [
"dep:frame-benchmarking-cli",
"frame-benchmarking-cli?/runtime-benchmarks",
"frame-system/runtime-benchmarks",
"sc-service/runtime-benchmarks",
"datahaven-runtime-common/runtime-benchmarks",
"datahaven-stagenet-runtime/runtime-benchmarks",
"datahaven-mainnet-runtime/runtime-benchmarks",
"datahaven-testnet-runtime/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
]
# Enable features that allow the runtime to be tried and debugged. Name might be subject to change
# in the near future.
try-runtime = [
"frame-system/try-runtime",
"pallet-transaction-payment/try-runtime",
"datahaven-stagenet-runtime/try-runtime",
"datahaven-mainnet-runtime/try-runtime",
"datahaven-testnet-runtime/try-runtime",
"sp-runtime/try-runtime",
]
metadata-hash = [
"datahaven-stagenet-runtime/metadata-hash",
"datahaven-mainnet-runtime/metadata-hash",
"datahaven-testnet-runtime/metadata-hash",
]
# Bundle the postgres source in the binary to avoid having to install the deps in the system (simplify installation)
static = ["pq-sys", "pq-sys/bundled"]