Skip to content

prova-network/prover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prova

provad

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.

site docs license


Run a prover

curl -fsSL https://get.prova.network/prover | sh

Drops 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.


What it does

  1. Watches Base for DealProposed events targeting your address
  2. Fetches the client bytes from the deal's sourceURL
  3. Recomputes piece-cid, refuses on mismatch (so the client can't poison you)
  4. Stores the bytes in your local piece store
  5. Calls ProofVerifier.createDataSet to accept the deal
  6. Every 30 seconds, posts a Merkle inclusion proof for an on-chain challenge
  7. Serves retrievals over HTTPS at /piece/{cid}

Hardware

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.


Build

cd cmd/provad
go build -ldflags "-X main.version=$(git describe --tags --always)"

Go ≥ 1.21. No CGO required.


Architecture

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.


Attribution

Forked from filecoin-project/curio under the Permissive License Stack. Filecoin/FVM-specific paths swapped for Base/Ethereum equivalents. See ATTRIBUTION.md.


License

Apache-2.0 OR MIT. See LICENSE.

About

Prova prover.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors