DEV Community

Sanjaya Bhatta
Sanjaya Bhatta

Posted on

A week of Learning Solana #100DaysOfSolana

I spent 7 days learning Solana wallets — here’s what actually clicked

I’ve mostly worked in Web2 stuff, so when I started Solana, I expected something like:

  • create account
  • set password
  • get token-based auth or something

But that’s not what happens at all.

There is no “account creation” step.

You just generate a keypair and… that’s your identity.


Day 1 — Identity is just a keypair

First thing I did was generate a wallet in code:

`
import { generateKeyPairSigner } from "@solana/kit";

const wallet = await generateKeyPairSigner();
console.log(wallet.address);
`

That’s it.

No email. No signup. No backend.

Just a public key and a private key.

At this point it honestly felt like “okay but where is the account actually stored?”

Answer: nowhere.

You are the account.


Day 2 — Oh, wallets are just files

Next step was making it persistent.

So instead of generating a new wallet every time, I saved it into a JSON file.

That’s when it started feeling a bit… raw.

Because suddenly:

  • my “wallet” = a file on my machine
  • my “identity” = bytes in that file

If someone has that file, they are you on-chain.

No recovery. No reset.

Very different from Web2 where you can just email support.


Day 3 — SOL is not really what the system uses

Then I hit something small but important:

SOL is just a human label.

Under the hood it’s all lamports:

1 SOL = 1,000,000,000 lamports
Enter fullscreen mode Exit fullscreen mode

Everything in code uses lamports, not SOL.

So if you mess up and send 1 instead of 1e9, you didn’t send 1 SOL… you sent basically nothing.

This is one of those “good to know early or suffer later” things.


Day 4 — Browser wallets feel like the “real product”

Then I tried Phantom.

This felt closer to what most people think “wallets” are.

Setup looked like:

  • create seed phrase
  • set password
  • install extension
  • connect to app

But the important part:

My app never sees my private key.

Instead it just asks:

“can you sign this?”

And Phantom handles the rest.

That was the first time Solana started feeling like a real ecosystem, not just scripts.

Day 5 — There isn’t one wallet type

This day was more comparison than coding.

I tried CLI, browser, and mobile wallets and realized something simple:

They are all the same thing underneath.

Just stored differently:

  • CLI → file on disk (fast, insecure)
  • Browser → encrypted extension (balanced)
  • Mobile → secure storage + biometrics (more protected)

So it’s not really “which wallet is best”

It’s more:

what are you trying to do?

scripts, dApps, or holding funds


Day 6 — Identity finally clicked

This was the big mental shift.

In Web2:

  • identity = database record
  • platform owns access

In Solana:

  • identity = ability to sign
  • no one can “reset” it for you

If you have the private key → you are the account
If you lose it → it’s gone

That’s it.

No middle layer.

No support tickets.

Kind of scary, but also… very clean.


Day 7 — Sharing it made it clearer

The last step wasn’t technical.

It was just writing and sharing what I learned.

And honestly, that’s where things started making sense properly.

Because when you try to explain it simply, you realize:

  • wallets are just key storage
  • identity is just cryptographic proof
  • apps don’t “log you in” — they just verify signatures

🧠 Final takeaway

If I had to reduce everything I learned:

A Solana wallet is just a keypair. Everything else is UX around signing.

That’s it.

No accounts. No passwords. No central identity.

Just keys.

And once that clicks, everything else (tokens, NFTs, DeFi) becomes way easier to understand.


If you’re coming from Web2, this is probably the hardest mindset shift:

You don’t “log in” to Solana.

You just prove you are already you.


This post is part of my #100DaysOfSolana series. Follow along as I go from zero to building on Solana, one day at a time.

Top comments (0)