[[bin]] name = "polkadot" path = "src/main.rs" [[bin]] name = "polkadot-execute-worker" path = "src/bin/execute-worker.rs" [[bin]] name = "polkadot-prepare-worker" path = "src/bin/prepare-worker.rs" [package] name = "polkadot" description = "Implementation of a `https://polkadot.network` node in Rust based on the Substrate framework." license = "GPL-3.0-only" rust-version = "1.64.0" readme = "README.md" authors.workspace = true edition.workspace = true version = "18.0.0" default-run = "polkadot" [lints] workspace = true [dependencies] color-eyre = { workspace = true } tikv-jemallocator = { optional = true, features = ["unprefixed_malloc_on_supported_platforms"], workspace = true } polkadot-cli = { features = ["rococo-native", "westend-native"], workspace = true, default-features = true } polkadot-node-core-pvf.workspace = true polkadot-node-core-pvf.default-features = true polkadot-node-core-pvf-prepare-worker.workspace = true polkadot-node-core-pvf-prepare-worker.default-features = true polkadot-overseer.workspace = true polkadot-overseer.default-features = true polkadot-node-core-pvf-common.workspace = true polkadot-node-core-pvf-common.default-features = true polkadot-node-core-pvf-execute-worker.workspace = true polkadot-node-core-pvf-execute-worker.default-features = true [target.'cfg(target_os = "linux")'.dependencies] tikv-jemallocator = { version = "0.5.0", features = ["unprefixed_malloc_on_supported_platforms"] } [dev-dependencies] assert_cmd = { workspace = true } nix = { features = ["signal"], workspace = true } tempfile = { workspace = true } tokio = { workspace = true, default-features = true } substrate-rpc-client = { default-features = true, path = "../substrate/utils/frame/rpc/client" } polkadot-core-primitives = { default-features = true, path = "core-primitives" } [build-dependencies] substrate-build-script-utils.workspace = true substrate-build-script-utils.default-features = true [badges] maintenance = { status = "actively-developed" } [features] runtime-benchmarks = ["polkadot-cli/runtime-benchmarks"] try-runtime = ["polkadot-cli/try-runtime"] fast-runtime = ["polkadot-cli/fast-runtime"] runtime-metrics = ["polkadot-cli/runtime-metrics"] pyroscope = ["polkadot-cli/pyroscope"] jemalloc-allocator = [ "dep:tikv-jemallocator", "polkadot-node-core-pvf-prepare-worker/jemalloc-allocator", "polkadot-node-core-pvf/jemalloc-allocator", "polkadot-overseer/jemalloc-allocator", ] # Generate the metadata hash needed for CheckMetadataHash # in the builtin test runtimes (westend and rococo). metadata-hash = [ "polkadot-cli/metadata-hash", ] # Enables timeout-based tests supposed to be run only in CI environment as they may be flaky # when run locally depending on system load ci-only-tests = ["polkadot-node-core-pvf/ci-only-tests"] # Configuration for building a .deb package - for use with `cargo-deb` [package.metadata.deb] name = "polkadot" extended-description = "Implementation of a https://polkadot.network node in Rust based on the Substrate framework." section = "misc" maintainer = "security@parity.io" license-file = ["LICENSE", "0"] # https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html maintainer-scripts = "scripts/packaging/deb-maintainer-scripts" assets = [ [ "target/release/polkadot", "/usr/bin/", "755", ], [ "target/release/polkadot-prepare-worker", "/usr/lib/polkadot/", "755", ], [ "target/release/polkadot-execute-worker", "/usr/lib/polkadot/", "755", ], [ "scripts/packaging/polkadot.service", "/lib/systemd/system/", "644", ], ] conf-files = ["/etc/default/polkadot"] [package.metadata.spellcheck] config = "./scripts/ci/gitlab/spellcheck.toml"