Browse all Smart Contract Security articles.

Storage Slots of Dynamic Types (Mappings, Arrays, Strings, Bytes) Dynamic-sized types in Solidity (sometimes referred to as complex types) are data types with variable size. They include mappings,...
Last updated on Mar 22, 2026
16 min read
Assembly revert Reverting transactions using inline assembly can be more gas-efficient than using the high-level Solidity or statement. In this guide, we’ll explore how the different types of reverts...
Last updated on Aug 20, 2025
Smart Contract Foundry Upgrades with the OpenZeppelin Plugin Upgrading a smart contract is a multistep and error-prone process, so to minimize the chances of human error, it is desirable to use a...
Last updated on Sep 25, 2024
UUPS: Universal Upgradeable Proxy Standard (ERC-1822) The UUPS pattern is a proxy pattern where the upgrade function resides in the implementation contract, but changes the implementation address...
Last updated on Sep 23, 2024
16 min read
20 Common Solidity Beginner Mistakes Our intent is not to be patronizing towards developers early in their journey with this article. Having reviewed code from numerous Solidity developers, we’ve...
Last updated on Aug 20, 2025
4 min read
UniswapV2Library Code Walkthrough UniswapV2Library The Uniswap V2 Library simplifies some interactions with pair contracts and is used heavily by the Router contracts. It contains eight functions...
Last updated on Aug 22, 2024
Read account data with Solana web3 js and Anchor !Read Account Data This tutorial shows how to read account data directly from the Solana web3 Javascript client so that a web app could read it on the...
Last updated on Nov 7, 2024
10 min read
Initializing Accounts in Solana and Anchor !Storage in Solana Up until this point, none of our tutorials have used "storage variables" or stored anything permanent. In Solidity and Ethereum, a more...
Last updated on Sep 28, 2024
PDA (Program Derived Address) vs Keypair Account in Solana !Hero image showing PDA (Program Derived Address v.s. Keypair accounts) A program derived address (PDA) is an account whose address is...
Last updated on Sep 5, 2024
Solana logs, "events," and transaction history !Solana logs, "events," and transaction history Solana programs can emit events similar to how Ethereum emits events, though there are some differences...
Last updated on Aug 30, 2024
8 min read
Owner vs Authority in Solana !Hero image showing Owner vs Authority Newcomers to Solana are frequently confused by the distinction between an "owner" and an "authority." This article attempts to...
Last updated on Aug 15, 2024
Tx.origin, msg.sender, and onlyOwner in Solana: identifying the caller !tx.origin msg.sender onlyOwner in Solana In Solidity, the is a global variable that represents the address that called or...
Last updated on Aug 15, 2024