Setup Environment

The SDK is written in TypeScript and is available in the form of a set of npm packages. It is available to use within both Node and browser environments.

Installation

Make sure you have Node (>v18) and npm installed on your machine. Then install the SDK packages by adding the following node modules to your package.json file:

dependencies": {
    "@zkfi-tech/account": "^1.0.3",
    "@zkfi-tech/babyjubjub": "^1.0.2",
    "@zkfi-tech/core": "^1.3.5",
    "@zkfi-tech/shared-types": "^1.0.0",
    "@zkfi-tech/transaction": "^1.3.5",
    "@zkfi-tech/utils": "^1.0.2",
    "@zkfi-tech/zk-prover": "^1.1.3",
    "fixed-merkle-tree": "^0.7.3"
}
# pnpm
pnpm install

# yarn
yarn install

# npm
npm install

Installing SnarkJs

The SDK depends on the snarkjs package for ZK proof generation. You need to install it separately from the SDK, depending on the environment you are working in:

Node

For node, you can install snarkjs simply as an npm package and make it a globally available variable:

# pnpm
pnpm add snarkjs

# yarn
yarn add snarkjs

# npm 
npm i snarkjs

Set as global variable:

import * as snarkjs from 'snarkjs';

globalThis.snarkjs = snarkjs;

Browser

For the browser, you need to include it as a JS script. You can get the minified script from the official snarkjs repo here. After downloading and including the script in your project, put a script tag in your HTML:

<script src="/<path-to-snarkjs>/snarkjs.min.js"></script>

Including this script automatically makes snarkjs a globally available variable. Make sure this variable is available before you invoke transaction proof generation.

Alright, setup done!

Last updated