Introduction
1.
Design background
2.
Getting started
2.1.
Require
2.2.
Standard library
2.3.
Debugging
2.4.
Testing
3.
Variables and types
3.1.
Variables
3.2.
Types
3.2.1.
Scalar
3.2.2.
Arrays
3.2.3.
Tuples
3.2.4.
Structures
3.2.5.
Enumerations
3.2.6.
Strings
3.2.7.
Casting and conversions
3.2.8.
Maps
3.3.
Functions
4.
Operators
4.1.
Arithmetic
4.2.
Bitwise
4.3.
Comparison
4.4.
Logical
4.5.
Casting
4.6.
Access
4.7.
Range
4.8.
Assignment
5.
Expressions
5.1.
Literals
5.2.
Blocks
5.3.
Conditionals
5.4.
Constant
6.
Statements
6.1.
Declaration
6.2.
Expression
6.3.
Control
7.
Smart contracts
7.1.
Storage and methods
7.2.
Minimal example
7.3.
The Curve
7.4.
Troubleshooting
8.
Zero-knowledge circuits
8.1.
Input and output
8.2.
Minimal example
8.3.
The Merkle tree
9.
Virtual machine
10.
Zargo
10.1.
Contract workflow
10.2.
Circuit workflow
10.3.
Dependency system
11.
Appendix
11.1.
A - Lexical grammar
11.2.
B - Syntax grammar
11.3.
C - Keywords
11.4.
D - Intrinsic functions
11.5.
E - The standard library
11.6.
F - The zkSync library
Light (default)
Rust
Coal
Navy
Ayu
Zinc v0.2.2
Appendix
The following sections contain reference material you may find useful in your Zinc journey.