Skip to content

ADGLx/split-prove

Repository files navigation

Split-Prove

Proof-of-concept for Midnight zswap delegated proving: a wallet outsources the expensive spend proof to a proof server without sending the raw zswap secret key (sk). The patched node verifies a three-proof bundle (π_attest, π_sk, π_spend) and byte-equates the shared public inputs before admitting the spend.

Quick Start

One-time setup:

npm install
make local-install
cp .env.example .env
make rebuild-images

In another terminal, start the local stack:

make local-nodes

Fund the split-prove wallet via local-dev option 6, then run the demo:

make e2e

The demo scans for the funded shielded output, creates the wallet attestation and per-spend client proof, calls /v2/prove-split-spend, assembles the split transaction, Dust-balances it, submits to the rebuilt node, and waits for inclusion.

Both node and indexer must be rebuilt against the patched ledger. The helper refuses remote node/indexer URLs unless MIDNIGHT_ALLOW_REMOTE_PATCHED_STACK=1 is set for a known patched pair.

Docs

Repo Layout

About

Temporary private fork for split-prove node image testing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors