Skip to main content

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 just or cargo install just)
Verify your Java version:
java -version
# Expected: openjdk version "21.x.x" ...

Clone the repository

git clone https://github.com/Constellation-Labs/tessellation.git
cd tessellation

Start the development environment

1

Run the full test suite

This compiles all modules, starts the Docker environment, and runs all E2E tests including metagraph scenarios:
just test
To skip compilation and reuse previously built JARs (faster on subsequent runs):
just test --skip-assembly
2

Start the environment without tests

To start the Docker environment and leave it running for manual exploration:
just up
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:
just up --hypergraph-release=v4.1.0
3

Verify the environment is running

Check that the L0 node is healthy:
curl http://localhost:9000/node/info
Check cluster membership:
curl http://localhost:9000/cluster/info
Query the latest global snapshot:
curl http://localhost:9000/global-snapshots/latest/ordinal
4

Stop the environment

just down

SBT commands

If you prefer working without Docker for compilation and unit tests:
sbt compile

CI-equivalent checks

Run the full quality gate locally before submitting a pull request:
just check
This runs: 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.

Build docs developers (and LLMs) love