<?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: Jay Gurav</title>
    <description>The latest articles on DEV Community by Jay Gurav (@jay_gurav_88c6986f4a9e5d7).</description>
    <link>https://dev.to/jay_gurav_88c6986f4a9e5d7</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%2F1711422%2Fa22b85b4-56bf-4ffd-9e05-f78d35858e75.jpg</url>
      <title>DEV Community: Jay Gurav</title>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jay_gurav_88c6986f4a9e5d7"/>
    <language>en</language>
    <item>
      <title>What I Learned About Token Design on Solana as a Web2 Developer</title>
      <dc:creator>Jay Gurav</dc:creator>
      <pubDate>Sun, 24 May 2026 16:27:13 +0000</pubDate>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7/what-i-learned-about-token-design-on-solana-as-a-web2-developer-1j5b</link>
      <guid>https://dev.to/jay_gurav_88c6986f4a9e5d7/what-i-learned-about-token-design-on-solana-as-a-web2-developer-1j5b</guid>
      <description>&lt;p&gt;*&lt;em&gt;From Minting Tokens to Building Soulbound Credentials on Solana&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Coming from a traditional Web2 development background, I always thought digital assets were just database entries controlled by backend APIs. But after spending several days building on Solana, I realized blockchain changes the entire approach to ownership, permissions, and trust.&lt;/p&gt;

&lt;p&gt;Over the past few days, I explored token creation, metadata, transfer fees, and even non-transferable (soulbound) tokens using Solana’s Token Extensions Program. In this post, I’ll share what I built, what surprised me, and why Solana’s token ecosystem feels much more powerful than I initially expected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌍 My Starting Point&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before this journey, my experience was mostly focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML/CSS/JavaScript&lt;/li&gt;
&lt;li&gt;PHP &amp;amp; MySQL&lt;/li&gt;
&lt;li&gt;Python scripting&lt;/li&gt;
&lt;li&gt;Cybersecurity projects&lt;/li&gt;
&lt;li&gt;Web2 application development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I had heard terms like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SPL Tokens&lt;/li&gt;
&lt;li&gt;Token Metadata&lt;/li&gt;
&lt;li&gt;Soulbound Tokens&lt;/li&gt;
&lt;li&gt;Token Extensions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…but I never truly understood how they worked internally.&lt;/p&gt;

&lt;p&gt;My goal was simple:&lt;/p&gt;

&lt;p&gt;Learn how tokens actually work on-chain by building them myself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚡ Why Solana Token Extensions Matter&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the biggest things I learned is that Solana now supports advanced token functionality directly at the protocol level using the Token Extensions Program.&lt;/p&gt;

&lt;p&gt;Instead of relying only on application logic, features can now be enforced directly on-chain.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;p&gt;✅ Transfer fees&lt;br&gt;
✅ Permanent delegates&lt;br&gt;
✅ Metadata&lt;br&gt;
✅ Non-transferability&lt;br&gt;
✅ Interest-bearing tokens&lt;/p&gt;

&lt;p&gt;…can all exist natively inside the token itself.&lt;/p&gt;

&lt;p&gt;This felt very different from Web2 systems where rules are usually enforced by backend servers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🪙 Creating My First Token&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first thing I did was create a token mint on Solana.&lt;/p&gt;

&lt;p&gt;I installed the Solana CLI and SPL Token CLI tools and connected to Devnet.&lt;/p&gt;

&lt;p&gt;solana config set --url devnet&lt;/p&gt;

&lt;p&gt;Then I created my wallet:&lt;/p&gt;

&lt;p&gt;solana-keygen new&lt;/p&gt;

&lt;p&gt;Airdropped SOL for testing:&lt;/p&gt;

&lt;p&gt;solana airdrop 2&lt;/p&gt;

&lt;p&gt;And finally created a token:&lt;/p&gt;

&lt;p&gt;spl-token create-token&lt;/p&gt;

&lt;p&gt;After that, I created an associated token account:&lt;/p&gt;

&lt;p&gt;spl-token create-account &lt;/p&gt;

&lt;p&gt;Then minted tokens:&lt;/p&gt;

&lt;p&gt;spl-token mint  1000&lt;/p&gt;

&lt;p&gt;Seeing my own token exist on-chain for the first time was honestly exciting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📝 Adding Metadata to the Token&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A token without metadata is difficult to recognize.&lt;/p&gt;

&lt;p&gt;So I learned how metadata works using Metaplex standards.&lt;/p&gt;

&lt;p&gt;I added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Token Name&lt;/li&gt;
&lt;li&gt;Symbol&lt;/li&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Image URI
This made the token display properly inside wallets and explorers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example metadata:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "name": "JayToken",&lt;br&gt;
  "symbol": "JAY",&lt;br&gt;
  "description": "My first Solana token",&lt;br&gt;
  "image": "&lt;a href="https://example.com/token.png" rel="noopener noreferrer"&gt;https://example.com/token.png&lt;/a&gt;"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;This helped me understand how wallets identify and display assets visually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💰 Exploring Transfer Fees&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This was one of the most interesting parts.&lt;/p&gt;

&lt;p&gt;Using Token Extensions, I created tokens that automatically charge fees during transfers.&lt;/p&gt;

&lt;p&gt;In Web2, this would require backend logic.&lt;/p&gt;

&lt;p&gt;But on Solana, the blockchain itself enforces the rule.&lt;/p&gt;

&lt;p&gt;That means nobody can bypass it.&lt;/p&gt;

&lt;p&gt;Example concept:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User sends 100 tokens&lt;/li&gt;
&lt;li&gt;Receiver gets 98&lt;/li&gt;
&lt;li&gt;2 tokens become fees&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This opened my mind to how DeFi systems automate economics directly in protocol design.&lt;br&gt;
**&lt;br&gt;
🔒 Soulbound (Non-Transferable) Tokens&lt;br&gt;
**&lt;br&gt;
The most fascinating concept I explored was non-transferable tokens.&lt;/p&gt;

