<?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>Forem: Elizabeth Afolabi</title>
    <description>The latest articles on Forem by Elizabeth Afolabi (@bettyafolabi).</description>
    <link>https://forem.com/bettyafolabi</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%2F1464865%2Fe9f2f036-f4c0-4e09-8d7c-a3b74ae5dc30.jpeg</url>
      <title>Forem: Elizabeth Afolabi</title>
      <link>https://forem.com/bettyafolabi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/bettyafolabi"/>
    <language>en</language>
    <item>
      <title>When “Wallet” Stopped Meaning Wallet - My Solana Journey.</title>
      <dc:creator>Elizabeth Afolabi</dc:creator>
      <pubDate>Tue, 05 May 2026 13:07:20 +0000</pubDate>
      <link>https://forem.com/bettyafolabi/when-wallet-stopped-meaning-wallet-my-solana-journey-3ap9</link>
      <guid>https://forem.com/bettyafolabi/when-wallet-stopped-meaning-wallet-my-solana-journey-3ap9</guid>
      <description>&lt;p&gt;I already had some exposure to Ethereum, so I thought I understood what a blockchain account was.&lt;/p&gt;

&lt;p&gt;In my head, it was simple:&lt;br&gt;
A decentralized version of a traditional account; no central authority, no company controlling it. You own it, you control it, end of story.&lt;/p&gt;

&lt;p&gt;That mental model worked… until Day 11 of the 100daysofsolana.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I Thought
&lt;/h3&gt;

&lt;p&gt;I saw accounts like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wallet = my personal account (stores and sends money)&lt;/li&gt;
&lt;li&gt;Programs = shared logic (like smart contracts)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even though I knew they were both “accounts,” I still treated them very differently.&lt;/p&gt;

&lt;p&gt;Wallet felt like mine. Programs felt like tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Changed
&lt;/h3&gt;

&lt;p&gt;I started inspecting accounts directly using the CLI:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;solana account &amp;lt;address&amp;gt;&lt;/code&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%2Fb71a1tb9bs0gp1q65jby.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%2Fb71a1tb9bs0gp1q65jby.png" alt="output of the code" width="800" height="494"&gt;&lt;/a&gt;&lt;br&gt;
That’s when things started to feel different.&lt;/p&gt;

&lt;p&gt;I wasn’t just seeing balances anymore. I was seeing fields like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;owner&lt;/li&gt;
&lt;li&gt;executable&lt;/li&gt;
&lt;li&gt;data length
And I had questions immediately.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Confusing Part
&lt;/h3&gt;

&lt;p&gt;Some accounts had:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;executable: true&lt;/li&gt;
&lt;li&gt;others had executable: false&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I started wondering:&lt;/p&gt;

&lt;p&gt;Why can some accounts execute and others can’t?&lt;br&gt;
What actually makes a program different from a wallet under the hood?&lt;/p&gt;

&lt;p&gt;Then there was data length.&lt;/p&gt;

&lt;p&gt;At first, I thought it had something to do with transactions… but it didn’t.&lt;br&gt;
Now I understand it relates to how much storage space an account uses on-chain, but I’m still not fully clear on how it’s managed.&lt;/p&gt;

&lt;p&gt;And then there’s rent.&lt;/p&gt;

&lt;p&gt;Right now, my understanding is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;a cost for storing data on-chain&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But I still didn’t fully understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how it’s calculated&lt;/li&gt;
&lt;li&gt;when it is actually paid&lt;/li&gt;
&lt;li&gt;what happens if an account can’t cover it&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What I understand now
&lt;/h3&gt;

&lt;p&gt;The biggest shift for me was this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A wallet is not just a wallet. It’s an account with structure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That structure includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;who controls it (owner)&lt;/li&gt;
&lt;li&gt;whether it can run code (executable)&lt;/li&gt;
&lt;li&gt;how much data it stores (data length)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What helped things click further is realizing that “owner” doesn’t mean one thing in Solana.&lt;/p&gt;

&lt;p&gt;There’s a difference between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;human ownership - who signs and authorizes transactions with a private key&lt;/li&gt;
&lt;li&gt;program ownership - which program is allowed to modify the account’s data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So a wallet can be controlled by a user through signing, while still being governed at the protocol level by a program.&lt;/p&gt;

&lt;p&gt;That separation made the system feel a lot more structured than I expected.&lt;/p&gt;

&lt;p&gt;And suddenly, the line between “wallet” and “program” became thinner.&lt;/p&gt;

&lt;p&gt;They’re not completely different things. They’re different types of accounts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Finally
&lt;/h3&gt;

&lt;p&gt;Day 11 didn’t give me full clarity, but it changed the way I look at the system.&lt;/p&gt;

&lt;p&gt;I came in thinking in terms of wallets and smart contracts.&lt;/p&gt;

&lt;p&gt;I left realizing it’s all just accounts with different rules, permissions, and structure layered on top.&lt;/p&gt;

