---
title: Charmhub | Deploy Polkadot node using Charmhub - The Open Operator Collection
description: Deploy the latest version of Polkadot node on any cloud.
url: https://charmhub.io/polkadot/configurations
---

# Polkadot node

[Dwellir AB](https://charmhub.io/publisher/dwellir "View all packages from Dwellir AB")

* [Dwellir AB](https://charmhub.io/publisher/dwellir "View all packages from Dwellir AB")

Platform:

24.04

22.04

21.10

20.04

edge 150

```
juju deploy polkadot --channel edge
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [binary-sha256-url](https://charmhub.io/polkadot/configurations#binary-sha256-url)
* [binary-url](https://charmhub.io/polkadot/configurations#binary-url)
* [chain-spec-url](https://charmhub.io/polkadot/configurations#chain-spec-url)
* [collector-s3-credentials](https://charmhub.io/polkadot/configurations#collector-s3-credentials)
* [data-dir](https://charmhub.io/polkadot/configurations#data-dir)
* [docker-tag](https://charmhub.io/polkadot/configurations#docker-tag)
* [local-relaychain-spec-url](https://charmhub.io/polkadot/configurations#local-relaychain-spec-url)
* [mnemonic-secret-id](https://charmhub.io/polkadot/configurations#mnemonic-secret-id)
* [service-args](https://charmhub.io/polkadot/configurations#service-args)
* [snap-channel](https://charmhub.io/polkadot/configurations#snap-channel)
* [snap-endure](https://charmhub.io/polkadot/configurations#snap-endure)
* [snap-hold](https://charmhub.io/polkadot/configurations#snap-hold)
* [snap-name](https://charmhub.io/polkadot/configurations#snap-name)
* [snap-revision](https://charmhub.io/polkadot/configurations#snap-revision)
* [wasm-runtime-url](https://charmhub.io/polkadot/configurations#wasm-runtime-url)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* binary-sha256-url | string

  If the URL is provided, the charm downloads the sha256 and performs a checksum check against the binary.

  NOTE 1: Needs to point to the sha256 corresponding to the 'binary-url' ahead of downloading the binary to actually perform the check!
  NOTE 2: If multiple binary URL:s are supplied, multiple sha256 URL:s should be supplied as well, in the same order.
  NOTE 3: It's also possible to provide one sha256 URL with multiple binary URL:s if the sha256 file contains one row per binary.
* binary-url | string

  Path to download one or multiple binaries or a single .deb or .tar.gz file.

  Example 1: https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-v1.1.0/polkadot-parachain
  Example 2: "https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-v1.1.0/polkadot https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-v1.1.0/polkadot-execute-worker https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-v1.1.0/polkadot-prepare-worker"
  Example 3: https://github.com/ComposableFi/composable/releases/download/release-v9.10035.5/composable-node\_8.10035.5-1\_amd64.deb
  Example 4: https://github.com/availproject/avail/releases/download/v1.9.0.0/x86\_64-ubuntu-2204-data-avail.tar.gz

  NOTE 1: Different installation methods will be used depending on the downloaded file type.
  NOTE 2: Multiple binary install is currently only supported for the Polkadot relaychains, parachain support is not confirmed.
* chain-spec-url | string

  If set, the file found in the URL will be used as value for the `--chain` argument LEFT of the -- separator.
  This means it will affect the parachain if running a parachain node or the relaychain or livechain if running one of those.
  NOTE: The URL needs to be to the raw chainspec file, not the GitHub page. Confirm the URL by testing that `wget <URL>` gives you the correct file.
* collector-s3-credentials | secret

  Name of a Juju secret containing S3 (or S3-compatible) target details and credentials
  used for uploading charm metadata.

  The secret must be created using `juju add-secret` with the following keys:

  + bucket
  + region
  + endpoint-url
  + key-prefix
  + access-key-id
  + secret-access-key
  + session-token (optional)
    Example:
    juju add-secret collector-s3-credential
    bucket=my-bucket
    region=eu-north-1
    endpoint-url=https://s3.eu-north-1.amazonaws.com
    key-prefix=uploads/
    access-key-id=...
    secret-access-key=...
    session-token=...

  Then configure the charm with:
  juju config <application> collector-s3-credentials=collector-s3-credential
* data-dir | string

  Path to a location where the charm service should write blockchain data.
  For binary workloads this becomes the Polkadot `--base-path`.
  For snap workloads this overrides the default snap common base path.
  If left empty, the service default is used for binary workloads and the snap common path is used for snap workloads.
  MUST BE SET AT DEPLOYMENT TIME!
* docker-tag | string

  The tag of the docker image to extract binary from. E.g. `v1.5.0`.
* local-relaychain-spec-url | string

  If set, the file found in the URL will be used as value for the `--chain` argument RIGHT of the -- separator.
  This means it will affect the local relaychain if running a parachain node.
  NOTE 1: Do not use this when running a relaychain or livechain node.
  NOTE 2: The URL needs to be to the raw chainspec file, not the GitHub page. Confirm the URL by testing that `wget <URL>` gives you the correct file.
* mnemonic-secret-id | secret

  The wallet to use for setting a session key on chain. This is the wallet that will sign the transaction when moving a validator/collator to this node
  using the action 'start-validating'. The mnemonic needs to be added to the model as a secret with the key name 'mnemonic'. If this is a proxy account, the 'proxy-type' must be provided as well.
  An application needs to be granted access to the secret to be able to use it.
  Example:
  juju add-secret validator1 mnemonic="foo bar" proxy-type="Staking" --info 14MofzwMbLm1JeBxLi2BKBRHXJce87DE5UWnttgGBBrQcEy9
  juju grant-secret validator1 polkadot
  juju config polkadot mnemonic-secret-id="secret:ctr90nhaeavjam32tflg"
* service-args | string

  Extra arguments that the service should run with.
  '--chain=... --rpc-port=...' are required to set for the charm to run.
  Set '--prometheus-port=...' when multiple nodes run on the same machine.
* snap-channel | string

  Channel of the polkadot snap to use.
  This is used to determine which version of the polkadot to use.
* snap-endure | boolean

  Configures the snap endure state. If true, the charm will set the snap to not restart after a new snap version refresh.
* snap-hold | boolean

  Configures the snap to hold E.g. NOT to be upgraded automaticall as part of the snapd automatic upgrades.
* snap-name | string

  The name of the polkadot snap to use. E.g. 'polkadot' or 'polkadot-parachain'.
* snap-revision | string

  Revision of the polkadot snap to use.
* wasm-runtime-url | string

  URL where one or more wasm runtime files can be found.
  The file can either be a .wasm file or a tar.gz archive containing one or more wasm runtime files.
  If set, the downloaded file(s) will be in /home/<juju-app-name>/wasm for binary workloads and the service argument `--wasm-runtime-overrides=/home/<juju-app-name>/wasm` will be used.
