<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Favour Chisom I.</title>
    <description>The latest articles on DEV Community by Favour Chisom I. (@fachiny17).</description>
    <link>https://dev.to/fachiny17</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3900799%2Fb75e2629-6482-4005-8156-e87175cca03f.jpg</url>
      <title>DEV Community: Favour Chisom I.</title>
      <link>https://dev.to/fachiny17</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fachiny17"/>
    <language>en</language>
    <item>
      <title>What Solana Explorer Taught Me That My Code Couldn't</title>
      <dc:creator>Favour Chisom I.</dc:creator>
      <pubDate>Tue, 19 May 2026 22:46:38 +0000</pubDate>
      <link>https://dev.to/fachiny17/what-solana-explorer-taught-me-that-my-code-couldnt-nk1</link>
      <guid>https://dev.to/fachiny17/what-solana-explorer-taught-me-that-my-code-couldnt-nk1</guid>
      <description>&lt;p&gt;&lt;em&gt;Four weeks into #100DaysOfSolana, I finally stopped treating Solana Explorer as "just a checker" and started using it as a learning tool. Here is what changed.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Moment It Clicked
&lt;/h2&gt;

&lt;p&gt;I had been writing scripts for days, fetching balances, decoding mint accounts byte by byte, inspecting sysvars from the CLI. I &lt;em&gt;thought&lt;/em&gt; I understood the account model. Then I pasted one of my own devnet transaction signatures into &lt;a href="https://explorer.solana.com/?cluster=devnet" rel="noopener noreferrer"&gt;Solana Explorer&lt;/a&gt; and saw everything I had been doing in code laid out visually.&lt;br&gt;
The instruction logs showed exactly which programs were invoked. The accounts panel listed every account touched, including ones I had not explicitly referenced in my code. The fee was right there: 5,000 lamports. Finalized in under a second.&lt;br&gt;
Reading it felt like opening DevTools and finally seeing the network tab. That feeling of "oh, so THAT is what my code was actually doing" hit me all at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three Things I Noticed
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Programs are just accounts too.&lt;/strong&gt;&lt;br&gt;
When I searched the Token Program (&lt;code&gt;TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA&lt;/code&gt;), Explorer showed it like any other account, with an owner, a balance, and a data field. The only difference was &lt;code&gt;Executable: true&lt;/code&gt;. That one boolean is what separates a wallet from a smart contract on Solana. Reading it in docs is one thing. Seeing it sitting right there in the UI next to your own wallet is something else entirely.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxsyx3xp75431ftr6pij.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxsyx3xp75431ftr6pij.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Everything is public and that is the point.&lt;/strong&gt;&lt;br&gt;
On mainnet I searched the Token 2022 program and watched live transactions roll in. Swaps, mints, transfers, all visible, all readable, no login required. In Web2 you would need database access to see any of this. Here transparency is just the default. That shift still surprises me every time I think about it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flquo1yczvvxf6nhkm0mx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flquo1yczvvxf6nhkm0mx.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The explorer is your debugger.&lt;/strong&gt;&lt;br&gt;
When a transaction fails on Solana, the instruction logs tell you &lt;em&gt;exactly&lt;/em&gt; which instruction failed and why. I had a failed transfer sitting in my devnet history and expanding the logs showed the exact error: insufficient lamports. The same information was in my terminal but the Explorer made it so much easier to see which account caused the problem and trace what went wrong step by step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zdsos6kwac8rqidr99b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zdsos6kwac8rqidr99b.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Which Explorer?
&lt;/h2&gt;

&lt;p&gt;I have been using &lt;strong&gt;Solana Explorer&lt;/strong&gt; (the official one) for most of my devnet work. It is clean, handles devnet and mainnet switching easily, and the raw transaction view is great when you are still learning how everything fits together. Solscan feels better for mainnet work because labeled accounts and token flows are easier to follow there.&lt;br&gt;
If you are early in your Solana journey, bookmark Explorer and open it every single time you send a transaction. Do not just check if it succeeded. Expand everything. Click into the accounts. Read the logs. It will teach you more than staring at docs ever will.&lt;/p&gt;

&lt;h1&gt;
  
  
  100daysofsolana #solana #web3 #blockchain
&lt;/h1&gt;

