2025-03-17 16:57:14 +00:00
|
|
|
[package]
|
2025-04-18 20:28:00 +00:00
|
|
|
authors = { workspace = true }
|
2025-05-08 23:32:55 +00:00
|
|
|
description = "A solochain node template built with Substrate, part of Polkadot Sdk."
|
2025-04-18 20:28:00 +00:00
|
|
|
edition = { workspace = true }
|
2025-05-08 23:32:55 +00:00
|
|
|
homepage = { workspace = true }
|
|
|
|
|
license = "Unlicense"
|
|
|
|
|
name = "datahaven-node"
|
2025-03-17 16:57:14 +00:00
|
|
|
publish = false
|
2025-05-08 23:32:55 +00:00
|
|
|
repository = { workspace = true }
|
2025-09-29 21:35:12 +00:00
|
|
|
version = { workspace = true }
|
2025-03-17 16:57:14 +00:00
|
|
|
|
|
|
|
|
build = "build.rs"
|
|
|
|
|
|
|
|
|
|
[package.metadata.docs.rs]
|
|
|
|
|
targets = ["x86_64-unknown-linux-gnu"]
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
2025-04-30 17:01:21 +00:00
|
|
|
# Local
|
2025-05-08 13:14:30 +00:00
|
|
|
datahaven-mainnet-runtime = { workspace = true }
|
|
|
|
|
datahaven-runtime-common = { workspace = true }
|
|
|
|
|
datahaven-stagenet-runtime = { workspace = true }
|
|
|
|
|
datahaven-testnet-runtime = { workspace = true }
|
2025-04-18 20:28:00 +00:00
|
|
|
|
2025-04-30 17:01:21 +00:00
|
|
|
# Crates.io
|
|
|
|
|
clap = { features = ["derive"], workspace = true }
|
|
|
|
|
codec = { workspace = true }
|
2025-04-14 11:40:24 +00:00
|
|
|
flume = { workspace = true }
|
2025-03-17 16:57:14 +00:00
|
|
|
futures = { features = ["thread-pool"], workspace = true }
|
2025-04-14 18:38:55 +00:00
|
|
|
hex-literal = { workspace = true }
|
2025-04-09 14:59:05 +00:00
|
|
|
jsonrpsee = { features = ["server"], workspace = true }
|
2025-04-30 17:01:21 +00:00
|
|
|
log = { workspace = true }
|
perf(CLI): ⚡ Add option to use local Docker build in CLI for faster iteration (#77)
In this PR:
1. Add new `datahaven-node-local.dockerfile` for building a local image
with the locally built DataHaven Node binary. This severely improves
iteration speed on running `bun cli` if there are changes in the DH
node. Previously, it relied on the published dockerfile, which builds
the Cargo project inside of it, taking +20m even with no changes.
2. Building this local dockerfile is integrated to the CLI, which now
also asks if the user wants to rebuild the local docker image of the DH
node.
3. A new script `cargo-crossbuild` is added, to be able to build the
DataHaven node Cargo project both from Mac and Linux, with the target
being `x86_64-unknown-linux-gnu`. For building from Mac, it uses `cargo
zigbuild`, so `zig` is now a dependency. Building for this target is
needed because the docker image is an Ubuntu image, so it will need to
run a linux binary.
4. Added `zig` as dependency in docs.
5. CI still uses the docker image built by the CI itself, which builds
the Cargo project inside of it. The CI can take advantage of caching for
this.
2025-05-16 21:04:40 +00:00
|
|
|
openssl-sys = { workspace = true }
|
2025-04-30 17:01:21 +00:00
|
|
|
serde_json = { workspace = true, default-features = true }
|
|
|
|
|
url = { workspace = true }
|
2025-09-10 06:15:27 +00:00
|
|
|
async-channel = { workspace = true }
|
2025-04-18 20:28:00 +00:00
|
|
|
|
2025-05-08 13:14:30 +00:00
|
|
|
#MMR
|
|
|
|
|
mmr-rpc = { workspace = true, default-features = true }
|
|
|
|
|
pallet-beefy-mmr = { workspace = true, default-features = true }
|
|
|
|
|
pallet-mmr = { workspace = true, default-features = true }
|
|
|
|
|
|
2025-04-30 17:01:21 +00:00
|
|
|
# Polkadot SDK
|
|
|
|
|
frame-benchmarking-cli = { workspace = true, default-features = true }
|
|
|
|
|
frame-metadata-hash-extension = { workspace = true, default-features = true }
|
|
|
|
|
frame-system = { workspace = true, default-features = true }
|
|
|
|
|
frame-system-rpc-runtime-api = { workspace = true }
|
2025-04-14 18:38:55 +00:00
|
|
|
pallet-im-online = { workspace = true }
|
|
|
|
|
pallet-transaction-payment = { workspace = true, default-features = true }
|
|
|
|
|
pallet-transaction-payment-rpc = { workspace = true, default-features = true }
|
2025-05-08 23:32:55 +00:00
|
|
|
pallet-transaction-payment-rpc-runtime-api = { workspace = true, features = [
|
|
|
|
|
"std",
|
|
|
|
|
] }
|
2025-04-14 18:38:55 +00:00
|
|
|
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 }
|
2025-04-18 20:28:00 +00:00
|
|
|
sc-consensus-beefy = { workspace = true, default-features = true }
|
|
|
|
|
sc-consensus-beefy-rpc = { workspace = true, default-features = true }
|
2025-04-14 18:38:55 +00:00
|
|
|
sc-consensus-grandpa = { workspace = true, default-features = true }
|
2025-04-30 17:01:21 +00:00
|
|
|
sc-consensus-manual-seal = { workspace = true, default-features = true }
|
2025-04-14 18:38:55 +00:00
|
|
|
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 }
|
2025-04-18 20:28:00 +00:00
|
|
|
sc-rpc = { workspace = true, default-features = true }
|
2025-04-14 18:38:55 +00:00
|
|
|
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 }
|
2025-05-08 13:14:30 +00:00
|
|
|
sp-offchain = { workspace = true, default-features = true }
|
2025-04-14 18:38:55 +00:00
|
|
|
sp-runtime = { workspace = true, default-features = true }
|
2025-05-08 13:14:30 +00:00
|
|
|
sp-session = { workspace = true, default-features = true }
|
2025-04-14 18:38:55 +00:00
|
|
|
sp-timestamp = { workspace = true, default-features = true }
|
2025-05-08 13:14:30 +00:00
|
|
|
sp-transaction-pool = { workspace = true, default-features = true }
|
2025-04-14 18:38:55 +00:00
|
|
|
substrate-frame-rpc-system = { workspace = true, default-features = true }
|
2025-04-30 17:01:21 +00:00
|
|
|
|
|
|
|
|
# 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"] }
|
|
|
|
|
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 }
|
2025-03-17 16:57:14 +00:00
|
|
|
|
2025-09-10 06:15:27 +00:00
|
|
|
# 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 }
|
|
|
|
|
shc-actors-framework = { workspace = true }
|
|
|
|
|
shc-actors-derive = { workspace = true }
|
|
|
|
|
shc-blockchain-service = { workspace = true }
|
|
|
|
|
shc-file-transfer-service = { workspace = true }
|
|
|
|
|
shc-common = { workspace = true }
|
|
|
|
|
shc-file-manager = { 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 }
|
|
|
|
|
shc-client = { 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 }
|
|
|
|
|
serde = { workspace = true, default-features = true }
|
|
|
|
|
cumulus-client-service = { workspace = true }
|
2025-09-30 17:39:11 +00:00
|
|
|
toml = { workspace = true }
|
2025-09-10 06:15:27 +00:00
|
|
|
|
2025-03-17 16:57:14 +00:00
|
|
|
[build-dependencies]
|
2025-04-14 18:38:55 +00:00
|
|
|
substrate-build-script-utils = { workspace = true, default-features = true }
|
2025-03-17 16:57:14 +00:00
|
|
|
|
|
|
|
|
[features]
|
|
|
|
|
default = ["std"]
|
|
|
|
|
std = [
|
2025-05-08 23:32:55 +00:00
|
|
|
"datahaven-runtime-common/std",
|
|
|
|
|
"datahaven-stagenet-runtime/std",
|
|
|
|
|
"datahaven-mainnet-runtime/std",
|
|
|
|
|
"datahaven-testnet-runtime/std",
|
2025-09-10 06:15:27 +00:00
|
|
|
"shp-opaque/std"
|
2025-03-17 16:57:14 +00:00
|
|
|
]
|
2025-04-14 11:40:24 +00:00
|
|
|
|
2025-03-17 16:57:14 +00:00
|
|
|
# Dependencies that are only required if runtime benchmarking should be build.
|
|
|
|
|
runtime-benchmarks = [
|
2025-05-08 23:32:55 +00:00
|
|
|
"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",
|
2025-03-17 16:57:14 +00:00
|
|
|
]
|
|
|
|
|
# Enable features that allow the runtime to be tried and debugged. Name might be subject to change
|
|
|
|
|
# in the near future.
|
|
|
|
|
try-runtime = [
|
2025-05-08 23:32:55 +00:00
|
|
|
"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",
|
2025-03-17 16:57:14 +00:00
|
|
|
]
|
2025-10-10 13:04:03 +00:00
|
|
|
|
|
|
|
|
metadata-hash = [
|
|
|
|
|
"datahaven-stagenet-runtime/metadata-hash",
|
|
|
|
|
"datahaven-mainnet-runtime/metadata-hash",
|
|
|
|
|
"datahaven-testnet-runtime/metadata-hash",
|
|
|
|
|
]
|