&lt;p&gt;That shift alone made everything I was seeing start to make more sense, even the parts I still don’t fully understand.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>web3</category>
      <category>solana</category>
      <category>wallet</category>
    </item>
    <item>
      <title>How Identity Works on Solana (vs Web2)</title>
      <dc:creator>Elizabeth Afolabi</dc:creator>
      <pubDate>Sat, 02 May 2026 17:03:39 +0000</pubDate>
      <link>https://forem.com/bettyafolabi/how-identity-works-on-solana-vs-web2-4k7p</link>
      <guid>https://forem.com/bettyafolabi/how-identity-works-on-solana-vs-web2-4k7p</guid>
      <description>&lt;p&gt;I recently joined the 100 Days of Solana challenge, and in the first few days I did some pretty basic things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generated a wallet&lt;/li&gt;
&lt;li&gt;Funded it using devnet&lt;/li&gt;
&lt;li&gt;Connected it to apps&lt;/li&gt;
&lt;li&gt;Sent transactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sounds simple, right?&lt;/p&gt;

&lt;p&gt;But it raised a bigger question for me:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If there’s no email/password… how does identity even work here?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you're coming from Web2, this part can feel confusing at first. Let me break it down based on what I've learnt.&lt;/p&gt;

&lt;h3&gt;
  
  
  Web2 Identity (What We’re Used To)
&lt;/h3&gt;

&lt;p&gt;In Web2, identity is straightforward:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You sign up with email + password&lt;/li&gt;
&lt;li&gt;Your details are stored in a database&lt;/li&gt;
&lt;li&gt;When you log in, the server verifies you&lt;/li&gt;
&lt;li&gt;A session or token keeps you logged in&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So basically, the server is responsible for knowing who you are.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Shift: No Central Authority
&lt;/h3&gt;

&lt;p&gt;On Solana, that model changes completely. The best way to think about it is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Using a Solana wallet is like logging in with OAuth, except there’s no Google or Facebook verifying you. Identity is proven cryptographically by your wallet.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There’s no central server in charge of identity. Instead, identity is tied to your wallet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Your Wallet = Your Identity
&lt;/h3&gt;

&lt;p&gt;A wallet (like Phantom) is built on something called a keypair:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Public key - your wallet address (like a username)&lt;/li&gt;
&lt;li&gt;Private key - used to approve actions (kept secret)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So when we say, “This is my identity on Solana”. What we really mean is “I control this wallet address.”&lt;/p&gt;

&lt;h3&gt;
  
  
  Signing = Authentication
&lt;/h3&gt;

&lt;p&gt;This is the most important part. In Web2, you send your password to prove who you are&lt;br&gt;
In Solana, you sign a message or transaction&lt;/p&gt;

&lt;p&gt;Here’s what actually happens:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You interact with a dApp&lt;/li&gt;
&lt;li&gt;The app asks your wallet to approve an action&lt;/li&gt;
&lt;li&gt;Your wallet prompts you&lt;/li&gt;
&lt;li&gt;You approve&lt;/li&gt;
&lt;li&gt;Your wallet signs using your private key&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That signature is the proof. You don’t log in with a password, you prove who you are by signing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Also important:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your private key is never exposed. It stays inside the wallet.&lt;br&gt;
The password you enter in your wallet is not what proves it’s you, it only unlocks your wallet locally.&lt;/p&gt;

&lt;p&gt;When you connect your wallet to an app, The app gets your public address. It never gets your private key.&lt;br&gt;
That’s why wallet connections are considered secure.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Real Flow (From My Experience)
&lt;/h3&gt;

&lt;p&gt;Here’s a typical flow based on what I’ve been building:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I click “Connect Wallet”&lt;/li&gt;
&lt;li&gt;My wallet (Phantom) asks me to approve&lt;/li&gt;
&lt;li&gt;The app gets my public key&lt;/li&gt;
&lt;li&gt;The app uses RPC to fetch my balance&lt;/li&gt;
&lt;li&gt;I enter an amount to send&lt;/li&gt;
&lt;li&gt;I click send&lt;/li&gt;
&lt;li&gt;My wallet asks me to sign&lt;/li&gt;
&lt;li&gt;I approve, transaction goes through&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Where RPC Comes In
&lt;/h3&gt;

&lt;p&gt;RPC (Remote Procedure Call) is just how apps talk to the blockchain. It fetches balances, sends transactions and reads data. It does not know who you are or manage identity. It just responds to requests.&lt;/p&gt;

&lt;h3&gt;
  
  
  So What Replaces Sessions?
&lt;/h3&gt;

&lt;p&gt;In Web2, you log in once and session persists.&lt;/p&gt;

&lt;p&gt;In Solana, there’s no real “session”. Your identity is simply your connected wallet. Your ability to sign when needed. If you disconnect, that’s it. No session stored somewhere.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;At first, it feels strange not having a login system.&lt;/p&gt;

&lt;p&gt;But once you understand this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Identity = wallet&lt;br&gt;
Authentication = signature&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Everything starts to make sense.&lt;/p&gt;

&lt;p&gt;If you're just getting into Solana like I am, this is one of the most important concepts to understand early.&lt;/p&gt;

&lt;p&gt;It makes everything else easier.&lt;/p&gt;

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