> For the complete documentation index, see [llms.txt](https://battlezips.gitbook.io/battlezips/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://battlezips.gitbook.io/battlezips/development.md).

# Development

- [Circom Language](https://battlezips.gitbook.io/battlezips/development/circom-language.md)
- [Installation](https://battlezips.gitbook.io/battlezips/development/circom-language/installation.md): How do I put Circom on my computer?
- [IDE](https://battlezips.gitbook.io/battlezips/development/circom-language/ide.md): How do I augment my development experience?
- [Signals and Variables](https://battlezips.gitbook.io/battlezips/development/circom-language/signals-and-variables.md): Data vessels in Circom
- [Signal Assignment and Constraint Generation](https://battlezips.gitbook.io/battlezips/development/circom-language/signal-assignment-and-constraint-generation.md): Restricting circuits to achieve verifiable private computation
- [Conditional Statements](https://battlezips.gitbook.io/battlezips/development/circom-language/conditional-statements.md): The misleading inclusion of the "if" statement in Circom, and the use of multiplexers to actually compute branching logi
- [Components and Templates](https://battlezips.gitbook.io/battlezips/development/circom-language/components-and-templates.md): C++ has Classes. Solidity has Contracts. Circom has Components.
- [Circuit Compilation](https://battlezips.gitbook.io/battlezips/development/circom-language/circuit-compilation.md)
- [Syntax](https://battlezips.gitbook.io/battlezips/development/circom-language/syntax.md): Relevant syntactical rules and conventions
- [SnarkJS](https://battlezips.gitbook.io/battlezips/development/snarkjs.md): Library that drives all things Circom
- [Proving Schemes](https://battlezips.gitbook.io/battlezips/development/snarkjs/proving-schemes.md): That's a lovely choice of car. Would you like to drive it "manual", or "automatic"?
- [Powers of Tau](https://battlezips.gitbook.io/battlezips/development/snarkjs/powers-of-tau.md): How do I perform the Powers of Tau ceremony?
- [ZK Keys](https://battlezips.gitbook.io/battlezips/development/snarkjs/zk-keys.md): ZK Keys - shorthand for the Proving and Verifying keys - found in xxx.zkey files
- [Zero Knowledge Proofs](https://battlezips.gitbook.io/battlezips/development/snarkjs/zero-knowledge-proofs.md)
- [On-Chain ZKP](https://battlezips.gitbook.io/battlezips/development/snarkjs/on-chain-zkp.md)
- [Page 2](https://battlezips.gitbook.io/battlezips/development/snarkjs/page-2.md)
- [circomlib](https://battlezips.gitbook.io/battlezips/development/circomlib.md): Prefab library of commonly needed circuits - circomlib is for Circom what @openzeppelin/contracts is for solidity
- [Basic Math Constraints](https://battlezips.gitbook.io/battlezips/development/circomlib/basic-math-constraints.md): Constraining validity of basic logical and arithmetic computations made in zero knowledge
- [Multiplexing](https://battlezips.gitbook.io/battlezips/development/circomlib/multiplexing.md): MANDATORY use of the first party conditional signal selector. Do not skip!
- [Hashing](https://battlezips.gitbook.io/battlezips/development/circomlib/hashing.md): Using 1st party implementations of circuit friendly (and unfriendly) hash functions in Circom circuits
- [EdDSA](https://battlezips.gitbook.io/battlezips/development/circomlib/eddsa.md)
- [circomlibjs](https://battlezips.gitbook.io/battlezips/development/circomlib/circomlibjs.md)
- [circom-tester](https://battlezips.gitbook.io/battlezips/development/circom-tester.md): Unit test the execution of circuit logic without running the overhead of a zkSNARK
- [hardhat-circom](https://battlezips.gitbook.io/battlezips/development/hardhat-circom.md): Overview of the hardhat-circom npm package
- [SHIELD](https://battlezips.gitbook.io/battlezips/development/shield.md): SHIELD; A Swiss Army Knife for ZKPs Development
- [Circomspect](https://battlezips.gitbook.io/battlezips/development/circomspect.md): Static analyzer for Circom syntax and safety
