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
  • Overview
  • Installation
  • Quick Links
  1. Development

SHIELD

SHIELD; A Swiss Army Knife for ZKPs Development

Previoushardhat-circomNextCircomspect

Last updated 2 years ago

Overview

The SHIELD is a development framework for circom developers; Circom development requires a set of pre-requisite skills. From both technical and mathematical perspectives. SHIELD makes these pre-requisite skills acquisition easy and makes the circom circuits development as hardhat/truffle does for the smart solidity contracts; it also improves the developer experience and makes it attractive to increase the mass adoption of zkps.

SHIELD CLI is the main component you interact with when using SHIELD. It's a flexible and extensible CLI tool that helps you to generate optimized boilerplates and circuits compilation without writing .sh compilation script files. And develop interfaces to interact with smart contracts and dApps.

SHIELD also makes the circom debugging easy. You get circom stack traces, input/output signal values, circom circuit logs, and detailed calculation/ mathematical equations of every constraint getting passed or failed in the circuit.

Installation

SHIELD is used through global installation in your system. This way, you can use the SHIELD cli anywhere and compile circuits without needing any external dependency or npm project setup.

To install it, you need to have the npm, or you can use another package manager. For example, to install SHIELD globally, run the following:


$ npm i -g @xorddotcom/shield

or with yarn


$ yarn add -g @xorddotcom/shield

Quick Links

🏗️
Notion
Twitter
Github
Medium