BattleZips
  • Awesome Circom
  • 🔬Theory
    • Prerequisite Knowledge
    • Resources
      • White Papers & PDF's
      • Blogs and Writeups
      • Videos
      • Important Entities
      • Communities
    • Proving Schemes
    • Primitives
      • Hash Functions
      • Public Key Cryptosystems
        • Note on L1 key registry → L2 hot key + callback to circuit-optimized hash functions
        • ECDSA & secp256k1
        • EdDSA
      • Merkle Trees
        • What is a Merkle Tree?
        • What is a merkle proof of inclusion?
        • zk-kit
        • Incremental Merkle Trees
        • Sparse Merkle Trees
        • Tree Arity (Binary, Quinary)
      • Semaphore
      • Arithmetic Circuits
  • 🏗️Development
    • Circom Language
      • Installation
      • IDE
      • Signals and Variables
      • Signal Assignment and Constraint Generation
      • Conditional Statements
      • Components and Templates
      • Circuit Compilation
      • Syntax
    • SnarkJS
      • Proving Schemes
      • Powers of Tau
      • ZK Keys
      • Zero Knowledge Proofs
      • On-Chain ZKP
      • Page 2
    • circomlib
      • Basic Math Constraints
      • Multiplexing
      • Hashing
      • EdDSA
      • circomlibjs
    • circom-tester
    • hardhat-circom
    • SHIELD
    • Circomspect
  • 🌆Ecosystem
    • Circom vs Other Solutions
      • Domain-Specific Languages
      • ZK Virtual Machines
      • ZK Ethereum Virtual Machines
    • Communities to Join
    • Recorded Content
    • Projects
  • 🛳️Examples
    • BattleZips V1
      • On the BattleZips Project
      • Docs holder
        • Join Game UML Sequence Diagram
        • Play Game UML Sequence Diagram
        • End Game UML Sequence Diagram
      • ZK Privacy Stack
      • Deploying Artifacts to Prod
      • Browser Client
    • RollupNC
      • Smart Contracts
      • Account/ State Tree
      • Transaction Tree
      • Layer 1 Deposits to Layer 2
      • Layer 2 Transacting
      • Layer 2 Withdrawals to Layer 1
Powered by GitBook
On this page
  1. Development

circomlib

Prefab library of commonly needed circuits - circomlib is for Circom what @openzeppelin/contracts is for solidity

PreviousPage 2NextBasic Math Constraints

Last updated 2 years ago

to the Circom language officially released and maintained by Iden3. It contains all of the necessary primitives you need for basic operations within your circuits. The circomlib library is similar to for Solidity in premise. Accompanying the main circomlib library is the JavaScript-based library. All components can be driven using circomlibjs. As you begin to extend these templates into your own circuits, make sure to keep in mind. Check out Circom Language > Components and Templates > Anonymous Templates for an exploration of the shortcut on one-time use of components.

This section only contains the essential, easy-to-use components provided by circomlib. The components not included are for those who do not need BattleZips!

The . Use them for additional insight into their integration with your circuits.

🏗️
circomlib is a companion repository
@openzeppelin/contracts
circomlibjs
contained in the circomlib library
Anonymous Templates
circomlib repository contains unit testing for all of its templates