<?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: Samuel Akoji</title>
    <description>The latest articles on Forem by Samuel Akoji (@sammie_).</description>
    <link>https://forem.com/sammie_</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%2F3898087%2F3cb96184-ed6c-4759-9563-1bdb59d178c2.jpg</url>
      <title>Forem: Samuel Akoji</title>
      <link>https://forem.com/sammie_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sammie_"/>
    <language>en</language>
    <item>
      <title>I Built a Terminal Account Explorer (Mini Solscan)</title>
      <dc:creator>Samuel Akoji</dc:creator>
      <pubDate>Thu, 14 May 2026 13:00:00 +0000</pubDate>
      <link>https://forem.com/sammie_/i-built-a-terminal-account-explorer-mini-solscan-lkp</link>
      <guid>https://forem.com/sammie_/i-built-a-terminal-account-explorer-mini-solscan-lkp</guid>
      <description>&lt;h2&gt;
  
  
  Day 23 of #100DaysOfSolana
&lt;/h2&gt;

&lt;p&gt;Today I stopped staring at raw terminal output and built something actually useful: a CLI tool that takes any Solana address and prints a clean summary of the account balance, owner, data size, and whether it's executable.&lt;/p&gt;

&lt;p&gt;Think of it as your own mini Solscan, no browser required.&lt;/p&gt;




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

&lt;p&gt;A Node.js script (&lt;code&gt;explorer.mjs&lt;/code&gt;) that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accepts any Solana address as a CLI argument&lt;/li&gt;
&lt;li&gt;Fetches balance via &lt;code&gt;getBalance&lt;/code&gt; and account metadata via &lt;code&gt;getAccountInfo&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Converts lamports to SOL (divide by 1,000,000,000)&lt;/li&gt;
&lt;li&gt;Maps owner addresses to friendly names (System Program, Token Program, etc.)&lt;/li&gt;
&lt;li&gt;Truncates large data fields so your terminal doesn't explode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stack: &lt;code&gt;@solana/kit&lt;/code&gt;, ES Modules, devnet RPC&lt;/p&gt;




&lt;h3&gt;
  
  
  The core insight
&lt;/h3&gt;

&lt;p&gt;Every single account on Solana — wallets, token accounts, deployed programs — is described by the same 5 fields:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;What it tells you&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;balance&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;How much SOL (in lamports)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;owner&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Which program controls this account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;data&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Custom bytes stored in the account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;executable&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Is this account a runnable program?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rent_epoch&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;When rent was last collected&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The difference between a wallet and a smart contract is literally one boolean: &lt;code&gt;executable&lt;/code&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  What surprised me
&lt;/h3&gt;

&lt;p&gt;Block explorers like Solscan and SolanaFM aren't doing anything special. They call the same &lt;code&gt;getBalance&lt;/code&gt; and &lt;code&gt;getAccountInfo&lt;/code&gt; RPC methods I used today — they just wrap the output in a web UI.&lt;/p&gt;

&lt;p&gt;Building the raw version yourself gives you a mental model that no tutorial skips to.&lt;/p&gt;




&lt;h3&gt;
  
  
  Try it yourself
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node explorer.mjs TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run it against the Token Program address. You'll see &lt;code&gt;executable: true&lt;/code&gt; and the System Program listed as owner.&lt;/p&gt;

&lt;p&gt;Then try your own devnet wallet — &lt;code&gt;executable: false&lt;/code&gt;, zero data, System Program owner.&lt;/p&gt;




&lt;p&gt;Day 23 down. Still shipping daily&lt;/p&gt;

&lt;h1&gt;
  
  
  solana #web3 #blockchain #100daysofcode #javascript
&lt;/h1&gt;