</description>
      <category>100daysofsolana</category>
      <category>web3</category>
      <category>learning</category>
      <category>solana</category>
    </item>
    <item>
      <title>From Zero to Transfer: Showing Off My First Solana CLI Tool</title>
      <dc:creator>Favour Chisom I.</dc:creator>
      <pubDate>Mon, 11 May 2026 10:19:55 +0000</pubDate>
      <link>https://dev.to/fachiny17/from-zero-to-transfer-showing-off-my-first-solana-cli-tool-22jn</link>
      <guid>https://dev.to/fachiny17/from-zero-to-transfer-showing-off-my-first-solana-cli-tool-22jn</guid>
      <description>&lt;p&gt;I built a small command line tool that sends SOL on devnet. I run it with a recipient address and an amount, and it loads my wallet, checks my balance, signs a transaction, and prints an Explorer link. If I try to send more than I have, it catches me before I waste any lamports. The screenshot below is a tiny SOL transfer I did today just to test it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgei559blinfzfz04ppgl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgei559blinfzfz04ppgl.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F09pla4c1s6cfmrt65kjt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F09pla4c1s6cfmrt65kjt.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before building this I didn't really understand what a blockhash was. I learned that every transaction needs a recent one that expires in about a minute, so my tool grabs a fresh one each time. The first few times I ran it I made silly mistakes with the arguments or tried to send way more than I owned, but every error taught me something. Opening the Explorer link and seeing the transfer marked FINALIZED felt like a real milestone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foz4xd1unebjrfkdouy7b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foz4xd1unebjrfkdouy7b.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>blockchain</category>
      <category>cli</category>
      <category>showdev</category>
    </item>
    <item>
      <title>What I Finally Understand About Solana Transactions (After 20 Days of Learning)</title>
      <dc:creator>Favour Chisom I.</dc:creator>
      <pubDate>Sun, 10 May 2026 14:12:48 +0000</pubDate>
      <link>https://dev.to/fachiny17/what-i-finally-understand-about-solana-transactions-after-20-days-of-learning-34k8</link>
      <guid>https://dev.to/fachiny17/what-i-finally-understand-about-solana-transactions-after-20-days-of-learning-34k8</guid>
      <description>&lt;p&gt;When I started &lt;strong&gt;#100DaysOfSolana&lt;/strong&gt;, I didn’t even know what a keypair was. On &lt;code&gt;Day 1&lt;/code&gt; I ran a script, got a random address, and thought “this is my wallet?” It felt too bare. No password, no email, just a string. Then I learned that sending SOL means creating a transaction, and that’s where things got real.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltndzmcwsjooxoaeas9q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltndzmcwsjooxoaeas9q.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Solana transaction isn’t like a normal API call. In Web2 you hit an endpoint, the server does stuff, and maybe you get a 200 OK. Here, a &lt;strong&gt;&lt;code&gt;transaction&lt;/code&gt;&lt;/strong&gt; &lt;code&gt;is a signed bundle of instructions that changes state on a public ledger that thousands of computers agree on.&lt;/code&gt; Every transaction needs a recent blockhash (like a freshness stamp that expires in about a minute), a list of all the accounts it will touch, and at least one signature from the person who pays the fee. If any instruction fails, the whole thing rolls back. Atomic, just like a database transaction, except everyone can see it, and you pay a tiny fee even if it fails.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp46b7okpmz6d2le8m01o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp46b7okpmz6d2le8m01o.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first time I sent SOL from my terminal, I was nervous. I double checked the address, ran the command, and waited. It felt like hitting “send” on a bank transfer, but there’s no bank. The confirmation came back in under a second, and I could immediately look it up on Solana Explorer. Seeing my little 0.001 SOL transfer sitting on chain, with a block time and a fee, made the whole “public ledger” idea click.&lt;/p&gt;

