<?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: Chus</title>
    <description>The latest articles on DEV Community by Chus (@chus).</description>
    <link>https://dev.to/chus</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%2F958727%2F1360ed61-853f-4976-be98-5573d0692985.jpg</url>
      <title>DEV Community: Chus</title>
      <link>https://dev.to/chus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chus"/>
    <language>en</language>
    <item>
      <title>100 Days of Solana — Days 1–4: Keys, Lamports, and My First Browser Wallet</title>
      <dc:creator>Chus</dc:creator>
      <pubDate>Mon, 27 Apr 2026 03:04:27 +0000</pubDate>
      <link>https://dev.to/chus/100-days-of-solana-days-1-4-keys-lamports-and-my-first-browser-wallet-3n8</link>
      <guid>https://dev.to/chus/100-days-of-solana-days-1-4-keys-lamports-and-my-first-browser-wallet-3n8</guid>
      <description>&lt;p&gt;I've been doing the #100DaysOfSolana challenge and I want to share what the first four days looked like — because the mental shift from Web2 to Web3 hit me harder and faster than I expected.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 1 — Generate a Keypair and Get Devnet SOL
&lt;/h2&gt;

&lt;p&gt;I generated my first Solana keypair using the CLI and airdropped free SOL to it on devnet.  There was no sign-up form. No email. No password. My entire identity on the network is just 64 bytes — a private key and the public key derived from it. That's it. The blockchain doesn't know who I am.&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%2F5xhywmrkz5xp0gedzv87.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%2F5xhywmrkz5xp0gedzv87.png" alt="solana-cli" width="800" height="836"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 2 — Create a Wallet and Check Its Balance Programmatically
&lt;/h2&gt;

&lt;p&gt;On this day, I wrote a TypeScript script that loads a saved keypair from disk and fetches its devnet SOL balance using @solana/kit.  The balance comes back in lamports, not SOL — and the RPC is just a plain JSON HTTP call. No special SDK magic required if you don't want it. It felt surprisingly close to calling a REST API.&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%2F4dp0b93va4h68rbkzrlx.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%2F4dp0b93va4h68rbkzrlx.png" alt="balance check" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 3 — Understand SOL and Lamports
&lt;/h2&gt;

&lt;p&gt;I dug into the unit system — 1 SOL = 1,000,000,000 lamports (like satoshis in Bitcoin or wei in Ethereum). Everything on Solana is paid and measured in lamports internally. Even rent for storing data on-chain is denominated in lamports. The precision exists so micro-transactions are practical without floating-point weirdness. &lt;/p&gt;

&lt;h2&gt;
  
  
  Day 4 — Connect a Browser Wallet
&lt;/h2&gt;

&lt;p&gt;I built a browser dapp (Vite + React + TypeScript) that detects installed Solana wallets, connects to Phantom with user approval, reads the connected address, and shows the live devnet balance — updated in real time via a WebSocket. The dapp detect any compatible wallet using browser-level interface. &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%2Ffuyb6nivxekwxmjiflew.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%2Ffuyb6nivxekwxmjiflew.png" alt="browser wallet" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Concept That Clicked for Me
&lt;/h2&gt;

&lt;p&gt;The whole cryptography model finally made sense across these four days.&lt;/p&gt;

&lt;p&gt;In Web2, your identity lives on someone else's server — a username-password pair that a company stores and controls. Lose access to their system, lose your account.&lt;/p&gt;

&lt;p&gt;In Solana (and Web3 broadly), your identity is a keypair you generate yourself. The private key never leaves your device. The public key is your address — it's what you share. When you "sign" something, you're using math (Ed25519) to prove you hold the private key without ever revealing it. The network verifies the signature against your public key. No server in between. No account recovery email.&lt;/p&gt;

