From e6530c18ca75a8741387f7c1b1f6b5b099f48f8a Mon Sep 17 00:00:00 2001
From: erhant
Date: Tue, 6 Jun 2023 23:29:33 +0300
Subject: [PATCH 1/4] readme edits
---
README.md | 297 ++++++++++++--------------------------
src/bin/index.ts | 2 +-
src/circomkit.ts | 15 +-
src/testers/wasmTester.ts | 5 +-
4 files changed, 105 insertions(+), 214 deletions(-)
diff --git a/README.md b/README.md
index 2092f32..56a7eff 100644
--- a/README.md
+++ b/README.md
@@ -26,246 +26,129 @@
-- [x] **Programmable Circuits**: The `main` component is created & compiled programmatically.
-- [x] **Simple CLI**: A straightforward CLI is provided as a wrapper around SnarkJS commands, exposed via NPM scripts!
-- [x] **Easily Configurable**: A single `circomkit.env` file stores the general configuration settings.
-- [x] **Constraint Testing**: You can test computations & assertions for every template in a circuit, with minimal code-repetition.
-- [x] **Proof Testing**: With prover & verification keys and the WASM circuit, you can test proof generation & verification.
-- [x] **Witness Manipulation**: You can parse the output from a witness, and furthermore create fake witnesses to try and fool the verifier.
-- [x] **Type-safe**: Witness & proof testers, as well as circuit signal inputs & outputs are all type-safe via generics.
-- [x] **Solidity Exports**: Export a verifier contract in Solidity, or export a calldata for your proofs & public signals.
+## Installation
+
+Circomkit is an NPM package, which you can install via:
+
+```sh
+yarn add circomkit # yarn
+npm install circomkit # NPM
+```
+
+You will also need Circom, which can be installed following the instructions [here](https://docs.circom.io/getting-started/installation/).
## Usage
-Using Circomkit is easy:
+Create an empty project, and install Circomkit. Then, you can setup the environment by simply executing:
-1. Install [Circom](https://docs.circom.io/getting-started/installation/).
-2. Clone this repo (or use it as a template) and install packages (`yarn` or `npm install`).
-3. Write your circuit templates under the [circuits](./circuits/) folder. Your circuit code itself should be templates only; Circomkit programmatically generates the `main` component
-4. Write your tests under the [tests](./tests/) folder.
-5. Once you are ready, write the circuit configurations at [circuits.json](./circuits.json).
-6. Use NPM scripts (`yarn