The technical content top engineers rely on to level up.

Understanding the Spec File in Certora CVL In the last chapter, we saw that to perform formal verification using Certora Prover, we need to provide the Prover with the following key items: Smart...
Last updated on Feb 13, 2026
Formally Verifying Nonces.Sol in OpenZeppelin Nonces, which stands for "number used once" are used in digital signature schemes to prevent replay attacks. For the purposes of this article, we assume...
Last updated on Feb 17, 2026
5 min read
Testing msg.sender and msg.value in CVL Introduction In this chapter, we introduce the variable in CVL, which enables us to make rules for functions that depend on , , and other global variables in...
Last updated on Feb 13, 2026
10 min read
Implication Operator Introduction The implication operator is frequently used as a substitute for the statement since it is cleaner. Consider the following example: a function that takes two unsigned...
Last updated on Feb 13, 2026
3 min read
FFT Friendly Finite Fields In order to carry out the FFT algorithm in a finite field (the Number Theoretic Transform), there needs to be $k$-th roots of unity such that $k$ is a power of 2. Ideally,...
Last updated on Nov 21, 2025
15 min read
ERC-20 Token on Starknet ERC-20 tokens on Starknet work the same way as on Ethereum. In fact, STRK (Starknet's fee token) is itself an ERC-20 token; there's no special "native" token at the protocol...
Last updated on Dec 10, 2025
9 min read
Constructors in Cairo A constructor is a one-time-call function executed during contract deployment to initialize state variables, perform contract setup tasks, make cross-contract interactions and...
Last updated on Dec 11, 2025
Components Part 2: OpenZeppelin ERC-20 Tutorial In Component Part 1, we learned how to create and use a component within a single file. We built a from scratch and integrated its storage, events, and...
Last updated on Dec 11, 2025
8 min read
Cairo Components Part 1 Components in Cairo behave like abstract contracts in Solidity. They can define and work with storage, events, and functions, but they can’t be deployed on their own. The...
Last updated on Dec 11, 2025
20 min read
Events in Starknet Events emit data from contract execution into the transaction receipt. The receipt holds metadata about what happened during the execution, which can be queried or indexed by...
Last updated on Dec 11, 2025
17 min read
Introduction to the Cairo Language Cairo is a programming language designed for provable, verifiable computation, particularly within the context of zero-knowledge systems like Starknet, a Layer 2...
Last updated on Dec 11, 2025
10 min read
Type Casting Type casting in Cairo is the process of converting values from one data type to another. This becomes necessary when working with Cairo's strict type system, where explicit type matching...
Last updated on Dec 10, 2025