Setup Guide
This guide describes two methods for setting up a Mazze node and miner: using Docker (recommended) or building from source. For the Zurich development phase, we recommend using Docker.
For reading logs, see our Viewing Mazze Logs guide. For CLI usage, RPC details, and mining operations, see Mazze CLI, RPC Guide, and Mining Guide.
1. Docker Setup
1.1 Compose-based Setup (Recommended)
The repository includes a ready-to-use docker-compose.yml. To run Mazze:
Edit
run/hydra.toml:Set
public_address = "<your-public-ip>"(or leave empty to auto-detect).Set
mining_author = "<your-base32-mazze-address>"(or leave empty to disable mining on the node).Ensure
log_conf = "/app/config/log.yaml"is present (already set in this repo).
Optional: edit
run/log.yamlfor logging format/level. It is mounted into the container at/app/config/log.yamland hasrefresh_rate: 30 seconds.Start the services:
sudo docker compose up -dTo roll out a freshly published image tag, pull and recreate:
# Optional if using non-default tag suffixes:
# export MAZZE_IMAGE_TAG=<tag-suffix>
sudo docker compose pull
sudo docker compose up -d --force-recreateVerify the deployed image revision:
View logs:
Retrieve your node ID (after node starts):
Apply config changes:
Stop services:
Notes:
Logs are written under
./logs/nodeand./logs/mineron the host.For persistent chain data on the host, you can add a volume to
docker-compose.yml, for example:- ./blockchain_data:/app/blockchain_data
1.2 Manual Docker Run (Optional)
If you prefer docker run, ensure ports are open and set the same mounts as in the compose file. Compose is recommended for simplicity.
2. Building from Source
For developers who want to build from source:
Clone the repository:
Install dependencies:
Build the project:
Configure the node:
Edit
run/hydra.tomlSet your VM's IP address
Configure your mining author address
Start the node and miner:
3. Dev Mode (Local)
Use dev mode for local testing (fast blocks, local RPC, shielded testing).
(Optional) Re-genesis with shielded keys (wipes dev chain data):
Build the dev node binary:
Start the dev node:
If blocks are not advancing, build and start the miner:
Open the CLI:
Logs:
Dev node:
run/logs/mazze-node-dev.logMiner:
run/logs/mazze-miner.log
Stop everything:
Dev data directory:
run/blockchain_data_dev
Important Notes
Changing log level / config:
Edit
run/hydra.toml(log_level = "info" | "debug" | "warn" | "error") or adjustrun/log.yaml.Then recreate containers:
Container logging options are handled by Docker; compose already mounts run/log.yaml as /app/config/log.yaml with a refresh rate, so updates apply without rebuilding images.
Additional Notes
Ensure Docker is installed and running on your system
The automated setup creates a
node_id.txtfile containing your node's identifierMonitor the logs directory for debugging information
For security reasons, consider configuring additional firewall rules
Backup your mining author address securely
Soak Testing
For high-BPS soak runs and metrics-based GC/DB tuning, use the dedicated internal soak-testing runbook for your environment.
Last updated
Was this helpful?