<?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: Shruti Sinha</title>
    <description>The latest articles on DEV Community by Shruti Sinha (@enigma06702).</description>
    <link>https://dev.to/enigma06702</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%2F3834015%2F0d519477-dd35-487c-a536-3e0e37944dbb.jpeg</url>
      <title>DEV Community: Shruti Sinha</title>
      <link>https://dev.to/enigma06702</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/enigma06702"/>
    <language>en</language>
    <item>
      <title>Understanding Solana's Account Model: A Web2 Developer's Guide</title>
      <dc:creator>Shruti Sinha</dc:creator>
      <pubDate>Sun, 17 May 2026 19:20:21 +0000</pubDate>
      <link>https://dev.to/enigma06702/understanding-solanas-account-model-a-web2-developers-guide-5foi</link>
      <guid>https://dev.to/enigma06702/understanding-solanas-account-model-a-web2-developers-guide-5foi</guid>
      <description>&lt;p&gt;&lt;strong&gt;Solana as a Giant Database&lt;/strong&gt;&lt;br&gt;
Think of Solana as a massive, globally distributed database where every piece of data lives in its own record called an account. Each account has a unique 32-byte address (like a primary key in a database) and contains five fields, similar to columns in a database table:&lt;/p&gt;

&lt;p&gt;• lamports: The account's SOL balance (think of this as a wallet balance field)&lt;br&gt;
• data: A byte array storing either code or state (like a BLOB field)&lt;br&gt;
• owner: Which program controls this account (like foreign key ownership)&lt;br&gt;
• executable: A flag marking whether this account contains runnable code&lt;br&gt;
• rent_epoch: When the account needs to maintain its minimum balance&lt;/p&gt;