&lt;p&gt;These are tokens that:&lt;/p&gt;

&lt;p&gt;✅ Can be received&lt;br&gt;
❌ Cannot be transferred&lt;/p&gt;

&lt;p&gt;They work perfectly for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Academic certificates&lt;/li&gt;
&lt;li&gt;Digital IDs&lt;/li&gt;
&lt;li&gt;Event participation badges&lt;/li&gt;
&lt;li&gt;Skill verification&lt;/li&gt;
&lt;li&gt;DAO reputation systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This instantly reminded me of real-world credential systems.&lt;/p&gt;

&lt;p&gt;Imagine universities issuing permanent blockchain-based certificates that cannot be sold or transferred.&lt;/p&gt;

&lt;p&gt;That’s powerful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🤯 What Surprised Me the Most&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Blockchain Rules Are Enforced at the Lowest Level&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In Web2:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backend validates actions&lt;/li&gt;
&lt;li&gt;Users trust servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Solana:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The blockchain validates actions&lt;/li&gt;
&lt;li&gt;Rules are immutable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That difference completely changed how I think about application design.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Token Extensions Are Extremely Flexible&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I originally thought tokens were just balances.&lt;/p&gt;

&lt;p&gt;But Solana tokens can actually contain programmable behavior.&lt;/p&gt;

&lt;p&gt;That makes them more like smart financial objects rather than simple currencies.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Debugging Was Harder Than Expected&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Not everything worked perfectly.&lt;/p&gt;

&lt;p&gt;I faced issues like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Incorrect wallet configuration&lt;/li&gt;
&lt;li&gt;Devnet connection problems&lt;/li&gt;
&lt;li&gt;Missing token accounts&lt;/li&gt;
&lt;li&gt;Metadata upload errors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But solving those problems helped me understand the ecosystem much better.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📚 Key Things I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By the end of this journey, I learned:&lt;/p&gt;

&lt;p&gt;✅ How Solana wallets work&lt;br&gt;
✅ How token minting works&lt;br&gt;
✅ Difference between Token Program and Token Extensions&lt;br&gt;
✅ How metadata is attached&lt;br&gt;
✅ Why transfer fees matter&lt;br&gt;
✅ How soulbound tokens work&lt;br&gt;
✅ How blockchain enforces rules automatically&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔗 Helpful Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here are some resources that helped me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solana Docs&lt;/li&gt;
&lt;li&gt;SPL Token Documentation&lt;/li&gt;
&lt;li&gt;Token Extensions Guide&lt;/li&gt;
&lt;li&gt;Metaplex Documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🚀 What’s Next&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, I want to build:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DAO-based systems&lt;/li&gt;
&lt;li&gt;Decentralized identity platforms&lt;/li&gt;
&lt;li&gt;Web3 credential verification&lt;/li&gt;
&lt;li&gt;DeFi applications on Solana&lt;/li&gt;
&lt;li&gt;Full-stack dApps with wallet integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m also interested in combining blockchain with cybersecurity and authentication systems.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;🎯 Final Thoughts&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
This experience completely changed how I view digital ownership and application design.&lt;/p&gt;

&lt;p&gt;Building tokens on Solana taught me that blockchain is not just about cryptocurrency — it’s about programmable trust.&lt;/p&gt;

&lt;p&gt;As a developer coming from Web2, learning Solana felt challenging at first, but incredibly rewarding once the concepts started connecting together.&lt;/p&gt;

&lt;p&gt;If you’re a beginner thinking about exploring Web3 development, my advice is simple:&lt;/p&gt;

&lt;p&gt;Start building. The best way to understand blockchain is by creating something on-chain yourself.&lt;/p&gt;

&lt;h1&gt;
  
  
  100DaysOfSolana #solana #blockchain #webdev
&lt;/h1&gt;

</description>
      <category>blockchain</category>
      <category>devjournal</category>
      <category>learning</category>
      <category>web3</category>
    </item>
    <item>
      <title>Day 28 of #100DaysOfSolana 🚀</title>
      <dc:creator>Jay Gurav</dc:creator>
      <pubDate>Mon, 18 May 2026 13:32:54 +0000</pubDate>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7/day-28-of-100daysofsolana-499l</link>
      <guid>https://dev.to/jay_gurav_88c6986f4a9e5d7/day-28-of-100daysofsolana-499l</guid>
      <description>&lt;h1&gt;
  
  
  Exploring Solana Devnet Transactions Using Solana Explorer
&lt;/h1&gt;

&lt;p&gt;As part of my #100DaysOfSolana journey, today I explored Solana block explorers and inspected my own Devnet wallet activity using Solana Explorer.&lt;/p&gt;

&lt;p&gt;I analyzed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wallet balances&lt;/li&gt;
&lt;li&gt;Transaction history&lt;/li&gt;
&lt;li&gt;System Program transfers&lt;/li&gt;
&lt;li&gt;On-chain account details&lt;/li&gt;
&lt;li&gt;Instruction-level transaction data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing I found really interesting was how Solana Explorer exposes detailed transaction information such as program invocations, execution results, and instruction logs. It feels very similar to using browser DevTools, but for blockchain debugging.&lt;/p&gt;

&lt;p&gt;The transparency of on-chain data makes it much easier to understand how Solana accounts and transactions work internally.&lt;/p&gt;

&lt;p&gt;Explorer Used:&lt;br&gt;
Solana Explorer&lt;/p&gt;

&lt;p&gt;Wallet Address:&lt;br&gt;
Fd2gNkVgTRsfHRWWviq3hPApTDMHtYHhMfzSLX99P8N2&lt;/p&gt;

&lt;h1&gt;
  
  
  Solana #Web3 #Blockchain #Devnet #100DaysOfSolana
&lt;/h1&gt;

