Skip to content
Alpha — Odal Node is in active development. APIs, schemas, and docs may and will change before 1.0.

Quick Start

By the end of this guide you will have a node running on your own machine, your operator identity, and a first signed passport that anyone can verify — without Odal in the loop. Whether you’re a developer or an operator, the whole flow runs through a single command: odal.

1. Get the engine

Clone dpp-engine — it’s the only repository you need:

Terminal window
git clone https://github.com/odal-node/dpp-engine
cd dpp-engine

2. Build the odal CLI

Build the CLI once and put it on your PATH (or grab a release binary). From here on, odal is the single command you use — for infrastructure, setup, and passports alike.

Terminal window
cargo build -p dpp-cli --release
# the binary lands at target/release/odal — add it to your PATH

3. Set your secrets

Copy the example environment file and set your own values — database passwords, a key-store passphrase, and your admin credentials. The node fails closed if its secrets are missing, by design.

Terminal window
cp .env.example .env
# then edit .env

4. Bring the node up

Run odal with no arguments for guided setup — it brings up the stack and onboards you, minting your first API key:

Terminal window
odal

Prefer it scripted? The same flow is odal up (build and start) followed by odal bootstrap (onboard and mint the key).

5. Drive it from the Console

With the node up, running odal on its own opens the Console — an interactive menu where every task lives, so you never have to memorise a command:

? What would you like to do?
> Infrastructure start · stop · status · update images
Passports import · validate · publish · export
Operator view · edit configuration
API keys create · list · revoke
Environment switch · create · view profiles (dev/prod)
Schema check for updates
Setup / Reconfigure connect · start · onboard · first key
[↑↓ to move · ⏎ select · Esc to quit]

Arrow-key to a section and press Enter. Each one is also a direct command, so the same actions script cleanly in CI:

Console sectionWhat it doesScripted equivalent
InfrastructureStart, stop, check status, update container imagesodal up · odal down · odal status · odal update
PassportsThe full lifecycle — import, validate, publish, exportodal passport · import · validate · publish · export
OperatorView and edit your operator identity and brandingodal operator set
API keysCreate, list, and revoke keys for CI or integrationsodal key ·create · list · revoke
EnvironmentSwitch or create profiles for more than one node (dev/prod)odal profile · use · create · list
SchemaCheck for sector-schema updates as the regulation movesodal schema check
Setup / ReconfigureReconnect, re-onboard, or mint a first keyodal --reconfigure · odal bootstrap

Start with Infrastructure → Status to confirm the node is healthy — validating, signing, and serving.

6. Your first passport

From Passports, the lifecycle is three stops:

  1. Import — bring product data in from a CSV or Excel file; each row becomes a draft.
  2. Validate — check the drafts against the sector’s schema and rules before anything is signed, so problems surface while they are still cheap to fix.
  3. Publish — sign each passport with your key and make it resolvable.

The published passport carries a signature bound to your public identity. Any consumer, authority, or recycler can verify it against your DID document — no access to your node, and no dependency on Odal, required.

Where to go next