Skip to content

Instantly share code, notes, and snippets.

View MdSadiqMd's full-sized avatar

Md.Sadiq MdSadiqMd

View GitHub Profile

Folder Structure

src/
├── types/
│   └── user.ts
├── hooks/
│   └── useCreateUser.ts
├── components/
│   └── CreateUserForm.tsx

ProveKit WASM Demo - Complete Architecture Documentation

System Overview

The ProveKit WASM Demo is a browser-based zero-knowledge proof system with GPU acceleration. It consists of three main applications and a comprehensive build/verification pipeline.


1. User Flow Diagram

ProveKit Documentation

What does this project do?

ProveKit is a zero-knowledge proof toolkit optimized for mobile devices by the World Foundation.

ProveKit compiles Noir circuits (a domain-specific language for zero-knowledge proofs) into R1CS (Rank-1 Constraint System) constraints and generates/verifies WHIR proofs. The workflow is:

  1. Takes Noir circuits (written in the Noir language) as input
  2. Compiles them to R1CS constraint matrices using an optimized compiler
@halfelf
halfelf / how_to_build_a_fast_limit_order_book.md
Created February 11, 2019 02:18
How to Build a Fast Limit Order Book

https://web.archive.org/web/20110219163448/http://howtohft.wordpress.com/2011/02/15/how-to-build-a-fast-limit-order-book/

The response to my first few posts has been much larger than I’d imagined and I’d like to thank everyone for the encouragement.

If you’re interested in building a trading system I recommend first reading my previous post on general ideas to keep in mind.

My first really technical post will be on how to build a limit order book, probably the single most important component of a trading system. Because the data structure chosen to represent the limit order book will be the primary source of market information for trading models, it is important to make it both absolutely correct and extremely fast.

To give some idea of the data volumes, the Nasdaq TotalView ITCH feed, which is every event in every instrument traded on the Nasdaq, can have data rates of 20+ gigabytes/day with spikes of 3 megabytes/second or more. The individual messages average about 20 bytes each so this means handling