</description>
      <category>blockchain</category>
      <category>devjournal</category>
      <category>learning</category>
      <category>web3</category>
    </item>
    <item>
      <title>Understanding Solana’s Account Model: A Beginner-Friendly Guide for Web2 Developers</title>
      <dc:creator>Jay Gurav</dc:creator>
      <pubDate>Sun, 17 May 2026 12:13:53 +0000</pubDate>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7/understanding-solanas-account-model-a-beginner-friendly-guide-for-web2-developers-4l9b</link>
      <guid>https://dev.to/jay_gurav_88c6986f4a9e5d7/understanding-solanas-account-model-a-beginner-friendly-guide-for-web2-developers-4l9b</guid>
      <description>&lt;p&gt;If you’re coming from a Web2 development background, Solana’s account model can feel confusing at first.&lt;/p&gt;

&lt;p&gt;When most developers hear the term “blockchain account,” they usually think about wallets holding cryptocurrency. But in Solana, accounts are much more than wallets.&lt;/p&gt;

&lt;p&gt;On Solana, everything is an account.&lt;/p&gt;

&lt;p&gt;Wallets are accounts.&lt;br&gt;
Programs are accounts.&lt;br&gt;
NFT metadata is stored in accounts.&lt;br&gt;
Token balances are stored in accounts.&lt;/p&gt;

&lt;p&gt;At first this sounds strange, but once you understand the account model, the entire Solana ecosystem starts making sense.&lt;/p&gt;

&lt;p&gt;In this article, I’ll explain Solana’s account model in simple terms using Web2 analogies so that even if you’ve never touched blockchain before, you’ll understand the fundamentals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Makes Solana Different?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many developers first learn blockchain through Ethereum.&lt;/p&gt;

&lt;p&gt;Ethereum separates:&lt;/p&gt;

&lt;p&gt;Externally Owned Accounts (EOAs)&lt;br&gt;
Smart Contract Accounts&lt;/p&gt;

&lt;p&gt;Solana takes a different approach.&lt;/p&gt;

&lt;p&gt;Instead of multiple account types, Solana uses a single unified account model.&lt;/p&gt;

&lt;p&gt;Everything lives inside accounts stored in a massive distributed key-value database.&lt;/p&gt;

&lt;p&gt;Think of it like this:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Key&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Public Address&lt;/td&gt;
&lt;td&gt;Account Data&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each account has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a unique address&lt;/li&gt;
&lt;li&gt;stored data&lt;/li&gt;
&lt;li&gt;ownership rules&lt;/li&gt;
&lt;li&gt;permissions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This design is one of the reasons Solana is fast and scalable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Simple Web2 Analogy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The easiest way to understand Solana accounts is to compare them to a filesystem.&lt;/p&gt;

&lt;p&gt;Think about your operating system.&lt;/p&gt;

&lt;p&gt;You have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;executable files&lt;/li&gt;
&lt;li&gt;documents&lt;/li&gt;
&lt;li&gt;folders&lt;/li&gt;
&lt;li&gt;permissions&lt;/li&gt;
&lt;li&gt;ownership metadata&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Solana works similarly.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Web2 Filesystem&lt;/th&gt;
&lt;th&gt;Solana&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;File&lt;/td&gt;
&lt;td&gt;Account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Executable Program&lt;/td&gt;
&lt;td&gt;Program Account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database/Data File&lt;/td&gt;
&lt;td&gt;Data Account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operating System Kernel&lt;/td&gt;
&lt;td&gt;System Program&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Programs read and modify data accounts just like backend applications interact with databases.&lt;/p&gt;

&lt;p&gt;This analogy helps explain one of Solana’s most important ideas:&lt;/p&gt;

&lt;p&gt;Programs do not store their own state.&lt;/p&gt;

&lt;p&gt;We’ll come back to that shortly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Structure of Every Solana Account&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every Solana account contains the same five fields.&lt;br&gt;
These fields define how the account behaves.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Lamports&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lamports are the smallest unit of SOL.&lt;/p&gt;

&lt;p&gt;1 SOL=1,000,000,000 lamports&lt;/p&gt;

&lt;p&gt;Just like:&lt;/p&gt;

&lt;p&gt;1 dollar = 100 cents&lt;br&gt;
1 bitcoin = 100 million satoshis&lt;/p&gt;

&lt;p&gt;Solana uses lamports for precision.&lt;/p&gt;

&lt;p&gt;The lamports field stores the account balance.&lt;/p&gt;

&lt;p&gt;Lamports are used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;paying transaction fees&lt;/li&gt;
&lt;li&gt;transferring SOL&lt;/li&gt;
&lt;li&gt;maintaining rent exemption&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;2. Data&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
The data field stores arbitrary bytes.&lt;/p&gt;

&lt;p&gt;This is where applications store information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;token balances&lt;/li&gt;
&lt;li&gt;NFT metadata&lt;/li&gt;
&lt;li&gt;DeFi protocol state&lt;/li&gt;
&lt;li&gt;user profiles&lt;/li&gt;
&lt;li&gt;staking information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Programs read and write this data during execution.&lt;/p&gt;

&lt;p&gt;Unlike traditional databases, the data is stored directly on-chain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Owner&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The owner field is extremely important in Solana.&lt;/p&gt;

&lt;p&gt;It specifies which program controls the account.&lt;/p&gt;

&lt;p&gt;Only the owner program can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;modify the account’s data&lt;/li&gt;
&lt;li&gt;debit lamports from the account&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates a strong security model.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;token accounts are owned by the Token Program&lt;/li&gt;
&lt;li&gt;system wallets are owned by the System Program&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ownership ensures programs cannot randomly modify accounts they do not control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Executable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a simple boolean flag.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;true → the account contains executable program code&lt;/li&gt;
&lt;li&gt;false → the account stores regular data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Program accounts are basically Solana smart contracts.&lt;br&gt;
Most accounts on Solana are non-executable data accounts.&lt;br&gt;
**&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Rent Epoch**&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Historically, Solana charged rent for storing data on-chain.&lt;/p&gt;

