Cardano Ignite is a toolbox for rapidly deploying and managing Cardano testnets with multiple stake-pools distributed across different simulated regions. It comes with helper tools, such as cardano-db-sync, Blockfrost, Prometheus and Loki. The testnet topology, log files and cardano-node metrics are visualized in built-in Grafana dashboards.
| Status | Block Chain |
|---|---|
![]() |
![]() |
| Physical Topology | Localroot Topology |
|---|---|
![]() |
![]() |
| Network | Process |
|---|---|
![]() |
![]() |
This project is designed for developers and end users who wish to run their own Cardano testnet for rapid development or experimentation. It is not intended for performance benchmarking or integration testing, such as the Antithesis project.
The following list provides an overview of the key tools and technologies used in the Cardano Ignite project.
| Name | Description | Link |
|---|---|---|
| Amaru | A fully open source node client for Cardano, written in Rust. | https://github.com/pragma-org/amaru |
| Blackbox Exporter | A Prometheus Exporter for probing endpoints over multiple protocols. | https://github.com/prometheus/blackbox_exporter |
| Blockfrost | A blockchain explorer and API for Cardano. | https://github.com/blockfrost/blockfrost-backend-ryo |
| Cardano CLI | A command-line interface for the Cardano blockchain. | https://github.com/IntersectMBO/cardano-cli |
| Cardano DB Sync | A database synchronization tool for the Cardano ledger. | https://github.com/IntersectMBO/cardano-db-sync |
| Cardano Node | A node implementation of the Cardano blockchain. | https://github.com/IntersectMBO/cardano-node |
| Cardano TX Generator | A tool for generating transactions on the Cardano blockchain. | https://github.com/IntersectMBO/cardano-node/tree/master/bench/tx-generator |
| CoreDNS | A flexible, extensible DNS server. | https://github.com/coredns/coredns |
| Grafana | An open and composable observability and data visualization platform. | https://github.com/grafana/grafana |
| Loki | A log aggregation system designed to store and query logs. | https://github.com/grafana/loki |
| PostgreSQL | An object-relational database system. | https://www.postgresql.org |
| Prometheus | A systems and service monitoring system. | https://github.com/prometheus/prometheus |
| Yaci Store | A modular, high-performance Cardano blockchain indexer and datastore. | https://github.com/bloxbean/yaci-store |
The repository ships a set of pre-defined testnets under testnets/. Binary testnets use a pre-built cardano-node and build quickly, while Source testnets compile the node from source and take considerably longer on the first build. Each testnet directory contains a README.md with further details, such as the cardano-node version in use.
| Testnet | Nodes | Node Build | Description |
|---|---|---|---|
| simple_network_binary | 3 pools | Binary | Three-pool testnet with a pre-built cardano-node. A good first choice. |
| single_pool_binary | 1 pool | Binary | The smallest testnet, a single pool. |
| simple_network_source | 3 pools | Source | Like simple_network_binary, but cardano-node is built from source. |
| simple_mixed_nodes_source | 3 pools + 2 Amaru nodes | Source | cardano-node and Amaru nodes running side by side. |
| simple_mixed_consensus | 12 pools | Source | A mixture of nodes running in Praos- or Genesis-mode, in-memory and disk UTXO HD. |
| global_network | 6 pools, 24 nodes | Source | Block producers and relays spread across simulated regions, mixed node versions. |
| global_network_mixed_nodes | 6 pools, 24 nodes + 2 Amaru | Source | Global topology with both cardano-node and Amaru, starts with 4 epochs of blocks. |
| global_network_2c | 4 pools, 16 nodes | Source | Reduced two-continent variant of global_network for A/B benchmarking, needs 8 cores. |
Cardano Ignite builds on top of Docker Compose. Due to dependencies related to networking, its current compatibility is limited to Linux-based operating systems.
The following applications are required:
Please consult the SETUP.md file for detailed installation instructions.
-
Pull the Cardano Ignite Git repository
git clone https://github.com/cardano-foundation/cardano-ignite.git cd ./cardano-ignite/ -
Pick a testnet from the Testnets overview. For a first run,
simple_network_binarybuilds quickly and is a good starting point. -
Build the
simple_network_binarytestnetmake build testnet=simple_network_binary
Note
The first build downloads the base images and builds all containers. For
simple_network_binary this takes about 5-10 minutes and around 10 GB of
disk space, depending on hardware and network bandwidth. Testnets that build
cardano-node from source can take more than an hour.
-
Start the
simple_network_binarytestnet without optional containersmake up testnet=simple_network_binary -
Start the
simple_network_binarytestnet with optional containers (Blockfrost, TX Generator...)make up-all testnet=simple_network_binary -
Open your browser and navigate to
http://localhost:3000 -
Enter the credentials below
Username: cardano Password: cardano -
Watch the testnet come alive. The pools start producing blocks right away, and within a few minutes the Grafana dashboards fill up with logs, metrics and the testnet topology.
-
Check that all pools have reached consensus
make validateThe testnet is healthy when the reply shows
"status":"synced". -
Stop the
simple_network_binarytestnetmake down testnet=simple_network_binary
-
Show available commands
make help -
Check for consensus among all pools
make validate -
Show block adoption statistics
make blockperf -
Show canary transaction statistics
make canary -
Show latest block and slot from cardano-db-sync
make dbsync -
Show information about the latest block from Blockfrost
make block -
Show details about all stake-pools from Blockfrost
make pools





