The technical content top engineers rely on to level up.

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
The intuition behind elliptic curve digital signatures (ECDSA) This article explains how the ECDSA (Elliptic Curve Digital Signature Algorithm) works as well as why it works. We will incrementally...
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
Deleting and Closing Accounts and Programs in Solana !Hero image showing Close accounts and programs In the Anchor framework for Solana, is the opposite of (initializing an account in Anchor) — it...
Last updated on Sep 13, 2024
12 min read
Abstract Algebra Abstract Algebra is the study of sets that have one or more operators on that set. For our purposes, we only care about sets where the operator is a binary operator. Given a set with...
Last updated on Sep 10, 2024
3 min read
Cross Program Invocation In Anchor Cross Program Invocation (CPI) is Solana's terminology for a program calling the public function of another program. We've already done CPI before when we sent a...
Last updated on Sep 9, 2024![#[derive(Accounts)] in Anchor: different kinds of accounts](https://cdn.rareskills.io/wp-content/uploads/2025/08/blog_post_image_light-1.webp)
#[derive(Accounts)] in Anchor: different kinds of accounts in Solana Anchor is an attribute-like macro for structs that holds references to all the accounts the function will access during its...
Last updated on Sep 9, 2024
Init_if_needed in Anchor and the Reinitialization Attack !Hero image showing Anchor init_if_needed In previous tutorials, we've had to initialize an account in a separate transaction before we can...
Last updated on Sep 7, 2024
Understanding Account Ownership in Solana: Transferring SOL out of a PDA !Hero image showing Solona account ownership The owner of an account in Solana is able to reduce the SOL balance, write data...
Last updated on Sep 6, 2024
The Solana clock and other "block" variables !solana clock Today we will cover the analogs of all the block variables from Solidity. Not all of them have 1-1 analogs. In Solidity, we have the...
Last updated on Sep 5, 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
Modifying accounts using different signers !Hero image showing Anchor Signer: Modifying accounts with different signers In our Solana tutorials thus far, we've only had one account initialize and...
Last updated on Sep 4, 2024