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

@0gzk/cli

v0.3.3

Published

0gzk CLI: publish circuit bundles to 0G Storage, fetch them back, and prove locally

Readme

@0gzk/cli

Command-line tool for the 0gzk ZK Proof-as-a-Service platform on 0G Storage. Publish a circuit bundle to 0G, fetch it back by root hash, and generate Groth16 proofs locally — witness data never leaves your machine.

Install

npm install -g @0gzk/cli

Provides the 0gzk binary.

Configuration

Uploads need a funded wallet on the chosen 0G network. Defaults target 0G mainnet (chain ID 16661). The CLI does not read .env files — set values once with 0gzk config set and they're persisted to ~/.0gzk/config.json:

0gzk key 0x...                             # shortcut for `config set privateKey 0x...`
0gzk config set network mainnet            # default; set to "testnet" for Galileo
0gzk config set rpcUrl https://evmrpc.0g.ai
0gzk config set indexerUrl https://indexer-storage-turbo.0g.ai
0gzk config set registry 0xCe9f0DF51abeC7B8cD751067c6D8d3db5E2bE64d

0gzk config get                            # show current values + their source
0gzk config get privateKey --show          # reveal the private key
0gzk config unset registry                 # back to baked-in default
0gzk config path                           # print path to config.json

The file is written with mode 0600 (owner-only). Downloads do not require a key.

Resolution priority

Highest wins:

  1. CLI flag (--key, --network, --rpc-url, --indexer-url, --registry)
  2. Shell environment variable (OG_PRIVATE_KEY, OG_NETWORK, OG_RPC_URL, OG_INDEXER_URL, OGZK_REGISTRY_ADDRESS) — useful in CI
  3. ~/.0gzk/config.json (managed by 0gzk config)
  4. Built-in network preset

Override the config directory for tests with OGZK_CONFIG_DIR=/some/path.

Galileo testnet

0gzk config set network testnet
# Defaults flip to:
#   rpcUrl     https://evmrpc-testnet.0g.ai
#   indexerUrl https://indexer-storage-testnet-turbo.0g.ai
#   registry   0x5b2c3e86c9255a4459199a6d9cb7b63e2a660ce6

Get testnet 0G from the official faucet.

Commands

0gzk key <hex>

Shortcut for 0gzk config set privateKey <hex>. Stores the signing key in ~/.0gzk/config.json (mode 0600).

0gzk config <set|get|list|unset|path>

Read and write persistent CLI settings stored in ~/.0gzk/config.json. Allowed keys: privateKey, network, rpcUrl, indexerUrl, registry. Values are validated before being written. See Configuration above for examples.

0gzk publish <bundleDir>

Pack a circuit_bundle/ directory and upload it to 0G Storage.

0gzk publish ./circuit_bundle
# -> rootHash, txHash, txSeq, explorer link
# -> writes .published.json receipt into the bundle dir (suppress with --no-receipt)

0gzk fetch <rootHash> [outputDir]

Download a bundle by root hash and untar it.

0gzk fetch 0x5aa4e2... /tmp/0gzk-fetched

0gzk prove <inputFile>

Validate inputs against the circuit's metadata.inputs, run snarkjs.groth16.fullProve in-process, then verify locally. Writes proof.json, public.json, and a result.json summary.

# Local bundle
0gzk prove --bundle ./circuit_bundle ./example_input.json

# Remote bundle (cached on first run, reused after)
0gzk prove --root-hash 0x5aa4e2... ./example_input.json

Useful flags:

  • --out <dir> — output dir (default ./proof-<timestamp>/).
  • --no-verify — skip local verification.
  • --network <mainnet|testnet> — override the 0G network for --root-hash.
  • --indexer-url <url> — override the indexer endpoint.

The emitted proof.json and public.json are byte-compatible with the standalone snarkjs CLI, so any third party can verify them with snarkjs groth16 verify.

License

MIT