muri-node is the prover and node infrastructure for MuriData storage providers.
It interfaces with MuriChain (via murichain-avalanchego) to listen for assignments, serve replicas, and generate ZK proofs for challenge rounds.
- Standard Storage & PoI: Tracks standard replica assignments and generates parallelized 8-leaf Proof of Integrity (PoI) Groth16 proofs.
- Merkle Tree Building: Builds sparse Merkle trees for the 16KB chunk file splits.
- On-chain Synchronization: Packages compressed proof responses and commits them for on-chain submission (via
FileMarketinteractions).
- Staking & Assignment: Nodes lock collateral and accept file replica spots via the order system.
- Proving:
- Downloads/builds the 16KB chunk Merkle trees.
- Computes witness assignments and outputs Groth16 proofs for the challenge verification window.
- Pushes finalized
submitProof()transactions rapidly to remain within the 50-block (~100s) challenge window.
The one-click setup script installs Docker, builds the node, generates keys, downloads prover files, and starts all services (local Avalanche L1 node + IPFS + murid):
./setup.shThe script will:
- Install Docker if missing
- Build the murid container image
- Generate an EVM wallet and ZK secret key
- Download PoI prover/verifier keys (~200 MB)
- Prompt for storage capacity (each GB requires ~26.21 MURI collateral)
- Write
murid.tomland start avago + IPFS - Wait for you to fund the wallet, then auto-stake and start the daemon
Options:
./setup.sh --force # overwrite existing setup
./setup.sh --skip-key-download # skip prover key download
./setup.sh --min-price 2000 # set min price per chunk/periodIf you prefer to set up step by step:
# Build
go build -o murid ./cmd/murid/
# Interactive setup (generates keys, writes config)
./murid init
# Download prover keys (~200 MB)
./murid download-keys -out ./keys
# Fund the node address, then stake
./murid stake -capacity-gb 10
# Start the daemon
./murid runcd docker
docker compose -f docker-compose.yml -f docker-compose.avago.yml run --rm murid init
docker compose -f docker-compose.yml -f docker-compose.avago.yml run --rm murid stake -capacity-gb 10
docker compose -f docker-compose.yml -f docker-compose.avago.yml up -d- Docker (installed automatically by
setup.sh) - MURI tokens for staking collateral (~26.21 MURI per GB)
- The
.keyproving files frommuri-artifacts(downloaded automatically)