Coming from Web2, I initially pictured a blockchain as something closer to a database with tables, rows, and a backend controlling everything.
Solana made my simple one thought perspective to somehing totally different a new feild, upcoming future, igniting new ideas.
On Solana, everything is an account. Wallets, programs, and data storage all use the same account model. Every account has five fields:
lamports - its SOL balance mainly used in backend by the computer, where 1 SOL = 1 billion lamports
data - a byte array containing its state
owner - the program that controls the account
executable - whether the account contains a program
rent_epoch - a deprecated field
The owner field is especially important for security. Only the owning program can modify an account's data or debit its lamports. Other users can still credit lamports to a writable account.
The concept that surprised me most was that programs don't store their own state.
Coming from Web2, I tend to think of application code and its database as one connected system. On Solana, programs are stateless code accounts, while their state lives in separate data accounts.
A useful analogy for me is:
Program = web server and Data accounts = database
Another concept I learned is rent exemption: accounts need a minimum lamport balance based on their data size to remain on-chain.
The more I learn, the more Solana's account model starts to feel less mysterious and more like a completely different way of designing applications.
Top comments (0)