&lt;p&gt;Over the next few days I broke things on purpose. I tried sending more than my balance (the CLI yelled at me), sent to a brand new address without the right flag (rejected), and inspected raw transaction data with &lt;code&gt;solana confirm -v SIGNATURE&lt;/code&gt;. That’s when I noticed the 1,232 byte size limit baked into every transaction. Coming from a world of unlimited JSON payloads, that was a shock. Now I understand why complex apps need stuff like Address Lookup Tables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ytz0ujjjsv5zjx6sa65.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ytz0ujjjsv5zjx6sa65.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The biggest jump was building my own little transfer tool with Node.js. Instead of typing solana transfer every time, I wrote a script that loads my keypair, checks my balance, asks for confirmation, and prints a clickable Explorer link. Later I added progress tracking so I can see the status move from “processed” to “confirmed” to “finalized.” That felt like I’d turned a black box into something I actually understood.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you’re just starting out, my advice is to send lots of tiny transfers on devnet. Break things. Read the error messages. Use the Explorer like a detective. The transaction model starts to feel natural quicker than you think, and then you realise you’ve grown from copying code to actually knowing what your code is asking the network to do.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>majorleaguehacking</category>
    </item>
    <item>
      <title>My First SOL Transfer: No Middleman, No Waiting</title>
      <dc:creator>Favour Chisom I.</dc:creator>
      <pubDate>Sun, 10 May 2026 07:23:17 +0000</pubDate>
      <link>https://dev.to/fachiny17/my-first-sol-transfer-no-middleman-no-waiting-1eog</link>
      <guid>https://dev.to/fachiny17/my-first-sol-transfer-no-middleman-no-waiting-1eog</guid>
      <description>&lt;p&gt;I sent my first SOL transfer on devnet today and it felt oddly magical. I created a fresh wallet, typed one command, and half a SOL zipped across the network almost instantly. Watching the transaction appear on Solana Explorer made me feel like I'd just unlocked a new cheat code. No middleman, no waiting, just signed and done. #100DaysOfSolana&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8y5o5j2em6u5yljli0z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8y5o5j2em6u5yljli0z.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
    </item>
    <item>
      <title>Two weeks of Solana: What Actually Surprised Me (and What Still Feels Weird)</title>
      <dc:creator>Favour Chisom I.</dc:creator>
      <pubDate>Sat, 02 May 2026 11:16:44 +0000</pubDate>
      <link>https://dev.to/fachiny17/two-weeks-of-solana-what-actually-surprised-me-and-what-still-feels-weird-545f</link>
      <guid>https://dev.to/fachiny17/two-weeks-of-solana-what-actually-surprised-me-and-what-still-feels-weird-545f</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftzsiqa33mh1qpxdua1q0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftzsiqa33mh1qpxdua1q0.png" alt="Day 009" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I started &lt;code&gt;two weeks&lt;/code&gt; ago not really understanding what a wallet even was. The first thing I did was generate a keypair and it just looked like a long random address. I didn't even know you could lose access if you lost the file. That felt scary and also kind of cool. Then I learned about &lt;code&gt;lamports&lt;/code&gt; and how everything on Solana is actually in those tiny units, not SOL. I kept mixing them up but multiplying and dividing by a billion slowly started to make sense.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4kwb83npa2ba04i2yl32.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4kwb83npa2ba04i2yl32.png" alt="Day 010" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The best part was in &lt;code&gt;Day 010&lt;/code&gt; when I I built a &lt;code&gt;simple web page&lt;/code&gt; that showed my wallet balance from devnet. It felt amazing to see my own address and some transactions right there in a browser. I still don't fully understand some things, like how same address can be queried on both devnet and mainnet, but I'm okay with that and working on figuring it out. Two weeks ago I had no idea what Solana was, and now I can write small scripts and read data from the chain. That feels like progress.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmz275bi70kh50bvz67eg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmz275bi70kh50bvz67eg.png" alt="Day 012" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>mlh</category>
    </item>
    <item>
      <title>My Brain on Databases vs. Solana: A Beginner’s Reality Check</title>
      <dc:creator>Favour Chisom I.</dc:creator>
      <pubDate>Thu, 30 Apr 2026 23:38:52 +0000</pubDate>
      <link>https://dev.to/fachiny17/my-brain-on-databases-vs-solana-a-beginners-reality-check-32dp</link>
      <guid>https://dev.to/fachiny17/my-brain-on-databases-vs-solana-a-beginners-reality-check-32dp</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcfascapevu43uahzdaof.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcfascapevu43uahzdaof.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 11&lt;/strong&gt; of &lt;code&gt;#100DaysOfSolana&lt;/code&gt; flipped my database instincts upside down. I spent years thinking in tables, rows, and SQL queries but Solana’s account model is a completely different beast. Every single piece of state, whether a user’s wallet or executable program code, lives as a publicly readable account on a global ledger. There are no joins, no server-side filtering, and no admin overrides. Access control is baked into the runtime: only the owning program can modify an account’s data, and only with the right signatures. Storage isn’t a monthly cloud bill; it’s an upfront, refundable deposit in lamports per byte. The biggest shock? Transparency is the default, anyone can read your account data, no login required. This exercise built a mental bridge I know I’ll cross again and again as I dive deeper into Solana development.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
    </item>
    <item>
      <title>On Solana, Your Wallet Is Your Identity: What I Learned in My First Week (from a Complete Beginner)</title>
      <dc:creator>Favour Chisom I.</dc:creator>
      <pubDate>Mon, 27 Apr 2026 18:34:36 +0000</pubDate>
      <link>https://dev.to/fachiny17/on-solana-your-wallet-is-your-identity-what-i-learned-in-my-first-week-from-a-complete-beginner-3ah</link>
      <guid>https://dev.to/fachiny17/on-solana-your-wallet-is-your-identity-what-i-learned-in-my-first-week-from-a-complete-beginner-3ah</guid>
      <description>&lt;p&gt;I have spent the last week diving into Solana development, and I want to share what each day felt like as a complete beginner. Because honestly, nothing clicked until I did it myself.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Day 1: My First Keypair&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0be03yumlx4fvt4kyxi6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0be03yumlx4fvt4kyxi6.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I created a new project folder and installed &lt;code&gt;@solana/kit&lt;/code&gt;. Then I wrote a tiny script that called &lt;code&gt;generateKeyPairSigner()&lt;/code&gt; and printed the wallet address. When I ran it, a long string of letters and numbers appeared. That string, I learned, was my public key like an account number I could safely share. The private key stayed hidden inside the &lt;code&gt;wallet&lt;/code&gt; object, never printed. It felt strange not seeing it. I copied the address, opened &lt;a href="https://faucet.solana.com/" rel="noopener noreferrer"&gt;faucet.solana.com&lt;/a&gt;, selected Devnet, and requested an airdrop. I actually encountered an error because I didn't connect &lt;a href="https://github.com/fachiny17" rel="noopener noreferrer"&gt;my github account&lt;/a&gt; to it. A few seconds after connecting my github, free test SOL landed at my address. I updated the script to check the balance and saw &lt;code&gt;2.5 SOL&lt;/code&gt; in the terminal. I also realized that running the script again gave me a completely new wallet each time. It was like printing a new bank account slip and throwing it away. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Day 2: Making the Wallet Stick&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The goal was to create a wallet, save it to a file, and load it later. I wrote a function that first tried to read a &lt;code&gt;wallet.json&lt;/code&gt; file. If the file existed, it would reconstruct the keypair from its bytes. If not, it would generate a new one, save it, and carry on. My first attempt failed with an error: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"key is not extractable."&lt;br&gt;
 The &lt;code&gt;generateKeyPairSigner()&lt;/code&gt; function creates keys that can't be exported for security. That stumped me. After digging, I switched to using &lt;code&gt;createKeyPairSignerFromPrivateKeyBytes()&lt;/code&gt; and generated my own 32 random bytes using Node's &lt;code&gt;crypto.randomBytes(32)&lt;/code&gt;. I saved those bytes (just the private key) into a JSON file as an array of numbers. When I ran the script again, it loaded the same address and showed the balance I’d funded earlier. For the first time, I had a wallet I could reuse. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Day 3: SOL and Lamports, the Smallest Unit&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I installed the Solana CLI and generated a fresh keypair (&lt;code&gt;solana-keygen new&lt;/code&gt;). Then I used &lt;code&gt;solana balance --url devnet&lt;/code&gt; to see my balance in SOL, and &lt;code&gt;--lamports&lt;/code&gt; to see it in lamports. The conversion: 1 SOL = 1,000,000,000 lamports. Integers only, no decimals. This explained why earlier my script showed 2000000000 when I expected 2. It’s like working with cents in payment APIs. I also checked a transaction fee 5000 lamports, or 0.000005 SOL by inspecting the transaction history. I finally understood why blockchain code never uses float numbers. Everything is exact.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Day 4: Connecting a Real Browser Wallet&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F660iwbe7b19kd64ove7o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F660iwbe7b19kd64ove7o.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was the big leap: building a web app that talks to a browser extension. I created a Vite project, installed &lt;code&gt;@solana/kit&lt;/code&gt; and &lt;code&gt;@wallet-standard/app&lt;/code&gt;. The JavaScript detected installed wallets (like Phantom) using getWallets(), filtered for Solana chains, and showed buttons for each. Clicking one triggered connect(), which opened a popup asking permission. Once I approved, the page displayed my address and devnet balance fetched via RPC. I didn’t touch a private key at all the wallet handled it. Seeing it work in the browser felt like building something real. The Wallet Standard meant my app would work with any compliant wallet, not just Phantom. That’s elegant.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Day 5: Comparing Wallet Types&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I stepped back to compare the three wallets I now had: the CLI wallet (plaintext JSON file), the browser extension (password-encrypted, with seed phrase), and a mobile wallet I installed fresh. Each generated a keypair, but the experience differed. The CLI was lightning-fast for scripting. The browser wallet added a confirmation layer every signature required a popup. The mobile wallet used biometrics and felt the most secure day-to-day. I sent 0.01 SOL from my phone to my CLI address and verified it arrived. All of them held the same kind of keypair, but security and convenience varied wildly. That’s when it hit me: identity on Solana is a private key, and wallets are just different containers for it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What It All Means&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After five days, the concept clicked. On Solana, you don’t have a username or email; you have a keypair. Your address is your public key, and you prove ownership by signing with your private key. No company can revoke that, reset a password, or lock you out. It’s like SSH keys for the entire internet. That’s both empowering and terrifying because if you lose the key, nobody can help you. But it also means you truly own your identity, assets, and interactions across every app on the network. That shift in mindset is the biggest lesson I’ve taken away.&lt;/p&gt;

&lt;p&gt;I’m still getting used to double-checking backups, but I can’t unsee it now: my wallet is my identity on Solana. And that’s a good thing.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>solana</category>
      <category>web3</category>
      <category>blockchain</category>
    </item>
  </channel>
</rss>
