> For the complete documentation index, see [llms.txt](https://battlezips.gitbook.io/battlezips/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://battlezips.gitbook.io/battlezips/development/snarkjs.md).

# SnarkJS

SnarkJS is a first-party JavaScript library used to make use of Circom files at all levels of the stack. While circuits themselves are written as `.circom` files, just about all functionality derived from these files comes from their integration with SnarkJS.&#x20;

<figure><img src="/files/I4KCWLEAYjzympZqoIzw" alt=""><figcaption><p><a href="https://docs.circom.io/#snarkjs">graphic found at https://docs.circom.io/#snarkjs</a></p></figcaption></figure>

### Installation

[View the IDE installation instructions here.](https://battlezips.gitbook.io/battlezips/development/circom-language/installation#using-snarkjs)

In order to generate Zero Knowledge Proofs in a browser client (production)

### Functionality

<details>

<summary>Groth16 ZK Proving Scheme</summary>

</details>

<details>

<summary>PLONK ZK Proving Scheme</summary>

</details>

<details>

<summary></summary>

</details>

### Links

* [Github Source](https://github.com/iden3/snarkjs)
* Docs
  * README.md in Github (Superior documentation)
  * Iden3 site
* [NPM Package](https://www.google.com/search?channel=fs\&client=ubuntu\&q=snarkjs)
