Browse all Smart Contract Security articles.

9 min read
Uniswap v2 router code walkthrough The Router contracts provide a user-facing smart contract for safely minting and burning LP tokens (adding and removing liquidity) safely swapping pair tokens They...
Last updated on Jul 19, 2025
13 min read
ERC-6909 Minimal Multi-Token Standard The ERC-6909 token standard is a streamlined alternative to the ERC-1155 token standard. The ERC-1155 standard introduced a multiple-token interface that allows...
Last updated on Mar 14, 2025
25 min read
The Diamond Proxy Pattern Explained The Diamond Pattern (ERC-2535) is a proxy pattern where the proxy contract uses multiple implementation contracts simultaneously, unlike the Transparent...
Last updated on Feb 25, 2025
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
What are Pedersen Commitments and How They Work Pedersen commitments allow us to encode arbitrarily large vectors with a single elliptic curve point, while optionally hiding any information about the...
Last updated on Oct 29, 2024
Wagmi + ReactJS Example: Transfer Crypto and Mint an NFT In this tutorial, we'll learn how to build a Web3 Dapp (Decentralized Application) that connects to your crypto wallet, allowing you to...
Last updated on Oct 1, 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
Where to find solidity reentrancy attacks Reentrancy can only happen when your smart contract calls another smart contract via function call or sending ether. If you do not call another contract or...
Last updated on Sep 28, 2024
Breaking Down the Uniswap V2 Swap Function Uniswap V2’s swap function is cleverly designed, but many devs find its logic counterintuitive the first time they encounter it. This article explains how...
Last updated on Sep 26, 2024
Viem React Js Example: Transfer, Mint, and View Blockchain State In this tutorial, we’ll build a fully functional Dapp with the Viem typescript library + React (Next.js). We’ll cover the necessary...
Last updated on Sep 26, 2024
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