Run locally
What you will do
Check out an approved repository tag.
Create a local data directory and configuration file.
Start one Decentralization Manager instance.
Open the web interface.
Verify persistent files and Canton connectivity.
This guide starts one node. Creating a Decentralized Party requires other participating nodes and is covered separately.
1. Check out the source
git clone <https://github.com/DLC-link/decentralization-manager.git>
cd decentralization-manager
git checkout <approved-release-tag>Do not use a release candidate or main unless the environment owner explicitly approved it for testing.
2. Prepare a data directory
mkdir -p ./development/participant-1Decentralization Manager loads an optional .env file from the directory passed through --dir or DECPM_DIR. The configuration file belongs at the directory root, not inside its data/ subdirectory.
3. Add minimum development configuration
Create ./development/participant-1/.env with placeholders for the selected environment:
Add the approved authentication settings for your environment. Do not place production credentials in this file or commit it to source control.
4. Start the application
For a release build:
5. Open the interface
Open:
Complete the configured identity-provider login where required.
Expected result
A successful first start should:
Serve the web interface on the configured HTTP port.
Generate or load a persistent Noise identity.
Create or open the SQLite operational database.
Create the local DAR storage directory when needed.
Attempt Canton Admin and Ledger API connections using the selected settings.
Expose a clear error if authentication, TLS, or Canton connectivity is misconfigured.
Verify persistent files
The selected data directory should contain application-managed state under data/, including the Noise key, SQLite database, and DAR storage as they are created.
Restart the process with the same data directory and confirm that its identity remains stable. Do not delete or replace the Noise key after peers have registered it.
Development-only insecure mode
The repository includes an insecure mode for isolated development against a Canton participant configured with unsafe shared-secret authentication.
Troubleshooting
Build cannot fetch canton-lib
Confirm a GitHub-registered SSH key is available to the build path.
UI does not open
Check the configured HTTP port, process logs, and local firewall.
Login fails
Check provider URL, realm or audience, public client, redirect URI, web origin, PKCE, and token claims.
Every Canton call fails immediately
Check host, port, and whether the client TLS setting matches what the endpoint serves.
Peers cannot connect later
Check the Noise port, public address, peer entry, and persistent public key.
State disappears after restart
Confirm the same data directory is used and remains writable.
Next steps
Run a second and third development instance with separate ports and data directories.
Move to Decentralization Manager production deployment only after the local workflow is understood.
Technical sources
Related pages
Next step
👉 Form the mesh: Connect Decentralization Manager peers.
Last updated