DEV Community

Cover image for Private Database (Web2) vs Public Account (Web3 - Solana)
Akeem Palmer
Akeem Palmer

Posted on • Originally published at akeempalmer.com

Private Database (Web2) vs Public Account (Web3 - Solana)

I've officially wrapped up the second week of my Solana deep dive. This week was all about moving from the "private" silos of Web2 databases to the "public" transparency of Blockchain and Solana accounts.

Here are my key takeaways on how Solana handles data:

1. The Anatomy of an Account

Unlike a row in a SQL database, every Solana account contains five specific fields:

  • Lamports: The SOL balance (1 SOL = 10^9 lamports)
  • Data: The actual state stored in the account.
  • Owner: The Program ID that has the authority to modify the data.
  • Executable: A boolean flag indicating if the account is a smart program.
  • Rent Epoch: (Now deprecated) Historically used for storage management.

2. Rent: "Living" on the Blockchain

In Web3, storage isn't free. While Transaction Fees cover the cost of processing, Rent covers the cost of storage. It scales linearly with data size.

  • To be Rent Exempt, an account must maintain a balance equivalent to 2 years of rent. Most modern wallets handle this automatically!

3. Transactions: Signatures & Messages

Transparency is the superpower of the blockchain. Every transaction is public and cryptographically signed. A transaction consists of a Signature and a Message. The message itself contains:

  • The Header (metadata)
  • Account Keys (who is involved)
  • Recent Block hash (to prevent replays)
  • Instructions (the actual logic being executed)

Solana's account structure

Solana's production network vs development network

I'm excited to keep building and sharing this journey with you guys!

Top comments (0)