week 1 of my 100 days of solana challenge is officially done and honestly i didn't expect to learn this much in just 5 days.
i'm documenting everything publicly on github as i go — every script, every mistake, every "oh that's how it works" moment. here's what the first week actually looked like 👇
Day 1 — Just getting connected
before anything cool can happen you need to be able to talk to the network. day 1 was setting up the environment, installing @solana/web3.js, and making my first connection to devnet. ran getVersion(), got a response back from the cluster, and felt unreasonably happy about it. small win but it made everything feel real.
Day 2 — Keypairs and the account model
this is where solana's mental model starts to diverge from what you might know. generated my first keypair — public key is your on-chain address, private key is the secret you protect with your life. the bigger thing i had to sit with was solana's account model. everything on solana is an account. your wallet, a token, program state — all accounts. took a second read to really internalize it but once it clicked it clicked.
Day 3 — Free money (devnet airdrops)
requested my first airdrop on devnet and watched the balance update. 1 SOL dropped into a wallet i generated from scratch with a few lines of js. hit the rate limit a couple times which was honestly a useful lesson — you learn to confirmTransaction() properly when you're impatient and it keeps failing. also got comfortable converting between lamports and SOL (1 SOL = 1,000,000,000 lamports — yes, nine zeros).
Day 4 — Built an actual wallet UI
this was the best day of the week. stopped writing plain node scripts and built a small HTML interface for the wallet — connect button, displays your address, shows your live balance. wired the js logic directly to the DOM. the folder is literally called day-4-wallet. the moment it rendered in a browser and showed a real devnet balance it stopped feeling like exercises and started feeling like building something. that shift in feeling matters a lot when you're learning.
Day 5 — Sent my first real transaction
the milestone. built a SystemProgram.transfer instruction, wrapped it in a Transaction, signed it with the sender's keypair, and broadcast it to devnet. waited for the confirm. checked both balances. they changed. i don't know how else to describe it except that it hits different when you realize you just moved value on a live blockchain with code you wrote yourself, even if it's devnet SOL worth exactly nothing.
also learned about transaction fees the hard way — got an insufficient balance error because i forgot to account for the fee on top of the transfer amount. good teacher.
week 1 summary
→ connected to solana devnet
→ generated keypairs and understood the account model
→ airdropped SOL and read balances
→ built a wallet UI in HTML + JS
→ sent my first on-chain SOL transfer
the honest take: @solana/web3.js is surprisingly approachable if you already know javascript. the api isn't the hard part — it's building the right mental models around accounts, lamports, and how transactions are structured. once those click, things move fast.
95 days to go. see you at day 10 👀
all the code is open on github 👇
github.com/Siddhant0122/100-days-of-solana
I know i'm little late but I will make the backlogs turnover.
Top comments (0)