</description>
      <category>blockchain</category>
      <category>cli</category>
      <category>node</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Inspecting Raw Account Data with the Solana CLI</title>
      <dc:creator>Samuel Akoji</dc:creator>
      <pubDate>Thu, 14 May 2026 10:01:23 +0000</pubDate>
      <link>https://forem.com/sammie_/inspecting-raw-account-data-with-the-solana-cli-1b8</link>
      <guid>https://forem.com/sammie_/inspecting-raw-account-data-with-the-solana-cli-1b8</guid>
      <description>&lt;p&gt;&lt;strong&gt;Day 22 of #100DaysOfSolana&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Today I went under the hood. No code just the Solana CLI and three account inspections that changed how I see the whole network.&lt;/p&gt;

&lt;h3&gt;
  
  
  Inspection 1 — My own wallet
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;solana account &lt;span class="si"&gt;$(&lt;/span&gt;solana address&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Balance: 2 SOL
Owner: 11111111111111111111111111111111
Executable: false
Length: 0 bytes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Owned by the System Program. Not executable. Zero bytes of custom data. Just a balance.&lt;/p&gt;




&lt;h3&gt;
  
  
  Inspection 2 — The SPL Token Program
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;solana account TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Executable: true
Owner: BPFLoader2111111111111111111111111111111111
Data: [compiled program bytecode]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same five fields — completely different values. This is a runnable program, loaded by the BPF Loader, with actual bytecode in the data field.&lt;/p&gt;

&lt;p&gt;A native built-in program. The only one on Solana that can create new accounts. Compare its fields to both above and the pattern becomes clear.&lt;/p&gt;

&lt;h3&gt;
  
  
  The five fields every account shares
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lamports&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;SOL balance in the smallest unit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;data&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Arbitrary byte array (empty for wallets)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;owner&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The program that controls this account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;executable&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Is this account runnable code?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rentEpoch&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Legacy field, no longer actively used&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  The key insight
&lt;/h3&gt;

&lt;p&gt;On Solana, &lt;strong&gt;everything is an account&lt;/strong&gt;. Wallets, programs, token balances, NFT metadata, game state — all accounts, all with the same five fields.&lt;/p&gt;

&lt;p&gt;The difference between a wallet and a smart contract is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One boolean: &lt;code&gt;executable&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;One address: what sits in &lt;code&gt;owner&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is different from Ethereum, where wallets and contracts are distinct concepts. On Solana, it's accounts all the way down.&lt;/p&gt;




&lt;h3&gt;
  
  
  The owner field is the security model
&lt;/h3&gt;

&lt;p&gt;Only the owning program can modify an account's data or deduct its lamports. That's why:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The System Program handles SOL transfers → it owns wallets&lt;/li&gt;
&lt;li&gt;The Token Program moves tokens → it owns token accounts&lt;/li&gt;
&lt;li&gt;Your custom program controls its state → it will own the accounts it creates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understanding this is foundational for everything that comes next.&lt;/p&gt;

&lt;p&gt;Same fields, machine-readable. Useful for scripting or piping into other tools.&lt;/p&gt;

&lt;p&gt;Day 22 down.&lt;/p&gt;

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

</description>
      <category>100daysofsolana</category>
    </item>
    <item>
      <title>Solana Transactions Explained for Backend Developers</title>
      <dc:creator>Samuel Akoji</dc:creator>
      <pubDate>Mon, 11 May 2026 08:01:59 +0000</pubDate>
      <link>https://forem.com/sammie_/solana-transactions-explained-for-backend-developers-2cjl</link>
      <guid>https://forem.com/sammie_/solana-transactions-explained-for-backend-developers-2cjl</guid>
      <description>&lt;p&gt;I've sent hundreds of HTTP requests in my career. POST to an endpoint, get a 200 back, move on. When I started building on Solana, I assumed transactions would feel similar. They don't and understanding exactly why changed how I think about on-chain programming entirely.&lt;/p&gt;

&lt;p&gt;The Web2 mental model (and where it breaks down)&lt;/p&gt;

&lt;p&gt;In a typical backend system, you call an API: you send a payload, a server processes it, and you get a response. The server holds authority. Authentication is usually a session token that the server validates against its own database.&lt;/p&gt;

&lt;p&gt;Solana transactions have a surface-level resemblance to this you send something to the network, it gets processed, you get a result. But three things make the comparison fall apart quickly:&lt;/p&gt;

&lt;p&gt;1.&lt;strong&gt;The transaction itself is the authority&lt;/strong&gt;: There's no session. There's no server checking a database. Authority comes from a cryptographic signature attached to the transaction computed with your private key, verifiable by anyone. If the signature is valid, the instruction runs. Period.&lt;/p&gt;

&lt;p&gt;2.** Everything is atomic**: A transaction bundles one or more instructions, and they all succeed or all fail together. This isn't just a convenience it's a security guarantee baked into the runtime.&lt;/p&gt;

&lt;p&gt;3.&lt;strong&gt;It expires&lt;/strong&gt;: A transaction is only valid for roughly 60–90 seconds, anchored to something called a recent blockhash. No stale replays. No indefinitely reusable tokens.&lt;/p&gt;

&lt;p&gt;The anatomy of a Solana transaction&lt;/p&gt;

&lt;p&gt;Before writing any code, I found it useful to understand what a transaction is actually made of. There are four core pieces:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Signatures&lt;/strong&gt;&lt;br&gt;
Ed25519 signatures from every required signer. The fee payer always signs. Programs can require additional signers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recent blockhash&lt;/strong&gt;&lt;br&gt;
A hash of a recent block. Acts as a TTL transactions referencing an expired blockhash are rejected outright.&lt;br&gt;
**&lt;br&gt;
Instructions**&lt;br&gt;
The actual work. Each instruction targets a program, specifies accounts, and passes instruction data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accounts&lt;/strong&gt;&lt;br&gt;
Every account the transaction will read or write declared upfront. Validators use this to parallelize execution.&lt;/p&gt;

&lt;p&gt;If you're coming from backend development, the hardest part of Solana isn't the syntax it's unlearning the assumption that authority lives on a server. Once you internalize that signatures are the authority, the rest of the transaction anatomy follows naturally.&lt;/p&gt;

&lt;p&gt;Day 20 of #100DaysOfSolana. &lt;br&gt;
Devnet explorer is open in a permanent tab now.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
    </item>
    <item>
      <title>I Made my First solana transfer</title>
      <dc:creator>Samuel Akoji</dc:creator>
      <pubDate>Tue, 05 May 2026 13:53:32 +0000</pubDate>
      <link>https://forem.com/sammie_/i-made-my-first-solana-transfer-53eg</link>
      <guid>https://forem.com/sammie_/i-made-my-first-solana-transfer-53eg</guid>
      <description>&lt;p&gt;Made my first SOL transfer on devnet today.&lt;br&gt;
Not a big moment by most standards. 0.001 SOL, sent to a temporary wallet I spun up just to have somewhere to send it. But watching it actually land — seeing the balance update, the transaction confirm — made something click that reading docs never quite did.&lt;br&gt;
A few things I had to get right before it worked:&lt;/p&gt;

&lt;p&gt;Generate a fresh keypair and save it locally&lt;br&gt;
Use --allow-unfunded-recipient because the destination account didn't exist yet&lt;br&gt;
Make sure I was pointed at devnet and not somewhere else entirely&lt;/p&gt;

&lt;p&gt;That last one would have cost me real money in a different context. Glad I learned it here.&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%2Frly18zutpjc3ycttq14t.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%2Frly18zutpjc3ycttq14t.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
    </item>
    <item>
      <title>Understanding transaction anatomy</title>
      <dc:creator>Samuel Akoji</dc:creator>
      <pubDate>Tue, 05 May 2026 13:31:03 +0000</pubDate>
      <link>https://forem.com/sammie_/understanding-transaction-anatomy-pa8</link>
      <guid>https://forem.com/sammie_/understanding-transaction-anatomy-pa8</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%2Fsfh3udnfhkpcgmyq426r.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%2Fsfh3udnfhkpcgmyq426r.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today I stopped treating a Solana transaction as a black box and looked at what's actually inside one.&lt;br&gt;
Every transaction is a signed message made up of four parts:&lt;/p&gt;

&lt;p&gt;A header that defines permission groups for all accounts involved&lt;br&gt;
A list of account keys the resources the transaction touches&lt;br&gt;
A recent blockhash proof of freshness and protection against replay attacks&lt;br&gt;
Instructions the actual operations, each pointing into the account keys array by index&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
    </item>
    <item>
      <title>Traditional Databases vs Solana Accounts</title>
      <dc:creator>Samuel Akoji</dc:creator>
      <pubDate>Tue, 05 May 2026 12:45:47 +0000</pubDate>
      <link>https://forem.com/sammie_/traditional-databases-vs-solana-accounts-1j5a</link>
      <guid>https://forem.com/sammie_/traditional-databases-vs-solana-accounts-1j5a</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%2F62jfuv6gkns5g2ootf0j.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%2F62jfuv6gkns5g2ootf0j.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today on my learning journey i learnt about the difference between a solana account and the traditional database.&lt;/p&gt;

&lt;p&gt;Key Difference&lt;br&gt;
Accounts do not query each other.&lt;/p&gt;

&lt;p&gt;There is no JOIN&lt;br&gt;
No server-side filtering&lt;br&gt;
Programs receive accounts as inputs to instructions&lt;br&gt;
If you want to "query" data:&lt;/p&gt;

&lt;p&gt;You do it off-chain via RPC&lt;br&gt;
Then assemble the results yourself&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
    </item>
    <item>
      <title>My second Week Playing Around Solana</title>
      <dc:creator>Samuel Akoji</dc:creator>
      <pubDate>Mon, 04 May 2026 11:54:19 +0000</pubDate>
      <link>https://forem.com/sammie_/my-first-week-playing-around-solana-3jm1</link>
      <guid>https://forem.com/sammie_/my-first-week-playing-around-solana-3jm1</guid>
      <description>&lt;p&gt;I'll be honest before I started, I think I expected blockchain data to feel exotic. Like there'd be some kind of ceremony to accessing it. What I got instead was a JSON RPC endpoint. You call it, it talks back. That was the first surprise: how boring the infrastructure felt in the best possible way. It's just a database you can ask questions to. The "public ledger" framing stopped being an abstraction the moment I ran my first &lt;code&gt;solana balance&lt;/code&gt; call and watched a real wallet's balance show in my terminal,or even request faucet and receiving it in my wallet in real time and the balance displayed on my terminal too. &lt;/p&gt;

&lt;p&gt;What clicked fastest was the account model. Once it landed that everything on Solana is an account programs, token balances, even program state a lot of the weirdness started resolving itself. It's almost like a filesystem. Programs live at addresses. Data lives at addresses. You're mostly just reading from addresses. That felt intuitive once I stopped trying to map it onto how I thought blockchains were supposed to work.&lt;/p&gt;

&lt;p&gt;What surprised me most about the SDK was how much the ecosystem leans on you knowing what you're looking for before you go looking. With a REST API, you usually get back something self-describing field names that hint at meaning, maybe some docs that walk you through a response shape. With Solana RPC, especially reading raw account data, you get back a base64-encoded blob and a polite shrug. You need the program's IDL to make sense of it. That's not a flaw exactly, it's just a different contract between the API and the developer one that assumes more context up front.&lt;/p&gt;

&lt;p&gt;What's still fuzzy: the fee and priority fee model. I understand the mechanics loosely you attach a compute budget, you bid for inclusion but the intuition hasn't formed yet. One thing I did learn along the way: SOL isn't the smallest unit you're working with. That's lamports 1 SOL is made up of 1,000,000,000 lamports. So when amounts come back from the RPC, they're in lamports, and you have to divide by a billion to get back to SOL. It's a small thing but it catches you off guard the first time you see a balance and think someone is inexplicably wealthy. That's probably my next step.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
    </item>
    <item>
      <title>You Already Understand Blockchain Identity (You Just Don't Know It Yet)</title>
      <dc:creator>Samuel Akoji</dc:creator>
      <pubDate>Sun, 26 Apr 2026 16:32:59 +0000</pubDate>
      <link>https://forem.com/sammie_/you-already-understand-blockchain-identity-you-just-dont-know-it-yet-2936</link>
      <guid>https://forem.com/sammie_/you-already-understand-blockchain-identity-you-just-dont-know-it-yet-2936</guid>
      <description>&lt;p&gt;If you've ever set up SSH access to a server, you already understand the core idea behind identity on Solana. You generated a keypair. You dropped the public key on the server. From that point on, you proved who you were not with a password but by signing challenges with your private key. The server trusted the math.&lt;br&gt;
Solana works the same way, except instead of one server, the "server" is the entire global network, and your keypair is your identity everywhere on it at once.&lt;br&gt;
The problem with Web2 identity&lt;br&gt;
Think about how fragmented your identity actually is right now. You have a username on GitHub, an email address at work, a login at your bank, and an account on every SaaS tool your team uses. Each one is a separate record in someone else's database. Each one is granted to you by that company and can be revoked by them at any time. Forget a password? You depend on their reset flow. Get suspended? You're locked out entirely. Want to prove to a third party that you're the same person across two platforms? That's someone's API integration problem.&lt;br&gt;
None of these identities are yours. They're access tokens that someone lends you.&lt;br&gt;
A keypair is different&lt;br&gt;
On Solana, your identity is a cryptographic keypair specifically, an Ed25519 keypair. That generates two things: a public key, which is your on-chain address and safe to share with anyone; and a private key, which you never share and which is the only proof of ownership the network recognizes.&lt;br&gt;
Your public key looks like this: 14grJpemFaf88c8tiVb77W7TYg2W3ir6pfkKz3YjhhZ5&lt;br&gt;
That's a 32-byte key encoded in Base58 a format chosen specifically to be human-readable. Base58 strips out visually ambiguous characters like 0 vs O and I vs l, so addresses can be read, copied, and verified without confusion. It's not a username someone assigned you. It's derived mathematically from your private key, and it exists independently of any company's database.&lt;br&gt;
There is no account to create. There is no service to register with. You generate the keypair, and you have an identity.&lt;br&gt;
What "ownership" actually means&lt;br&gt;
In Web2, "owning" your account means a company stored your credentials and decided to give you access. They can change that decision. On Solana, ownership means something more precise: only the holder of the private key can produce a valid signature for that address. Every transaction on the network is cryptographically signed. The network checks the math. If the signature is valid, the transaction goes through. There is no admin panel, no customer support escalation, no override.&lt;br&gt;
This is the tradeoff worth understanding clearly: you gain total control, and you take on total responsibility. Lose your private key or seed phrase and there is no recovery path. No one can help you. That's not a bug it's the same property that makes the ownership real.&lt;br&gt;
Identity as infrastructure&lt;br&gt;
Here's where it gets interesting for developers. In Web2, identity is mostly about authentication proving you're you so you can log in. On Solana, identity is the foundation for everything else.&lt;br&gt;
Because your keypair is universal across the network, it's the same identity you use to hold tokens, interact with programs, participate in governance votes, and build up on-chain reputation. When you connect your wallet to a Solana app, you're not creating a new account with that app. You're presenting the same cryptographic identity you use everywhere else, and the app reads what's already associated with it on-chain.&lt;br&gt;
No integrations needed. No OAuth handshakes. No, sign up with GitHub. Your identity is already there, and anyone building on the network can read it.&lt;br&gt;
The mental shift&lt;br&gt;
The shift from Web2 to on-chain identity is less about learning new technology and more about internalizing a different ownership model. You're used to identity being something a service grants you and can take away. On Solana, identity is something you generate, and it belongs to whoever controls the key.&lt;br&gt;
That's unsettling; at first there's no help desk. But it's also the thing that makes every application on the network composable by default. Your address is the same everywhere. Your assets follow you. No one can revoke access.&lt;br&gt;
It starts with a keypair. Everything else is built on top of that.&lt;/p&gt;

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

</description>
    </item>
  </channel>
</rss>
