Quick Start
Get a node running locally with Docker in under 10 minutes.
Architecture Overview
Understand the hierarchical DAG consensus model and module layout.
Metagraph SDK
Build custom data applications on the Constellation Network.
API Reference
Explore the full REST APIs for L0 and L1 nodes.
What is Tessellation?
Tessellation implements a hierarchical DAG (Directed Acyclic Graph) consensus protocol where Layer 1 metagraphs create blocks that Layer 0 aggregates into global snapshots. This architecture enables scalable, parallel transaction processing across multiple metagraphs while maintaining a unified global state. Written in Scala 2.13 with Cats Effect 3 for purely functional, resource-safe concurrency.Key features
Hierarchical DAG consensus
L1 creates blocks, L0 aggregates into global snapshots with multi-phase FSM consensus rounds.
Extensible metagraph SDK
Override rewards, validators, and data application hooks to build custom on-chain logic.
Anti-entropy gossip
Resilient peer-to-peer state sync via origin-specific and content-addressed rumors.
Merkle Patricia Trie proofs
Verifiable state proofs computed per snapshot for cryptographic integrity.
Delegated staking
Token lock-based staking with configurable node assignment and epoch-based rewards.
Kubernetes-native
Production deployments via Kustomize overlays, Skaffold, and Docker Compose profiles.
Module layout
Tessellation is organized as a multi-module SBT project:| Module | Purpose |
|---|---|
shared | Core data structures, cryptography, serialization |
kernel | Recursion schemes (Droste), category theory abstractions |
node-shared | P2P networking, consensus engine, gossip protocol |
dag-l0 | Global Layer 0 validator — aggregates all metagraph state |
dag-l1 | Layer 1 validator — metagraph block creation and consensus |
currency-l0 | Currency metagraph L0 with extension points |
currency-l1 | Currency metagraph L1 with extension points |
sdk | Stable API facade for metagraph developers |
keytool | Key management and PKCS12 keystore operations |
wallet | CLI wallet: transactions, delegated stakes, token locks |
rosetta | Coinbase Rosetta API v1.4.14 implementation |
Tech stack
- Scala 2.13.18 with Java 21 (enforced at build time)
- Cats Effect 3 — async/IO and resource lifecycle
- FS2 — streaming with backpressure
- HTTP4s (Ember) — HTTP server and client
- Circe — JSON serialization with Brotli compression
- BouncyCastle — ECDSA cryptography
- Refined types — compile-time validation
Get started
Run a node
Start a local L0 + L1 environment with Docker Compose.
Core concepts
Learn how DAG consensus, snapshots, and metagraphs work.
Build a metagraph
Use the SDK to extend Currency L0/L1 with custom logic.
