You can install Pop CLI from crates.io:
cargo install --force --locked pop-cli
ℹ️ Pop CLI requires Rust 1.81 or later.
You can also install Pop CLI using the Pop CLI GitHub repo:
cargo install --locked --git https://github.com/r0gue-io/pop-cli
ℹ️ For detailed instructions on how to install Pop CLI, please refer to our documentation: https://learn.onpop.io/v/cli/installing-pop-cli
Pop CLI collects anonymous usage metrics to help us understand how the tool is being used and how we can improve it. We do not collect any personal information. If you wish to disable telemetry or read more about our telemetry practices please see our telemetry documentation.
On the Pop Docs website you will find:
Build the tool locally with all the features:
cargo build --all-features
Build the tool only for Parachain functionality:
cargo build --no-default-features --features chain
Build the tool only for Smart Contracts functionality:
cargo build --no-default-features --features contract
To test the tool locally. Due to the time it can take to build a Parachain or a Smart Contract, some tests have been separated from the normal testing flow into integration tests.
We use cargo nextest
for faster test runs.
cargo install cargo-nextest
Run the unit tests only:
# Recommended
cargo nextest run --lib --bins
# If you don't have nextest installed
cargo test --lib --bins
To run the integration tests relating to Smart Contracts:
cargo nextest run --no-default-features --features contract --test contract
To run the integration tests relating to Parachains:
cargo nextest run --no-default-features --features chain --test chain
cargo nextest run --no-default-features --features chain --test metadata
Run all tests (unit + integration):
cargo nextest run
Running tests may result in rate limits being exhausted due to the reliance on the GitHub REST API for determining releases. As per https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api#getting-a-higher-rate-limit, a personal access token can be used via the
GITHUB_TOKEN
environment variable.
We use cargo-deny
locally to check advisories and licenses.
cargo install cargo-deny
cargo deny check
# Advisories only
cargo deny check advisories
# Licenses only
cargo deny check licenses
Pop CLI would not be possible without these awesome crates!
- Local network deployment powered by zombienet-sdk
- cargo contract a setup and deployment tool for developing Wasm based Smart Contracts via ink!
- Build deterministic runtimes powered by srtool-cli
The entire code within this repository is licensed under the GPLv3.
Please contact us if you have questions about the licensing of our products.