&lt;p&gt;The rent_epoch field tracked rent collection.&lt;/p&gt;

&lt;p&gt;Today this field is deprecated and usually set to the maximum value.&lt;/p&gt;

&lt;p&gt;Most developers ignore it now, but it still exists in the account structure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Programs Don’t Store Their Own State&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the concept that surprises most Web2 developers.&lt;/p&gt;

&lt;p&gt;In Ethereum:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;contracts store logic and state together&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Solana:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;programs are stateless&lt;/li&gt;
&lt;li&gt;data lives in separate accounts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think about a traditional backend application.&lt;/p&gt;

&lt;p&gt;Your:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;backend server contains logic&lt;/li&gt;
&lt;li&gt;database stores data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s exactly how Solana works.&lt;br&gt;
| Web2 Backend | Solana        |&lt;br&gt;
| ------------ | ------------- |&lt;br&gt;
| API Server   | Program       |&lt;br&gt;
| Database     | Data Accounts |&lt;/p&gt;

&lt;p&gt;Programs process instructions and update external accounts rather than storing everything internally.&lt;/p&gt;

&lt;p&gt;This separation allows Solana to process transactions in parallel, which greatly improves scalability and performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Solana Separates Programs and Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This architecture provides several advantages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parallel Processing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because accounts are separate, Solana can process multiple transactions simultaneously if they touch different accounts.&lt;br&gt;
This is a major reason why Solana achieves high throughput.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Better Security&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ownership rules prevent unauthorized modification of accounts.&lt;br&gt;
Programs can only modify accounts they own.&lt;br&gt;
This creates very clear security boundaries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flexibility&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Programs can interact with many independent data accounts.&lt;br&gt;
This makes Solana applications modular and efficient.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ownership Rules Explained&lt;/strong&gt;&lt;br&gt;
Solana’s ownership model is simple but powerful.&lt;br&gt;
&lt;strong&gt;Rule 1:&lt;/strong&gt;&lt;br&gt;
Only the owner program can modify account data.&lt;br&gt;
&lt;strong&gt;Rule 2:&lt;/strong&gt;&lt;br&gt;
Only the owner program can debit lamports.&lt;br&gt;
&lt;strong&gt;Rule 3:&lt;/strong&gt;&lt;br&gt;
Anyone can send lamports to any writable account.&lt;br&gt;
These rules help maintain security and predictable behavior across the network.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Rent Exemption&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Since storing data on-chain consumes validator resources, Solana requires accounts to maintain a minimum balance.&lt;/p&gt;

&lt;p&gt;This is called being rent exempt.&lt;/p&gt;

&lt;p&gt;The required amount depends on the account’s data size.&lt;/p&gt;

&lt;p&gt;For small accounts, it is approximately:&lt;/p&gt;

&lt;p&gt;≈0.00089 SOL&lt;/p&gt;

&lt;p&gt;You can calculate exact rent-exempt balances using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;solana rent&lt;/li&gt;
&lt;li&gt;getMinimumBalanceForRentExemption
If an account does not maintain sufficient balance, it may eventually be removed from the network.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This mechanism prevents blockchain storage spam.&lt;/p&gt;

&lt;p&gt;Example: Viewing an Account in Solana CLI&lt;/p&gt;

&lt;p&gt;You can inspect accounts directly using the Solana CLI.&lt;/p&gt;

&lt;p&gt;solana account &lt;/p&gt;

&lt;p&gt;Example output:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "lamports": 2039280,&lt;br&gt;
  "owner": "11111111111111111111111111111111",&lt;br&gt;
  "executable": false,&lt;br&gt;
  "data": [],&lt;br&gt;
  "rentEpoch": 18446744073709551615&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Let’s break this down:&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;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;lamports&lt;/td&gt;
&lt;td&gt;Account balance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;owner&lt;/td&gt;
&lt;td&gt;Controlling program&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;executable&lt;/td&gt;
&lt;td&gt;Whether it’s a program&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;data&lt;/td&gt;
&lt;td&gt;Stored bytes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rentEpoch&lt;/td&gt;
&lt;td&gt;Deprecated rent field&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This single structure powers nearly everything on Solana.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-World Examples of Accounts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here are some examples of accounts you interact with daily on Solana.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Account Type&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Wallet Account&lt;/td&gt;
&lt;td&gt;Holds SOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Token Account&lt;/td&gt;
&lt;td&gt;Stores SPL tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NFT Metadata Account&lt;/td&gt;
&lt;td&gt;Stores NFT information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Program Account&lt;/td&gt;
&lt;td&gt;Stores executable smart contract code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PDA (Program Derived Address)&lt;/td&gt;
&lt;td&gt;Stores program-controlled state&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Everything eventually comes back to accounts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Understanding Accounts Matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The account model is the foundation of the Solana ecosystem.&lt;/p&gt;

&lt;p&gt;Whether you’re building:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DeFi applications&lt;/li&gt;
&lt;li&gt;NFT marketplaces&lt;/li&gt;
&lt;li&gt;DAOs&lt;/li&gt;
&lt;li&gt;blockchain games&lt;/li&gt;
&lt;li&gt;staking protocols&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;you’ll constantly work with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;accounts&lt;/li&gt;
&lt;li&gt;ownership&lt;/li&gt;
&lt;li&gt;stored data&lt;/li&gt;
&lt;li&gt;permissions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understanding accounts is essential for becoming a Solana developer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At first, Solana’s architecture can feel unfamiliar, especially if you come from Web2 or Ethereum development.&lt;/p&gt;

&lt;p&gt;But once you stop thinking about Solana as “just another blockchain” and start thinking about it like a distributed operating system, the design becomes much easier to understand.&lt;/p&gt;

&lt;p&gt;Programs act like backend services.&lt;br&gt;
Accounts act like files or databases.&lt;br&gt;
Ownership rules act like permissions.&lt;/p&gt;

