npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

create-zkarb-app

v0.1.1

Published

Scaffold a zkArb starter project

Downloads

217

Readme

zkArb – Getting Started

This guide walks you through creating, compiling, testing, and deploying a zk circuit using zkArb.

zkArb provides:

  • A project scaffold for rapid setup
  • A CLI-first SDK for compiling, testing, and deploying zkSNARK verifiers on Arbitrum and Orbit chains

1. Create a New zkArb Project

Generate a new zkArb project using the official scaffold tool:

npx create-zkarb-app my-zk-app  
cd my-zk-app

This command:

  • Creates a ready-to-use project folder
  • Installs zkarb-sdk automatically
  • Includes a sample Circom circuit and test input

2. Project Structure

After scaffolding, your project will look like this:

my-zk-app/
├── circuits/
│ └── simple.circom
├── inputs/
│ └── input.json
├── package.json
├── README.md
└── .gitignore

What each folder does

circuits/
Contains your Circom circuits

inputs/
JSON inputs used for generating and verifying proofs

package.json
Preconfigured scripts for local development


3. Compile the Circuit (Offline)

Compile the Circom circuit and generate all zk artifacts locally:

npm run compile

This command:

  • Compiles the Circom circuit
  • Generates .r1cs, .wasm, and verifier artifacts
  • Runs fully offline

4. Test the Circuit (Offline Verification)

Run proof generation and verification locally:

npm run test

This command:

  • Generates a zk proof using the provided input
  • Verifies the proof locally
  • Confirms circuit correctness before deployment

Note: No network connection or blockchain interaction is required for compile or test.


5. Deploy the Verifier On-Chain

Deployment is performed using the official zkarb-sdk CLI.

This design is intentional:

  • Deployment parameters vary by network
  • Advanced options (optimization, bridging) are explicit
  • Developers retain full control

Basic Deployment

Command format:

npx zkarb-sdk deploy <compiled-folder> <privateKey>

Example:

npx zkarb-sdk deploy ./simple 0xYOUR_PRIVATE_KEY

Deployment Options

  • --network
    Target network: one, nova, sepolia, orbit (default: one)

  • --rpc
    Custom RPC endpoint (Orbit or local chains)

  • --optimized
    Enable verifier optimization and deploy wrapper contract

  • --bridge-l1
    Enable cross-chain deployment (deploy verifier on L2 + receiver on L1 and configure relayer)


Deployment Examples

Deploy to Arbitrum Sepolia:
npx zkarb-sdk deploy ./circuits/simple --network sepolia

Deploy to a custom Orbit chain:
npx zkarb-sdk deploy ./circuits/simple --network orbit --rpc https://your-orbit-rpc

Deploy with optimization enabled:
npx zkarb-sdk deploy ./circuits/simple --optimized

Cross-chain (L2 → L1) deployment:
npx zkarb-sdk deploy ./circuits/simple --bridge-l1


6. Recommended Workflow

  1. Write circuit in circuits/
  2. Add input in inputs/
  3. Run npm run compile
  4. Run npm run test
  5. Deploy using npx zkarb-sdk deploy

This separation ensures:

  • Deterministic local testing
  • Safe on-chain deployment
  • Clear mental model for developers

7. Why zkArb Is CLI-First

zkArb intentionally avoids hidden configuration files or implicit behavior.

  • All network choices are explicit
  • All deployment logic is transparent
  • Works equally well in CI, scripts, and browsers

This makes zkArb suitable for:

  • Production dApps
  • Hackathons
  • Infrastructure tooling
  • zkPlayground-style environments

8. Next Steps

  • Replace simple.circom with your own circuit
  • Add new inputs under inputs/
  • Deploy to Arbitrum or Orbit networks
  • Explore advanced features like optimized verifiers and cross-chain bridging

Support & Resources

  • GitHub: add your repository link
  • zkArb SDK (npm): add npm link
  • zkPlayground: https://zkArb.dev (coming soon)

Note: Compile and test are local operations. Deployment is always explicit and network-aware.