Browse all Solidity articles.
5 min read
Understanding smart contract metadata When Solidity generates the bytecode for the smart contract to be deployed, it appends metadata about the compilation at the end of the bytecode. We will examine...
7 min read
Ten beginner project ideas after you learn Solidity Now that you've completed our solidity tutorial, what's next? You now have enough knowledge to build any of the following projects. Knowledge comes...
4 min read
Require, Revert, and Custom Errors in Solana !Hero Image showing Error code and Macro In Ethereum, we often see a require statement restricting the values a function argument can have. Consider the...
5 min read
Basic Rust for Solidity Developers !Hero image showing Rust : the easy parts This tutorial goes over the most commonly used syntax in Solidity and demonstrates the equivalent in Rust. If you want a...
6 min read
Arithmetic and Basic Types in Solana and Rust !Hero image showing the Solana logo and a calculator Today we will learn how to create a Solana program that accomplishes the same things as the Solidity...
15 min read
Bilinear Pairings in Python, Solidity, and the EVM Sometimes also called bilinear mappings, bilinear pairings allow us to take three numbers, $a$, $b$, and $c$, where $ab = c$, encrypt them to become...
18 min read
Groth16 Explained The Groth16 algorithm enables a quadratic arithmetic program to be computed by a prover over elliptic curve points derived in a trusted setup, and quickly checked by a verifier. It...
6 min read
Solidity Mutation Testing Mutation testing is a method to check the quality of the test suite by intentionally introducing bugs into the code and ensuring the tests catch the bug. The kind of bugs...
6 min read
Ethereum precompiled contracts Ethereum precompiles behave like smart contracts built into the Ethereum protocol. The nine precompiles live in addresses 0x01 to 0x09. The utility of precompiles falls...
5 min read
The second preimage attack for Merkle Trees in Solidity The _second preimage attack_ in Merkle trees can happen when an intermediate node in a Merkle tree is presented as a leaf. The name of this...
6 min read
ERC20 Snapshot ERC20 Snapshot solves the problem of double voting. If votes are weighed by the number of tokens someone holds, then a malicious actor can use their tokens to vote, then transfer the...
7 min read
Solidity Gasleft Introduction The purpose of this article is to describe the behavior of the Solidity function and its uses. It is a built-in function that is used to check the remaining gas during a...