&lt;p&gt;And together, they create one of the fastest blockchain architectures in the industry.&lt;/p&gt;

&lt;p&gt;Learning the account model is the first major step toward understanding how Solana really works.&lt;/p&gt;

&lt;h1&gt;
  
  
  solana#100DaysOfSolana#web3
&lt;/h1&gt;

</description>
      <category>beginners</category>
      <category>blockchain</category>
      <category>tutorial</category>
      <category>web3</category>
    </item>
    <item>
      <title>🚀 Day 10 of #100DaysOfSolana</title>
      <dc:creator>Jay Gurav</dc:creator>
      <pubDate>Mon, 11 May 2026 16:08:30 +0000</pubDate>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7/day-10-of-100daysofsolana-1j5h</link>
      <guid>https://dev.to/jay_gurav_88c6986f4a9e5d7/day-10-of-100daysofsolana-1j5h</guid>
      <description>&lt;p&gt;Built a CLI-based Solana Transfer Tool using Node.js and @solana/web3.js that sends SOL transactions directly on Solana Devnet.&lt;/p&gt;

&lt;p&gt;⚡ What the tool does:&lt;br&gt;
• Accepts recipient wallet + amount as command-line arguments&lt;br&gt;
• Connects to Solana Devnet&lt;br&gt;
• Signs transactions using a wallet keypair&lt;br&gt;
• Confirms and returns a live transaction signature&lt;/p&gt;

&lt;p&gt;One of the biggest things I learned while building this project was how Solana transactions are structured internally — especially recent blockhashes, fee handling, and transaction signing using cryptographic keypairs.&lt;/p&gt;

&lt;p&gt;🖥️ Demo Screenshot:&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%2Fvplwp6jp362iuacoqrjd.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%2Fvplwp6jp362iuacoqrjd.png" alt=" " width="800" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 Verified Devnet Transaction:&lt;br&gt;
&lt;a href="https://explorer.solana.com/tx/55LmbhsqTsM6anvDGnAHYdbgMzcnrsWZt7Gg5XvjhqKEbsVJazbJuiFbYcqhsyKtGK4Z2k2oJZgajo6t4mZHBDrm?cluster=devnet" rel="noopener noreferrer"&gt;https://explorer.solana.com/tx/55LmbhsqTsM6anvDGnAHYdbgMzcnrsWZt7Gg5XvjhqKEbsVJazbJuiFbYcqhsyKtGK4Z2k2oJZgajo6t4mZHBDrm?cluster=devnet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Really enjoying the journey of learning Solana development and building real blockchain tools in public 🔥&lt;/p&gt;

&lt;h1&gt;
  
  
  Solana #Web3 #Blockchain #NodeJS #Crypto #Developer #BuildInPublic #100DaysOfSolana
&lt;/h1&gt;

</description>
      <category>blockchain</category>
      <category>cli</category>
      <category>showdev</category>
      <category>web3</category>
    </item>
    <item>
      <title>Solana Transactions Explained for Backend Developers</title>
      <dc:creator>Jay Gurav</dc:creator>
      <pubDate>Sat, 09 May 2026 14:05:23 +0000</pubDate>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7/solana-transactions-explained-for-backend-developers-20f9</link>
      <guid>https://dev.to/jay_gurav_88c6986f4a9e5d7/solana-transactions-explained-for-backend-developers-20f9</guid>
      <description>&lt;p&gt;When I first started learning Solana, transactions felt very different from the request/response flow I was used to in Web2 development.&lt;/p&gt;

&lt;p&gt;In a traditional backend app, you send an HTTP request, the server processes it, and you get a response. Simple.&lt;/p&gt;

&lt;p&gt;But on Solana, a transaction is more like a cryptographically signed database operation that gets broadcast to a distributed network of validators, executed atomically, voted on by consensus, and eventually finalized permanently on-chain.&lt;/p&gt;

&lt;p&gt;Over the last few days, I built a CLI transfer tool, tracked transaction confirmations in real time, and even intentionally created failed transactions to understand how Solana handles errors.&lt;/p&gt;

&lt;p&gt;This post explains the mental model shift that finally made Solana transactions click for me.&lt;/p&gt;

&lt;p&gt;The Anatomy of a Solana Transaction&lt;/p&gt;

&lt;p&gt;A Solana transaction contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instructions&lt;/li&gt;
&lt;li&gt;Accounts&lt;/li&gt;
&lt;li&gt;Signatures&lt;/li&gt;
&lt;li&gt;A recent blockhash&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first glance, this looks similar to an API request body, but there’s a major difference:&lt;/p&gt;

&lt;p&gt;The transaction itself is signed cryptographically before it ever reaches the network.&lt;/p&gt;

&lt;p&gt;Here’s part of the transfer tool I built:&lt;/p&gt;

