Day 8 : Reading On-Chain Data with RPC Calls
This is where things got real. Instead of just generating wallets and checking balances manually, I started making actual RPC calls to read data from the Solana network programmatically.
The one that clicked immediately was getBalance, you pass in a public key, and the network hands you back the wallet's balance in Lamports. Simple, but it made the connection between "wallet" and "on-chain account" feel concrete for the first time.
const rpc = createSolanaRpc(devnet("https://api.devnet.solana.com"));
const { value: balanceInLamports } = await rpc
.getBalance(targetAddress)
.send();
RPC calls are basically how you talk to the Solana network. No SQL, no REST endpoints you design yourself just a set of predefined functions the network exposes.
Day 9: Querying Recent Transactions
Next I queried transaction history using getSignaturesForAddress. The interesting part was adding a limit, without it, you'd potentially pull back thousands of transactions for an active wallet.
const signatures = await rpc
.getSignaturesForAddress(targetAddress, { limit: 5 })
.send();
What impressed me: transactions on Solana are identified by signatures, not IDs like in a traditional database. Every signed transaction leaves a permanent, public record on-chain. You can't hide it, you can't delete it.
Day 10: Building a Dashboard to Visualize It All
After two days of reading raw data from the terminal, I built a simple browser dashboard to visualize everything, wallet balance, recent transactions, the works.

This was the most satisfying day so far. Taking raw RPC responses and turning them into something a non-developer could actually read, that's the frontend instinct kicking in.
Day 11: Solana Accounts vs Traditional Databases
This one reshaped how I think about on-chain storage. Coming from Web2, I instinctively think of data as rows in a table, managed by a database I control. Solana flips that entirely.
Here's the comparison that made it click:

Two things that stood out most: storage costs a refundable deposit on Solana, you get it back when you close an account. And everything is public by default. In Web2 you design for privacy. In Web3 you design assuming everyone can see everything.
Day 12: Devnet vs Mainnet
Short but important. I'd been using devnet the whole time without fully understanding what I was opting into.
Devnet is your staging environment. Free SOL via airdrop, transactions that don't cost real money, a sandbox to break things without consequences.
Mainnet is production. Real tokens, real money, real consequences. What you deploy here lives on the blockchain permanently.
The mental model that helped: devnet is like localhost. You'd never ship straight to mainnet without testing on devnet first, just like you wouldn't push untested code straight to production.
Five days of going deeper into how Solana actually stores and exposes data. The dashboard on day 10 brought it all together visually, but day 11 was the one that genuinely changed how I think about data storage.
Next up: on-chain programs.
Top comments (0)