The Prova prover daemon. A single Go binary that watches Base for new deals, fetches client bytes, computes the piece-cid, stores the piece, and posts a fresh cryptographic proof every 30 seconds.
curl -fsSL https://get.prova.network/prover | shDrops the provad binary in /usr/local/bin/, writes a starter config
to /etc/prova/prover.toml, and on Linux offers to install a hardened
systemd unit.
Full setup: docs.prova.network/provers/become-a-prover.
- Watches Base for
DealProposedevents targeting your address - Fetches the client bytes from the deal's
sourceURL - Recomputes piece-cid, refuses on mismatch (so the client can't poison you)
- Stores the bytes in your local piece store
- Calls
ProofVerifier.createDataSetto accept the deal - Every 30 seconds, posts a Merkle inclusion proof for an on-chain challenge
- Serves retrievals over HTTPS at
/piece/{cid}
Disk-bound, not CPU-bound. No GPU, no PoRep, no SNARKs.
| Tier | Specs |
|---|---|
| Minimum | 4 cores, 8 GB RAM, 1 TB SSD, 100 Mbps symmetric |
| Recommended (10 TB) | 8 cores, 32 GB RAM, 10 TB NVMe, 1 Gbps |
| At scale | Server bare-metal, ZFS, multi-homed network |
Earnings calculator: docs.prova.network/provers/earnings.
cd cmd/provad
go build -ldflags "-X main.version=$(git describe --tags --always)"Go ≥ 1.21. No CGO required.
cmd/provad/main.go entry point + flag parsing
pkg/config/ TOML config loader, validation
pkg/wallet/ ECDSA keystore management
pkg/ethclient/ Base RPC client
pkg/contracts/ ABI-generated bindings (abigen)
pkg/deal/ deal state machine: download → verify → accept → prove
pkg/store/ piece store (disk-backed, content-addressed)
pkg/challenges/ on-chain challenge response
pkg/pdptree/ PDP Merkle tree builder
pkg/piece/ CommP computation
pkg/httpserver/ retrieval endpoint (HTTPS)
pkg/dashboard/ local operator dashboard
pkg/metrics/ Prometheus exporter
pkg/daemon/ lifecycle, signals, graceful shutdown
Full per-package roadmap in ROADMAP.md.
Forked from filecoin-project/curio
under the Permissive License Stack. Filecoin/FVM-specific paths swapped for
Base/Ethereum equivalents. See ATTRIBUTION.md.
Apache-2.0 OR MIT. See LICENSE.