I'll be honest with you.
A week ago, I thought "blockchain" meant crypto bros on Twitter and NFTs of monkey pictures. I was a Web2 developer — comfortable with React, Next.js, PHP, databases, REST APIs. That world made sense to me. Blockchain felt like someone else's problem.
Then I joined the #100DaysOfSolana challenge. And in 7 days, my mental model of "identity," "ownership," and "trust" completely shifted.
Here's what happened — day by day.
Day 1 & 2 — "Wait, There's No Username?"
The first thing the challenge asked me to do was generate a keypair.
In Web2, when you sign up for a service, you give them your email. They store it. They create an account for you in their database. You are real because they say you are.
Solana doesn't do that.
Instead, you run a command and two things pop out:
- A public key — your address on the network (looks like:
14grJpemFaf88c8tiVb77W7TYg2W3ir6pfkKz3YjhhZ5) - A private key — a secret that proves you own that address
No server. No signup form. No "please verify your email."
My first reaction: "But... who registered me? Who confirmed this is valid?"
Nobody. That's the point.
The network itself recognizes you the moment you have a keypair. It's mathematically impossible for someone to fake ownership of your public key without your private key. No company is in the middle. No admin can delete you.
The closest thing I'd seen before? SSH keys. When you generate an SSH keypair and put your public key on a server, you don't need a password — you prove identity by holding the private key. Solana is exactly that, except instead of one server, it's the entire global network.
That was my first "oh" moment.
Day 3 & 4 — Hot Wallets, Cold Wallets, and Why It All Matters
Now I had a keypair. But how do you use it?
This is where wallets come in — and I kept getting confused because in Web2, a "wallet" stores money. In Solana, a wallet is really just a thing that holds your private key and signs transactions on your behalf.
I learned about:
Hot Wallets — Software wallets connected to the internet (like Phantom, Solflare). Convenient, but your private key lives on a device that's online.
Cold Wallets — Hardware devices (like Ledger). Your private key never touches the internet. More secure, slightly less convenient.
Custodial vs Non-Custodial — This one hit different. In Web2, every service is custodial. Gmail holds your emails. Your bank holds your money. They can freeze it, delete it, lose it. A non-custodial wallet means only you hold the key. No company can touch your assets. No "forgot password" flow. No support ticket. Just math.
The downside? If you lose your private key or seed phrase, it's gone. Forever. No recovery. No customer support. This scared me at first. Then I realized — this is what real ownership feels like.
Day 5 — Connecting a Browser Wallet
Day 5 was hands-on. I installed Phantom (a browser extension wallet) and connected it to a Solana app.
What blew my mind: the connection flow.
In Web2, "Login with Google" means Google gives the app a token after you approve. Google is the middleman. Google knows you logged in. Google can revoke access.
With a browser wallet, here's what happens:
- The app asks your wallet to connect
- Your wallet (running locally in your browser) shows a prompt
- You approve
- The app now knows your public key — nothing else
No server handshake. No OAuth. No third party. Just: "Here's my public key. That's me."
And when you do an action — like sending tokens or interacting with a program — your wallet signs the transaction with your private key locally. The private key never leaves your device. The network verifies the signature and executes.
That's when I felt the difference between Web2 and Web3 identity.
Day 6 & 7 — Writing This Post (And What It Taught Me)
The challenge for Days 6 & 7? Write about it.
I'll be honest — I thought this would be the easy part. I'd done the technical stuff. Writing is just explaining, right?
Wrong.
Writing forced me to confront every place where I'd been fuzzy. I'd used a keypair, but could I explain why Base58 encoding is used for Solana addresses? (It removes ambiguous characters like 0, O, I, l — so you don't misread an address.)
I'd connected a wallet, but could I explain what "signing a transaction" actually means cryptographically? (You use your private key to create a signature that only you could have generated, and anyone with your public key can verify it.)
Explaining things in plain words is the real test of understanding.
The Big Shift After Week 1
Before this week, identity to me meant: credentials stored in someone's database.
After this week, identity means: a cryptographic keypair that you generate and control.
The implications are wild:
- Your Solana identity works across every app on the network — no separate accounts
- No company can lock you out, ban you, or delete you
- Your ownership of tokens, NFTs, votes — all cryptographically provable
- You can verify anything signed by a keypair without trusting any central authority
Web2 identity is permission-based — someone grants you access.
Web3 identity is proof-based — you prove you are who you are, mathematically.
What's Next?
Week 2 starts now. I'm going deeper — transactions, programs (Solana's term for smart contracts), and eventually writing on-chain code.
If you're a Web2 developer on the fence about Solana, I'd say this: the first week is mostly unlearning. Unlearning that identity needs a server. Unlearning that ownership needs a company. Unlearning that trust needs a middleman.
Once you unlearn those things, the new model clicks surprisingly fast.
See you in Week 2. 🚀
Following the #100DaysOfSolana challenge by MLH. If you're doing it too, drop a comment — let's learn together.
Connect with me:
🔗 LinkedIn | 🐦 Twitter/X | 💻 GitHub
Written as part of the MLH #100DaysOfSolana Fellowship Program — Week 1, Days 6 & 7 Challenge.

Top comments (0)