zk-SNARKs: Understand It, Then Build It

A hands-on guide to zk-SNARKs — from equations to working code, using TypeScript and elliptic curves