&lt;p&gt;The dapp I built on Day 4 makes this tangible: it calls window.phantom.solana.connect(), Phantom pops up its own approval UI (fully sandboxed), and if you approve, it hands back only your public key. The dapp never sees your private key — not even for a millisecond. That's the guarantee cryptographic signing gives you.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;That shift — from trust the server to verify the math — is the real unlock of this whole ecosystem&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Things I'm curious about
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;how accounts actually store state on-chain beyond just a balance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;rent-exemption and why accounts need a minimum balance to exist.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;how transactions are structured and signed.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>blockchain</category>
      <category>typescript</category>
      <category>web3</category>
    </item>
    <item>
      <title>Identity on Solana: SSH Keys Concept</title>
      <dc:creator>Chus</dc:creator>
      <pubDate>Mon, 27 Apr 2026 00:50:52 +0000</pubDate>
      <link>https://dev.to/chus/identity-on-solana-ssh-keys-concept-3c46</link>
      <guid>https://dev.to/chus/identity-on-solana-ssh-keys-concept-3c46</guid>
      <description>&lt;p&gt;If you’ve ever run ssh-keygen to push code to GitHub or access a remote server, you already understand 90% of how identity works on Solana.&lt;/p&gt;

&lt;p&gt;In the Web2 world, "identity" is usually something a company lends to you. You have a row in a PostgreSQL database owned by Google or Meta. If they delete that row, your identity vanishes. In the Web3 world—specifically on Solana—identity is something you math into existence.&lt;/p&gt;

&lt;p&gt;Here is how we move from "Login with Google" to "Login with Cryptography."&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%2Fj9thspe3xal0olfmd39f.jpg" 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%2Fj9thspe3xal0olfmd39f.jpg" alt="cryptographically secured data" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Keypair: Your Global Passport
&lt;/h2&gt;

&lt;p&gt;In Web2, your identity is a Username + Password stored on a centralized server. On Solana, your identity is a Keypair.&lt;/p&gt;

&lt;p&gt;A keypair consists of two parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Public Key (Your Address)&lt;/strong&gt;: Think of this like your IBAN (International Bank Account Number) or your email address. You share this with the world so people know where to send SOL or tokens.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Private Key (Your Signature)&lt;/strong&gt;: This is your "password," but it’s never stored on a server. It stays on your machine (or in your wallet).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you "log in" to a Solana app, you aren't sending a password to be checked against a database. Instead, you are using your private key to digitally sign a piece of data. The network uses your public key to verify that signature. If the math checks out, you are who you say you are.&lt;/p&gt;

&lt;p&gt;N/B: We use a private key to sign transactions (such as sending crypto or messages), while the public key is used to verify those transactions and receive funds. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Accounts: The Folders of the Network
&lt;/h2&gt;

&lt;p&gt;On Solana, everything is an Account. If the Solana blockchain is a giant global operating system, accounts are the files.&lt;br&gt;
In Web2, a database might have a &lt;strong&gt;users&lt;/strong&gt; table with columns for &lt;strong&gt;balance&lt;/strong&gt;, &lt;strong&gt;username&lt;/strong&gt;, and &lt;strong&gt;profile_pic&lt;/strong&gt;. On Solana, your public key points to an account on the network that stores:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Lamports&lt;/strong&gt;: The smallest unit of SOL (named after Leslie Lamport). &lt;strong&gt;1 SOL = 1,000,000,000 lamports&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Owner&lt;/strong&gt;: The program (smart contract) that is allowed to change the account's data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data&lt;/strong&gt;: A buffer of bytes where information (like your token balances) is stored.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Ownership vs. Permission
&lt;/h2&gt;

&lt;p&gt;The biggest "click" moment for a Web2 developer is realizing there is no "Forgot Password" button.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;In Web2&lt;/strong&gt;: You own your account because a company grants you access. They can lock you out or reset your password.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;In Web3&lt;/strong&gt;: You own your account because you hold the private key. Because the network is decentralized, no one—not even the creators of Solana—can "admin" your account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;During my first week diving into Solana, I realized that managing these keys manually is risky. That’s where the "Wallet" comes in. Tools like Phantom (a browser wallet) act as a "Identity Proxy." They hold your private keys securely and provide a UI for you to "Sign" transactions when a web app requests it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Identity on Solana isn't a record in a company's database; it’s a cryptographic proof. It’s &lt;em&gt;&lt;strong&gt;self-custodied&lt;/strong&gt;&lt;/em&gt;, meaning you are the sole gatekeeper of your digital presence.&lt;/p&gt;

&lt;p&gt;If you're coming from a Web2 background, stop thinking about "Accounts" as entries in a table and start thinking about them as &lt;strong&gt;cryptographically secured files&lt;/strong&gt; that only you have the key to edit.&lt;/p&gt;

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