&lt;p&gt;Solana's account model represents a fundamental departure from blockchain architectures like Ethereum. In Ethereum, "contract account" are separate from "externally owned account". Solana uses a single account model for everything: wallets, programs, data storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Programs vs. Data: Microservices Architecture&lt;/strong&gt;&lt;br&gt;
In traditional web2, you might have microservices that process data stored separately in databases. Solana works similarly:&lt;br&gt;
• Programs are like stateless microservices—they contain executable code but store no data themselves&lt;br&gt;
• Data accounts are like database records that programs read from and write to&lt;br&gt;
For example, when you use an SPL token (Solana's version of ERC-20), the token program is like a shared API service. Your token balances aren't stored in your main wallet—instead, you have separate "token account" records for each token type you own. One account for USDC, another for any other token. &lt;br&gt;
This is unlike Ethereum where smart contracts contain both code and state and is key to grasping why Solana achieves such high throughput.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ownership: Role-Based Access Control&lt;/strong&gt;&lt;br&gt;
Only an account's owner program can modify its data or decrease its balance. This is like role-based access control (RBAC) in traditional applications—only authorized services can write to specific database tables.&lt;br&gt;
Any program can add funds to any account (like anyone can send you money), but only the owner can modify the account's internal state.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Parallel Execution Advantage: Lock-Free Concurrency&lt;/strong&gt;&lt;br&gt;
Here's where Solana gets really interesting for performance. In web2, imagine a REST API where every request must explicitly declare which database tables and rows it will read or modify before execution.&lt;br&gt;
With this information upfront, your database could:&lt;br&gt;
• Execute requests that touch different records simultaneously (parallel execution)&lt;br&gt;
• Only serialize requests that conflict (touch the same records)&lt;br&gt;
That's exactly what Solana does. Every transaction declares its account dependencies upfront, allowing the runtime to schedule thousands of non-conflicting transactions in parallel—similar to how modern databases use optimistic concurrency control.&lt;br&gt;
In contrast, imagine a web2 system where every API request could potentially modify any part of a single giant JSON object (global state). You'd have to process every request sequentially to avoid race conditions. That's the bottleneck Solana avoids.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rent: Storage Cost Management&lt;/strong&gt;&lt;br&gt;
Initially, Solana charged "rent" for accounts to discourage state bloat—like cloud storage fees. Now, accounts must maintain a minimum balance to remain rent-exempt, similar to how some SaaS platforms require a minimum payment to keep your account active.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>solana</category>
      <category>web3</category>
      <category>learning</category>
    </item>
    <item>
      <title>Failed Transaction are real transactions.</title>
      <dc:creator>Shruti Sinha</dc:creator>
      <pubDate>Tue, 12 May 2026 08:03:20 +0000</pubDate>
      <link>https://dev.to/enigma06702/failed-transaction-are-real-transactions-5e94</link>
      <guid>https://dev.to/enigma06702/failed-transaction-are-real-transactions-5e94</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%2F4xfbo95o0n5pwzcn4nns.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%2F4xfbo95o0n5pwzcn4nns.png" alt=" " width="782" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the most surprising things I learned about blockchain transactions is this:&lt;br&gt;
Even failed transactions can cost money.&lt;br&gt;
At first, that felt unfair.&lt;br&gt;
In Web2, if an API request fails, you usually just get an error response. No extra consequence.&lt;br&gt;
But Web3 works differently.&lt;br&gt;
When I dug deeper, I realized the transaction fee is often charged because the validator already did work — especially signature verification and transaction processing steps. So even if the transaction later fails due to insufficient balance, bad program logic, or state conditions, the validator still spent computational resources.&lt;br&gt;
Validator did the work → validator gets paid.&lt;br&gt;
That changes how you think about system design.&lt;br&gt;
In Web2, error handling is mostly about user experience and reliability.&lt;br&gt;
In Web3, bad validation can literally cost users money.&lt;br&gt;
That’s why blockchain applications put heavy emphasis on:&lt;/p&gt;

&lt;p&gt;Pre-validation&lt;/p&gt;

&lt;p&gt;Transaction simulation&lt;/p&gt;

&lt;p&gt;Balance checks&lt;/p&gt;

&lt;p&gt;Account/state verification&lt;/p&gt;

&lt;p&gt;Estimating compute usage before submission&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;br&gt;
Catch failures before they reach the blockchain.&lt;br&gt;
The more I learn Web3, the more I realize that blockchain development isn’t just about writing code differently — it’s about designing systems where failure itself has an economic cost.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>web3</category>
      <category>blockchain</category>
      <category>learning</category>
    </item>
    <item>
      <title>Web3 Isn’t Replacing Web2 — It’s Rewriting One Layer of It</title>
      <dc:creator>Shruti Sinha</dc:creator>
      <pubDate>Sat, 02 May 2026 16:50:58 +0000</pubDate>
      <link>https://dev.to/enigma06702/web3-isnt-replacing-web2-its-rewriting-one-layer-of-it-2pco</link>
      <guid>https://dev.to/enigma06702/web3-isnt-replacing-web2-its-rewriting-one-layer-of-it-2pco</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%2Floqvw84rw3gt29h14i86.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%2Floqvw84rw3gt29h14i86.png" alt=" " width="800" height="38"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Look at the image above, the account address is not something I created but a token that can be accessed by everyone. What exactly is blockchain, I kept wondering and names like Web 3 only confuses and makes it look like it is something that will replace the web 2 infrastructure, but it is not so. What it actually is &lt;strong&gt;Database&lt;/strong&gt; and blockchain only aspires to replace the database layer of Web 2 infrastructure while the UI/UX remain like Web2 apps.&lt;/p&gt;

&lt;p&gt;But why to move from traditional database, well it is basically because the database is public and does not require any permissions. They do not require a centralized control or access rights.&lt;/p&gt;

&lt;p&gt;As far as I have explored its applications are mostly centered around payments, trading and financial primitive.&lt;/p&gt;

&lt;p&gt;I am open to be challenged about my understanding and at the same time really really looking to get more noise cleared around Web3.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>blockchain</category>
      <category>web3</category>
      <category>learning</category>
    </item>
    <item>
      <title>🔐 From Passwords to Private Keys: Understanding Solana Identity the Web2 Way</title>
      <dc:creator>Shruti Sinha</dc:creator>
      <pubDate>Tue, 28 Apr 2026 10:07:21 +0000</pubDate>
      <link>https://dev.to/enigma06702/from-passwords-to-private-keys-understanding-solana-identity-the-web2-way-32lg</link>
      <guid>https://dev.to/enigma06702/from-passwords-to-private-keys-understanding-solana-identity-the-web2-way-32lg</guid>
      <description>&lt;h2&gt;
  
  
  📦 Account = Your Database Record (Owned by You)
&lt;/h2&gt;

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

&lt;ul&gt;
&lt;li&gt;Your data lives in a database row (e.g., user profile, balance)&lt;/li&gt;
&lt;li&gt;The company owns and controls that database&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;An account is a fundamental unit for storing state on a blockchain network&lt;br&gt;
It can store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SOL balance&lt;/li&gt;
&lt;li&gt;Token balances&lt;/li&gt;
&lt;li&gt;App-specific data (like profile, game state, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Key shift:&lt;/p&gt;

&lt;p&gt;In Web2 → company owns your data&lt;br&gt;
In Solana → accounts are owned/controlled by programs or your key&lt;/p&gt;

&lt;h2&gt;
  
  
  🔑 Key Pair = Username + Password (but better)
&lt;/h2&gt;

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

&lt;p&gt;You log in with username + password&lt;br&gt;
The server verifies your credentials&lt;/p&gt;

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

&lt;p&gt;A key pair =&lt;br&gt;
Public key → like your username (you can share it)&lt;br&gt;
Private key → like your password (must stay secret)&lt;/p&gt;

&lt;p&gt;But here’s the key difference:&lt;/p&gt;

&lt;p&gt;In Web2, the server stores and verifies your password&lt;br&gt;
In Solana, no server exists → you prove ownership by signing messages with your private key&lt;/p&gt;

&lt;p&gt;👉 Think of it as:&lt;/p&gt;

&lt;p&gt;Instead of sending your password, you prove you know it without revealing it&lt;/p&gt;

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