&lt;p&gt;const transactionMessage = pipe(&lt;br&gt;
    createTransactionMessage({ version: 0 }),&lt;br&gt;
    (tx) =&amp;gt; setTransactionMessageFeePayerSigner(sender, tx),&lt;br&gt;
    (tx) =&amp;gt;&lt;br&gt;
        setTransactionMessageLifetimeUsingBlockhash(&lt;br&gt;
            latestBlockhash,&lt;br&gt;
            tx&lt;br&gt;
        ),&lt;br&gt;
    (tx) =&amp;gt;&lt;br&gt;
        appendTransactionMessageInstruction(&lt;br&gt;
            getTransferSolInstruction({&lt;br&gt;
                source: sender,&lt;br&gt;
                destination: recipientAddress,&lt;br&gt;
                amount: transferLamports,&lt;br&gt;
            }),&lt;br&gt;
            tx&lt;br&gt;
        )&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;This transaction defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;who pays the fee&lt;/li&gt;
&lt;li&gt;which accounts are involved&lt;/li&gt;
&lt;li&gt;what instruction should execute&lt;/li&gt;
&lt;li&gt;which recent blockhash makes the transaction valid&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why the Recent Blockhash Exists&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One thing that surprised me was that Solana transactions expire.&lt;/p&gt;

&lt;p&gt;In Web2, if a request gets delayed, the server can still process it later.&lt;/p&gt;

&lt;p&gt;On Solana, transactions include a recent blockhash that acts like a time window. If the network doesn’t process the transaction quickly enough, it expires automatically.&lt;/p&gt;

&lt;p&gt;This prevents replay attacks and keeps the network efficient.&lt;/p&gt;

&lt;p&gt;The validity window is usually around 60–90 seconds.&lt;/p&gt;

&lt;p&gt;That means Solana transactions are not just signed requests — they are time-sensitive signed requests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tracking Confirmation Levels&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Initially, my transfer tool used a helper that handled everything automatically.&lt;/p&gt;

&lt;p&gt;But I later replaced it with manual transaction tracking so I could see the transaction move through Solana’s commitment levels:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Processed&lt;/li&gt;
&lt;li&gt;Confirmed&lt;/li&gt;
&lt;li&gt;Finalized&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I added live terminal updates like this:&lt;/p&gt;

&lt;p&gt;statusUpdate("📤 Sending transaction...");&lt;br&gt;
statusUpdate("🟡 Transaction processed...");&lt;br&gt;
statusUpdate("🟢 Transaction confirmed...");&lt;br&gt;
statusUpdate("✅ Transaction finalized!");&lt;/p&gt;

&lt;p&gt;This helped me understand how Solana consensus works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Processed&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A validator received and executed the transaction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Confirmed&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most validators agreed on the block containing the transaction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finalized&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Enough additional blocks were built afterward that the transaction became effectively irreversible.&lt;/p&gt;

&lt;p&gt;This is very different from a simple HTTP 200 OK response.&lt;/p&gt;

&lt;p&gt;Consensus happens in stages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Failed Transactions Taught Me the Most&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most useful exercise was intentionally breaking transactions.&lt;/p&gt;

&lt;p&gt;I created a script that skipped preflight checks and attempted to send an impossible amount of SOL.&lt;/p&gt;

&lt;p&gt;The transaction failed on-chain, but the network still charged fees.&lt;/p&gt;

&lt;p&gt;That was a huge learning moment.&lt;/p&gt;

&lt;p&gt;Using:&lt;/p&gt;

&lt;p&gt;solana confirm -v  --url devnet&lt;/p&gt;

&lt;p&gt;I could inspect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;error messages&lt;/li&gt;
&lt;li&gt;compute units consumed&lt;/li&gt;
&lt;li&gt;program logs&lt;/li&gt;
&lt;li&gt;fee deductions&lt;/li&gt;
&lt;li&gt;balance changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example failure:&lt;/p&gt;

&lt;p&gt;InstructionError: insufficient funds&lt;/p&gt;

&lt;p&gt;Even though the transfer failed, validators still spent compute resources processing it.&lt;/p&gt;

&lt;p&gt;That means failed transactions still cost money.&lt;/p&gt;

&lt;p&gt;In Web2, a failed request usually costs nothing extra.&lt;/p&gt;

&lt;p&gt;On Solana, every transaction consumes network resources.&lt;/p&gt;

&lt;p&gt;The Biggest Mental Shift&lt;/p&gt;

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

&lt;p&gt;A Solana transaction is not just a request.&lt;/p&gt;

&lt;p&gt;It’s an atomic state transition proposal signed by the user and executed by a decentralized runtime.&lt;/p&gt;

&lt;p&gt;That changes how you think about application architecture.&lt;/p&gt;

&lt;p&gt;In Web2:&lt;/p&gt;

&lt;p&gt;Client → Server → Database&lt;/p&gt;

&lt;p&gt;In Solana:&lt;/p&gt;

&lt;p&gt;Client → Validators → Consensus → State Change&lt;/p&gt;

&lt;p&gt;There’s no central server controlling execution.&lt;/p&gt;

&lt;p&gt;The network itself becomes the execution environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Learning Solana transactions forced me to think differently about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;state management&lt;/li&gt;
&lt;li&gt;trust&lt;/li&gt;
&lt;li&gt;signatures&lt;/li&gt;
&lt;li&gt;execution&lt;/li&gt;
&lt;li&gt;error handling&lt;/li&gt;
&lt;li&gt;distributed systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What helped me most was building things manually instead of relying entirely on abstractions.&lt;/p&gt;

&lt;p&gt;Once I started constructing transactions myself, tracking confirmations, and debugging failures, the system finally started making sense.&lt;/p&gt;

&lt;p&gt;If you’re learning Solana, I highly recommend intentionally breaking transactions and inspecting the logs. You’ll learn far more from failures than from successful transfers.&lt;/p&gt;

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

</description>
      <category>backend</category>
      <category>blockchain</category>
      <category>tutorial</category>
      <category>web3</category>
    </item>
    <item>
      <title># My Second Week in #100DaysOfSolana 🚀</title>
      <dc:creator>Jay Gurav</dc:creator>
      <pubDate>Sat, 02 May 2026 12:28:36 +0000</pubDate>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7/-my-second-week-in-100daysofsolana-2d1n</link>
      <guid>https://dev.to/jay_gurav_88c6986f4a9e5d7/-my-second-week-in-100daysofsolana-2d1n</guid>
      <description>&lt;p&gt;Over the past two weeks of the &lt;strong&gt;#100DaysOfSolana&lt;/strong&gt; challenge, I’ve gone from barely understanding how blockchain data works to actually interacting with on-chain accounts, reading balances, and building small applications using Solana’s SDK.&lt;/p&gt;

&lt;p&gt;One thing that surprised me the most was how different blockchain development feels compared to traditional backend development. Before starting, I imagined blockchain data as something complicated and hidden behind smart contracts. But after working with Solana, I realized that accounts on the blockchain are more like a giant public database that anyone can read from.&lt;/p&gt;

&lt;p&gt;The moment things really “clicked” for me was when I started fetching account information directly from the Solana network. Seeing lamports, wallet addresses, and transaction data in real time made the blockchain feel less abstract and more practical.&lt;/p&gt;

&lt;p&gt;For example, reading wallet balances using the Solana Web3.js SDK felt surprisingly simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;balance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;connection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getBalance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;publicKey&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;balance&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At first, RPC calls were confusing. I had trouble understanding how the client communicates with validators and how data is fetched from the network. But after experimenting with different RPC methods, I started understanding how decentralized applications interact with Solana behind the scenes.&lt;/p&gt;

&lt;p&gt;Another interesting thing was comparing blockchain accounts to traditional databases. In normal applications, we usually store data in MySQL or MongoDB and control access ourselves. On Solana, the data is public, distributed, and structured differently. That shift in thinking took some time to understand.&lt;/p&gt;

&lt;p&gt;I’m still confused about some advanced topics like account ownership, program-derived addresses (PDAs), and how smart contracts manage state efficiently. But that’s also what excites me the most. I want to learn more about building real decentralized applications and writing on-chain programs.&lt;/p&gt;

&lt;p&gt;So far, this journey has been challenging but really rewarding. Every day I learn something that changes the way I think about decentralized systems and Web3 development.&lt;/p&gt;

&lt;h1&gt;
  
  
  Solana #Web3 #Blockchain #100DaysOfSolana
&lt;/h1&gt;

</description>
      <category>beginners</category>
      <category>blockchain</category>
      <category>devjournal</category>
      <category>web3</category>
    </item>
    <item>
      <title>Week 1 of #100DaysOfSolana has been an amazing learning experience!</title>
      <dc:creator>Jay Gurav</dc:creator>
      <pubDate>Sun, 26 Apr 2026 17:46:52 +0000</pubDate>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7/week-1-of-100daysofsolana-has-been-an-amazing-learning-experience-126i</link>
      <guid>https://dev.to/jay_gurav_88c6986f4a9e5d7/week-1-of-100daysofsolana-has-been-an-amazing-learning-experience-126i</guid>
      <description>&lt;p&gt;This week I generated my first Solana CLI keypair, explored different wallet types, connected a browser wallet, and even built a small wallet connection app using Solana Labs tools and the Phantom wallet.&lt;/p&gt;

&lt;p&gt;One of the biggest mindset shifts coming from Web2 was realizing that on Solana, your identity is just a cryptographic keypair. No usernames, no passwords, no centralized account system — ownership is completely tied to your private key.&lt;/p&gt;

&lt;p&gt;I also experimented with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating and managing wallets using the Solana CLI&lt;/li&gt;
&lt;li&gt;Viewing balances in SOL and lamports&lt;/li&gt;
&lt;li&gt;Checking transaction history on devnet&lt;/li&gt;
&lt;li&gt;Connecting browser wallets to a frontend app&lt;/li&gt;
&lt;li&gt;Understanding the difference between CLI wallets, browser wallets, and mobile wallets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What surprised me the most was how simple yet powerful the wallet system is. A wallet is not really a “container” for tokens — it’s proof of ownership on the blockchain.&lt;/p&gt;

&lt;p&gt;Excited to keep building and learning more about smart contracts, dApps, and on-chain development in the coming days! 🔥&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%2Fs3lic3f3lzc8vq0sw7by.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%2Fs3lic3f3lzc8vq0sw7by.png" alt=" " width="800" height="527"&gt;&lt;/a&gt;&lt;/p&gt;

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

</description>
      <category>beginners</category>
      <category>blockchain</category>
      <category>devjournal</category>
      <category>web3</category>
    </item>
    <item>
      <title>From Usernames to Wallets: Understanding Identity on Solana for Web2 Developers</title>
      <dc:creator>Jay Gurav</dc:creator>
      <pubDate>Sun, 26 Apr 2026 17:38:17 +0000</pubDate>
      <link>https://dev.to/jay_gurav_88c6986f4a9e5d7/from-usernames-to-wallets-understanding-identity-on-solana-for-web2-developers-1nbo</link>
      <guid>https://dev.to/jay_gurav_88c6986f4a9e5d7/from-usernames-to-wallets-understanding-identity-on-solana-for-web2-developers-1nbo</guid>
      <description>&lt;p&gt;If you are a Web2 developer stepping into Web3, one of the biggest mindset shifts is understanding identity. In traditional applications, identity is controlled by platforms. In Solana and other blockchain ecosystems, identity is controlled by cryptography.&lt;/p&gt;

&lt;p&gt;At first, this idea sounded confusing to me. After spending time learning about wallets, keypairs, and Solana accounts, I realized that blockchain identity is actually very similar to tools developers already use every day — especially SSH authentication.&lt;/p&gt;

&lt;p&gt;In this blog, I’ll explain how identity works on Solana using concepts familiar to Web2 developers.&lt;/p&gt;

&lt;p&gt;How Identity Works in Web2&lt;/p&gt;

&lt;p&gt;In Web2 applications, identity usually depends on centralized systems.&lt;/p&gt;

&lt;p&gt;When you create an account on a website, you typically provide:&lt;/p&gt;

&lt;p&gt;A username&lt;br&gt;
An email address&lt;br&gt;
A password&lt;/p&gt;

&lt;p&gt;That information is stored inside the company’s database.&lt;/p&gt;

&lt;p&gt;Whenever you log in, the platform checks whether your credentials match the stored records. If they do, you gain access.&lt;/p&gt;

&lt;p&gt;This means your identity is controlled by the platform itself.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;GitHub controls your GitHub account&lt;br&gt;
Google controls your Gmail account&lt;br&gt;
Your bank controls your banking account&lt;/p&gt;

&lt;p&gt;If the company decides to suspend or delete your account, you can lose access instantly.&lt;/p&gt;

&lt;p&gt;Your identity is fragmented across different services, and each platform owns its own authentication system.&lt;/p&gt;

&lt;p&gt;Solana Takes a Different Approach&lt;/p&gt;

&lt;p&gt;On Solana, identity starts with something called a keypair.&lt;/p&gt;

&lt;p&gt;A keypair contains:&lt;/p&gt;

&lt;p&gt;A public key&lt;br&gt;
A private key&lt;/p&gt;

&lt;p&gt;The public key acts like your address or identity on the blockchain.&lt;/p&gt;

&lt;p&gt;The private key proves ownership of that identity.&lt;/p&gt;

&lt;p&gt;If you have ever used SSH keys, this concept becomes much easier to understand.&lt;/p&gt;

&lt;p&gt;With SSH:&lt;/p&gt;

&lt;p&gt;You generate a public/private keypair&lt;br&gt;
The server stores your public key&lt;br&gt;
Your private key proves that you are authorized to connect&lt;/p&gt;

&lt;p&gt;Solana works in a similar way, except instead of authenticating with one server, you authenticate with the entire blockchain network.&lt;/p&gt;

&lt;p&gt;Your wallet address is your identity everywhere on Solana.&lt;/p&gt;

&lt;p&gt;Example of a Solana public key:&lt;/p&gt;

&lt;p&gt;14grJpemFaf88c8tiVb77W7TYg2W3ir6pfkKz3YjhhZ5&lt;/p&gt;

&lt;p&gt;This is not just a username stored in a database. It is a cryptographic identity recognized across the network.&lt;/p&gt;

&lt;p&gt;Why Solana Uses Public Keys Instead of Usernames&lt;/p&gt;

&lt;p&gt;In Web2, usernames are controlled by companies.&lt;/p&gt;

&lt;p&gt;On Solana, your identity is mathematically tied to your cryptographic keys.&lt;/p&gt;

&lt;p&gt;Solana addresses are based on Ed25519 public keys and encoded using Base58 encoding.&lt;/p&gt;

&lt;p&gt;Base58 is used because it removes confusing characters like:&lt;/p&gt;

&lt;p&gt;0 (zero)&lt;br&gt;
O (capital O)&lt;br&gt;
I (capital i)&lt;br&gt;
l (lowercase L)&lt;/p&gt;

&lt;p&gt;This reduces mistakes when copying wallet addresses.&lt;/p&gt;

&lt;p&gt;Unlike usernames, public keys are globally usable across applications.&lt;/p&gt;

&lt;p&gt;One wallet can connect to many decentralized applications (dApps) without creating separate accounts for each one.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;p&gt;No repeated signups&lt;br&gt;
No password reuse&lt;br&gt;
No dependency on centralized authentication systems&lt;/p&gt;

&lt;p&gt;Your wallet becomes your universal identity.&lt;/p&gt;

&lt;p&gt;Ownership Without Permission&lt;/p&gt;

&lt;p&gt;One of the most powerful ideas in Solana is self-custodied ownership.&lt;/p&gt;

&lt;p&gt;In Web2, you only “own” your account because a company allows you to access it.&lt;/p&gt;

&lt;p&gt;On Solana, ownership depends entirely on the private key.&lt;/p&gt;

&lt;p&gt;If you control the private key, you control the account.&lt;/p&gt;

&lt;p&gt;No administrator can reset your password.&lt;/p&gt;

&lt;p&gt;No support team can recover your account.&lt;/p&gt;

&lt;p&gt;No company can freeze your identity without access to your keys.&lt;/p&gt;

&lt;p&gt;This creates true digital ownership, but it also creates responsibility.&lt;/p&gt;

&lt;p&gt;If you lose your private key or recovery phrase, you may permanently lose access to your assets.&lt;/p&gt;

&lt;p&gt;That is why wallets are extremely important in Web3.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;CLI wallets are useful for development and scripting&lt;br&gt;
Browser wallets like Phantom are convenient for daily dApp interactions&lt;br&gt;
Hardware wallets provide stronger security for storing valuable assets&lt;/p&gt;

&lt;p&gt;Each wallet type makes different tradeoffs between convenience and security.&lt;/p&gt;

&lt;p&gt;Identity Is More Than Logging In&lt;/p&gt;

&lt;p&gt;On Solana, identity is not only used for authentication.&lt;/p&gt;

&lt;p&gt;Your wallet identity connects to everything you do on-chain:&lt;/p&gt;

&lt;p&gt;Holding tokens&lt;br&gt;
Owning NFTs&lt;br&gt;
Voting in governance systems&lt;br&gt;
Interacting with smart contracts&lt;br&gt;
Building on-chain reputation&lt;/p&gt;

&lt;p&gt;Because this identity is shared across the ecosystem, applications can recognize your wallet without needing permission from each other.&lt;/p&gt;

&lt;p&gt;This is very different from Web2 platforms where identity systems are isolated and controlled separately.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;Learning about identity on Solana completely changed how I think about authentication and ownership online.&lt;/p&gt;

&lt;p&gt;In Web2, identity is platform-owned.&lt;/p&gt;

&lt;p&gt;In Solana, identity is cryptographically owned by the user.&lt;/p&gt;

&lt;p&gt;Your wallet is not just a storage tool for crypto assets. It is your authentication system, your proof of ownership, and your portable identity across the blockchain ecosystem.&lt;/p&gt;

&lt;p&gt;For developers entering Web3, understanding this concept is essential because it changes how applications are designed and how users interact with them.&lt;/p&gt;

&lt;p&gt;The biggest lesson I learned is this:&lt;/p&gt;

&lt;p&gt;In Web3, you do not rely on a company to prove who you are. Your cryptographic keys do that for you.&lt;/p&gt;

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

</description>
      <category>beginners</category>
      <category>blockchain</category>
      <category>web3</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
