modules/sdk module is a single published artifact that re-exports every internal Tessellation module under stable package paths. Metagraph developers depend on it instead of individual internal modules.
The SDK is published to Sonatype Central as
io.constellationnetwork:tessellation-sdk. All other Tessellation modules are marked publish / skip := true and are not available on Maven Central.What the SDK exposes
The SDK aggregates the following internal modules into one artifact:| Internal module | What it provides |
|---|---|
shared | Core types: Transaction, Block, GlobalSnapshot, Address, Hash, Signed |
keytool | Key management, PKCS12 keystore operations |
kernel | Recursion schemes, Cell abstractions |
node-shared | P2P networking, consensus, gossip, Rewards trait |
currency-l0 | CurrencyL0App, OverridableL0, currency snapshot types |
currency-l1 | CurrencyL1App, OverridableL1, data application L1 service |
dag-l1 | Block consensus, CustomContextualTransactionValidator |
io.constellationnetwork.sdk package hierarchy.
Key SDK entry points
SecurityProvider[F]
A type alias for the internal io.constellationnetwork.security.SecurityProvider[F], exposed at io.constellationnetwork.sdk.security.
keypair.generate[F]
Generates a cryptographic key pair using the active SecurityProvider.
Why provided scope
When you declare the SDK dependency in your metagraph project, use provided scope:
provided means the SDK classes are available at compile time but are not bundled into your metagraph JAR. The node runtime already ships the SDK implementation — adding it twice would cause ClassCastException errors when the node loads your metagraph.
How the SDK is built
Internally, thesdk SBT project depends on all other modules with % "provided" scope and then copies their compiled classes and sources into its own JAR:
SDK pages
Getting started
Set up your metagraph project and wire up the SDK dependency.
Extension points
All overridable hooks in
CurrencyL0App and CurrencyL1App.Data applications
Custom data blocks with per-metagraph consensus logic.
Custom rewards
Override the default reward distribution for your metagraph.
Custom validators
Add metagraph-specific transaction validation rules.
