2025-03-17 16:57:14 +00:00
|
|
|
[package]
|
2025-04-18 20:28:00 +00:00
|
|
|
authors = { workspace = true }
|
2025-11-10 11:56:41 +00:00
|
|
|
description = { workspace = true }
|
2025-04-18 20:28:00 +00:00
|
|
|
edition = { workspace = true }
|
2025-05-08 23:32:55 +00:00
|
|
|
homepage = { workspace = true }
|
2025-11-10 11:56:41 +00:00
|
|
|
license = { workspace = true }
|
2025-05-08 23:32:55 +00:00
|
|
|
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"] }
|
2025-11-12 17:23:08 +00:00
|
|
|
fc-rpc = { workspace = true, features = ["txpool", "rpc-binary-search-estimate"] }
|
2025-04-30 17:01:21 +00:00
|
|
|
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 }
|
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",
|
|
|
|
|
]
|