Prerequisites
Before you begin, install the following tools:- Java 21 — enforced at build time (the SBT build will fail on any other version)
- SBT — Scala build tool
- Docker — required for the full test environment
- just — command runner (
brew install justorcargo install just)
Clone the repository
Start the development environment
Run the full test suite
This compiles all modules, starts the Docker environment, and runs all E2E tests including metagraph scenarios:To skip compilation and reuse previously built JARs (faster on subsequent runs):
Start the environment without tests
To start the Docker environment and leave it running for manual exploration:This starts a 3-node Global L0 cluster, DAG L1 cluster, and a test metagraph (Currency L0 + L1).To start against a stable pre-built release instead of compiling from source:
Verify the environment is running
Check that the L0 node is healthy:Check cluster membership:Query the latest global snapshot:
SBT commands
If you prefer working without Docker for compilation and unit tests:CI-equivalent checks
Run the full quality gate locally before submitting a pull request:sbt --error 'scalafixAll --check --rules OrganizeImports;scalafmtCheckAll;test'
The
just check command is equivalent to what the check-scala-code.yml CI workflow runs. If it passes locally, it should pass in CI.Next steps
Architecture overview
Understand the hierarchical DAG consensus model and module structure.
Core concepts
Learn how DAG consensus, snapshots, and metagraphs work.
Build a metagraph
Extend the network with custom data applications using the SDK.
Node operations
Configure and operate validator nodes in production.
