<?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: Erick Carvajal</title>
    <description>The latest articles on DEV Community by Erick Carvajal (@neocarvajal).</description>
    <link>https://dev.to/neocarvajal</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%2F455550%2Fa7a1d7cb-d724-4526-aea1-de81c9f2ae04.png</url>
      <title>DEV Community: Erick Carvajal</title>
      <link>https://dev.to/neocarvajal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/neocarvajal"/>
    <language>en</language>
    <item>
      <title>Solana and How It Changed the Way I Think About Software</title>
      <dc:creator>Erick Carvajal</dc:creator>
      <pubDate>Fri, 29 May 2026 16:47:35 +0000</pubDate>
      <link>https://dev.to/neocarvajal/two-weeks-learning-solana-what-changed-in-the-way-i-think-about-software-57lo</link>
      <guid>https://dev.to/neocarvajal/two-weeks-learning-solana-what-changed-in-the-way-i-think-about-software-57lo</guid>
      <description>&lt;p&gt;For the past two weeks I’ve been diving deeper into Solana development as part of the &lt;strong&gt;#100DaysOfSolana&lt;/strong&gt; challenge.&lt;/p&gt;

&lt;p&gt;Even though I already had experience in software engineering and blockchain development, I realized very quickly that understanding Solana is not only about learning new tools or &lt;strong&gt;SDKs&lt;/strong&gt; — it’s about changing the way you think about applications, state, and ownership.&lt;/p&gt;

&lt;p&gt;What surprised me the most&lt;/p&gt;

&lt;p&gt;Coming from a traditional Web2 background, I expected blockchain data to feel similar to working with a distributed database.&lt;/p&gt;

&lt;p&gt;But Solana’s account model feels very different once you start interacting with it directly.&lt;/p&gt;

&lt;p&gt;At first, hearing “everything is an account” sounded simple.&lt;/p&gt;

&lt;p&gt;Then I started inspecting accounts through the &lt;strong&gt;CLI&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;&amp;gt; solana account $(solana address)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That was one of the first moments where things started to click.&lt;/p&gt;

&lt;p&gt;A wallet is not just an address. It is actual on-chain state:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;balance&lt;/li&gt;
&lt;li&gt;ownership&lt;/li&gt;
&lt;li&gt;permissions&lt;/li&gt;
&lt;li&gt;executable flags&lt;/li&gt;
&lt;li&gt;raw data storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And unlike traditional databases, every validator in the network maintains that state collectively.&lt;/p&gt;

&lt;p&gt;That changes your perspective completely.&lt;/p&gt;

&lt;p&gt;The “public database” idea finally became real&lt;/p&gt;

&lt;p&gt;One of the biggest mindset shifts for me was understanding that Solana is not trying to replace databases.&lt;/p&gt;

&lt;p&gt;Instead, it solves a different problem:&lt;br&gt;
how to coordinate state in a trustless environment where no single company owns the infrastructure.&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%2Fcfu1tu90nf2zgghk4p5j.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%2Fcfu1tu90nf2zgghk4p5j.png" alt=" " width="799" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;your backend owns the database&lt;/li&gt;
&lt;li&gt;your server controls access&lt;/li&gt;
&lt;li&gt;users trust your application&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;users own accounts&lt;/li&gt;
&lt;li&gt;programs define rules&lt;/li&gt;
&lt;li&gt;validators enforce execution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That distinction became much clearer after comparing traditional databases with Solana accounts side by side.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RPC&lt;/strong&gt; calls felt very different from &lt;strong&gt;APIs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Another interesting realization was how different reading blockchain data feels compared to traditional APIs.&lt;/p&gt;

&lt;p&gt;Normally in &lt;strong&gt;Web2&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you call an &lt;strong&gt;API&lt;/strong&gt; endpoint&lt;/li&gt;
&lt;li&gt;the backend queries a database&lt;/li&gt;
&lt;li&gt;the server returns processed data&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;you read raw account state through &lt;strong&gt;RPC&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;there are no &lt;strong&gt;SQL joins&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;no relational queries&lt;/li&gt;
&lt;li&gt;no backend magically assembling your data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You start understanding very quickly why indexing layers and infrastructure providers are so important in &lt;strong&gt;Web3&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The first time I used methods like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;&amp;gt; connection.getAccountInfo(publicKey)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I realized:&lt;br&gt;
this is much closer to reading low-level state than consuming a normal &lt;strong&gt;REST API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What still feels confusing&lt;/p&gt;

&lt;p&gt;One thing I’m still trying to better understand is how large-scale Solana applications organize and index massive amounts of account data efficiently.&lt;/p&gt;

&lt;p&gt;The account model makes sense conceptually, but designing scalable architectures around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PDAs&lt;/li&gt;
&lt;li&gt;indexing&lt;/li&gt;
&lt;li&gt;account relationships&lt;/li&gt;
&lt;li&gt;pagination&lt;/li&gt;
&lt;li&gt;caching&lt;/li&gt;
&lt;li&gt;transaction limits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;feels very different from designing traditional backend systems.&lt;/p&gt;

&lt;p&gt;I’m also interested in learning more about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sealevel parallel execution&lt;/li&gt;
&lt;li&gt;account compression&lt;/li&gt;
&lt;li&gt;advanced Anchor patterns&lt;/li&gt;
&lt;li&gt;Solana runtime internals&lt;/li&gt;
&lt;li&gt;validator architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These two weeks reinforced something important for me:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web2&lt;/strong&gt; knowledge still matters a lot in &lt;strong&gt;Web3&lt;/strong&gt;.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;data modeling&lt;/li&gt;
&lt;li&gt;architecture&lt;/li&gt;
&lt;li&gt;security&lt;/li&gt;
&lt;li&gt;scalability&lt;/li&gt;
&lt;li&gt;developer experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;all still apply.&lt;/p&gt;

&lt;p&gt;But Solana forces you to rethink where state lives, who owns it, and how applications interact with it.&lt;/p&gt;

&lt;p&gt;And honestly, that’s what makes learning it so interesting.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>solana</category>
      <category>blockchain</category>
      <category>web3</category>
    </item>
    <item>
      <title>Comparing Databases vs Solana Accounts ⚡</title>
      <dc:creator>Erick Carvajal</dc:creator>
      <pubDate>Fri, 29 May 2026 16:23:56 +0000</pubDate>
      <link>https://dev.to/neocarvajal/comparing-databases-vs-solana-accounts-2le7</link>
      <guid>https://dev.to/neocarvajal/comparing-databases-vs-solana-accounts-2le7</guid>
      <description>&lt;p&gt;As a developer coming from Web2 and traditional backend systems, one of the biggest mindset shifts while learning Solana is understanding the account model.&lt;/p&gt;

&lt;p&gt;At first, accounts sound simple:&lt;br&gt;
“everything is an account.”&lt;/p&gt;

&lt;p&gt;But after exploring it deeper, I realized Solana is not trying to replace databases; it’s solving a completely different problem: how to manage state in a decentralized environment where no single entity owns the system.&lt;/p&gt;

&lt;p&gt;Today I compared traditional databases with Solana accounts using the Solana CLI and Devnet.&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%2Ftap16mjh6q4r23audqn7.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%2Ftap16mjh6q4r23audqn7.png" alt=" " width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Traditional Database vs Solana Accounts
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;Traditional Database&lt;/th&gt;
&lt;th&gt;Solana Accounts&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Data location&lt;/td&gt;
&lt;td&gt;Rows in tables on a centralized server&lt;/td&gt;
&lt;td&gt;Accounts on a distributed ledger across validators&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Schema&lt;/td&gt;
&lt;td&gt;Defined by the database (SQL DDL, document schema)&lt;/td&gt;
&lt;td&gt;Defined by the owning program; stored as raw bytes in the account’s data field&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Access control&lt;/td&gt;
&lt;td&gt;Application-level auth (SQL roles, app middleware)&lt;/td&gt;
&lt;td&gt;Enforced by the runtime: only the owning program can modify an account, and only with the required signer(s)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost of storage&lt;/td&gt;
&lt;td&gt;Server/cloud hosting fees, pay for disk space&lt;/td&gt;
&lt;td&gt;Rent-exempt deposit proportional to data size; refundable when the account is closed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Identity/keys&lt;/td&gt;
&lt;td&gt;Auto-increment IDs, UUIDs&lt;/td&gt;
&lt;td&gt;32-byte public keys or Program Derived Addresses (PDAs)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reads&lt;/td&gt;
&lt;td&gt;SQL queries, document lookups&lt;/td&gt;
&lt;td&gt;RPC calls (&lt;code&gt;getAccountInfo&lt;/code&gt;, &lt;code&gt;getProgramAccounts&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Writes&lt;/td&gt;
&lt;td&gt;INSERT/UPDATE via application code&lt;/td&gt;
&lt;td&gt;Transactions with instructions, signed by authorized keys&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code vs data&lt;/td&gt;
&lt;td&gt;Application code and database are separate systems&lt;/td&gt;
&lt;td&gt;Both are accounts; programs and data accounts coexist in the same model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deletion&lt;/td&gt;
&lt;td&gt;DELETE query removes the row&lt;/td&gt;
&lt;td&gt;Close the account and recover lamports&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Visibility&lt;/td&gt;
&lt;td&gt;Private by default; controlled by the server owner&lt;/td&gt;
&lt;td&gt;Public by default; anyone can read account data&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  🔥 Biggest Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;In Solana, users own their accounts, not your application.&lt;/li&gt;
&lt;li&gt;Programs are stateless and receive accounts as inputs during execution.&lt;/li&gt;
&lt;li&gt;There are no SQL joins or server-side queries on-chain.&lt;/li&gt;
&lt;li&gt;Storage costs are explicit through rent-exemption.&lt;/li&gt;
&lt;li&gt;Transparency is the default.&lt;/li&gt;
&lt;li&gt;Wallet signatures replace traditional authentication systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the most interesting realizations was understanding that:&lt;/p&gt;

&lt;p&gt;Programs do not search for accounts.&lt;br&gt;
Accounts are explicitly passed into instructions during transactions.&lt;/p&gt;

&lt;p&gt;That changes everything about how you design software in Web3.&lt;/p&gt;

&lt;p&gt;Web2 knowledge still matters&lt;br&gt;
But the execution model is fundamentally different&lt;/p&gt;

&lt;p&gt;⚡ Backend server → Validator network&lt;br&gt;
⚡ Database row → Account&lt;br&gt;
⚡ API endpoint → Program instruction&lt;br&gt;
⚡ Authentication middleware → Wallet signatures + runtime validation&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>solana</category>
      <category>accounts</category>
      <category>database</category>
    </item>
    <item>
      <title>Revisiting Solana Identity Through Vanity Addresses</title>
      <dc:creator>Erick Carvajal</dc:creator>
      <pubDate>Fri, 29 May 2026 02:18:33 +0000</pubDate>
      <link>https://dev.to/neocarvajal/revisiting-solana-identity-through-vanity-addresses-2ann</link>
      <guid>https://dev.to/neocarvajal/revisiting-solana-identity-through-vanity-addresses-2ann</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Sometimes revisiting fundamentals teaches you more than learning something new.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&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%2Fimages.unsplash.com%2Fphoto-1639762681485-074b7f938ba0%3Fq%3D80%26w%3D1600%26auto%3Dformat%26fit%3Dcrop" 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%2Fimages.unsplash.com%2Fphoto-1639762681485-074b7f938ba0%3Fq%3D80%26w%3D1600%26auto%3Dformat%26fit%3Dcrop" alt="Solana Banner" width="1600" height="900"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m not new to Solana.&lt;/p&gt;

&lt;p&gt;I’ve already worked with wallets, transactions, dApps, and on-chain interactions before joining this challenge. But one thing I’ve enjoyed about revisiting the fundamentals is realizing how many concepts we eventually normalize as developers.&lt;/p&gt;

&lt;p&gt;One of those moments happened while creating a vanity address.&lt;/p&gt;

&lt;p&gt;At surface level, vanity addresses seem cosmetic:&lt;br&gt;
a personalized public key with a recognizable prefix.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;neo...&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dev...&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sol...&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But while generating one, I found myself thinking less about customization and more about identity.&lt;/p&gt;


&lt;h2&gt;
  
  
  🧠 We Normalize Cryptographic Identity Very Quickly
&lt;/h2&gt;

&lt;p&gt;In Web2, identity usually depends on platforms.&lt;/p&gt;

&lt;p&gt;Your GitHub account exists because GitHub says it exists.&lt;br&gt;
Your email exists because a provider manages it.&lt;br&gt;
Your access can be revoked, recovered, or modified through centralized systems.&lt;/p&gt;

&lt;p&gt;In Solana, identity starts with a keypair.&lt;/p&gt;

&lt;p&gt;That concept sounds simple, but its implications are massive.&lt;/p&gt;

&lt;p&gt;Your public key becomes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👛 your wallet&lt;/li&gt;
&lt;li&gt;🧾 your account&lt;/li&gt;
&lt;li&gt;🏆 your reputation&lt;/li&gt;
&lt;li&gt;🔐 your ownership layer&lt;/li&gt;
&lt;li&gt;⚡ your authentication method&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All without asking permission from a platform.&lt;/p&gt;

&lt;p&gt;As developers, we eventually stop thinking about how radical that actually is.&lt;/p&gt;

&lt;p&gt;Generating a vanity address made me revisit that idea from a different angle.&lt;/p&gt;


&lt;h2&gt;
  
  
  ✨ Creating My Vanity Address
&lt;/h2&gt;

&lt;p&gt;I decided to generate a vanity address starting with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;neo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Using the Solana CLI, the process was surprisingly simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;solana-keygen grind &lt;span class="nt"&gt;--starts-with&lt;/span&gt; neo:1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Foq1nta5xkmzvkvsu9t3j.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%2Foq1nta5xkmzvkvsu9t3j.png" alt="Image" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 What does this command do?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Part&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;solana-keygen&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Solana CLI key generation tool&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;grind&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Continuously generates keypairs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--starts-with&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Searches for a matching prefix&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;neo:1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Look for addresses starting with &lt;code&gt;neo&lt;/code&gt; and stop after finding 1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The CLI continuously generates valid cryptographic keypairs until one naturally matches the pattern.&lt;/p&gt;

&lt;p&gt;That means the resulting wallet is still:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Cryptographically secure&lt;/li&gt;
&lt;li&gt;✅ Fully decentralized&lt;/li&gt;
&lt;li&gt;✅ Controlled only by the private key owner&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tool is &lt;strong&gt;not editing&lt;/strong&gt; an address.&lt;/p&gt;

&lt;p&gt;It’s brute-forcing mathematically valid combinations until one matches the requested pattern.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 You Can Customize the Beginning &lt;em&gt;or&lt;/em&gt; the End
&lt;/h2&gt;

&lt;p&gt;One thing I found interesting is that Solana vanity addresses are not limited to prefixes.&lt;/p&gt;

&lt;p&gt;You can generate addresses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;starting with specific characters&lt;/li&gt;
&lt;li&gt;ending with specific characters&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Starts with
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;solana-keygen grind &lt;span class="nt"&gt;--starts-with&lt;/span&gt; neo:1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ends with
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;solana-keygen grind &lt;span class="nt"&gt;--ends-with&lt;/span&gt; neo:1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can even combine patterns depending on how much time and computational power you are willing to spend.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ The more characters you add, the longer the process takes because the search space grows exponentially.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🖥️ Watching the CLI Search Felt Weirdly Satisfying
&lt;/h2&gt;

&lt;p&gt;Seeing the terminal continuously generate millions of keypairs made something click for me:&lt;/p&gt;

&lt;p&gt;Blockchain identity is mathematical.&lt;/p&gt;

&lt;p&gt;Not platform-based.&lt;/p&gt;

&lt;p&gt;No company approves your identity.&lt;br&gt;
No database stores your username.&lt;br&gt;
No admin grants access.&lt;/p&gt;

&lt;p&gt;Your identity is literally tied to cryptographic ownership.&lt;/p&gt;

&lt;p&gt;And somehow, adding a simple &lt;code&gt;neo&lt;/code&gt; prefix made the address feel more human.&lt;/p&gt;




&lt;h2&gt;
  
  
  👛 Wallets Are Not Just Wallets
&lt;/h2&gt;

&lt;p&gt;One thing this challenge reinforced for me is how misleading the word &lt;strong&gt;wallet&lt;/strong&gt; can be for newcomers.&lt;/p&gt;

&lt;p&gt;People imagine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;storage,&lt;/li&gt;
&lt;li&gt;balances,&lt;/li&gt;
&lt;li&gt;banking interfaces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the wallet is really an &lt;strong&gt;identity layer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Everything on Solana connects back to the keypair:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;transactions&lt;/li&gt;
&lt;li&gt;governance&lt;/li&gt;
&lt;li&gt;token ownership&lt;/li&gt;
&lt;li&gt;program interactions&lt;/li&gt;
&lt;li&gt;reputation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The assets are not “inside” the wallet.&lt;/p&gt;

&lt;p&gt;The blockchain simply recognizes that a specific public key has authority over them.&lt;/p&gt;

&lt;p&gt;That distinction becomes clearer the more time you spend building in Web3.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Why Revisiting Fundamentals Matters
&lt;/h2&gt;

&lt;p&gt;As developers, it’s easy to rush toward:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;smart contracts&lt;/li&gt;
&lt;li&gt;frameworks&lt;/li&gt;
&lt;li&gt;AI integrations&lt;/li&gt;
&lt;li&gt;scaling architectures&lt;/li&gt;
&lt;li&gt;complex protocols&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But revisiting the basics has value.&lt;/p&gt;

&lt;p&gt;Because the entire ecosystem ultimately depends on a few foundational ideas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cryptographic ownership&lt;/li&gt;
&lt;li&gt;self-custody&lt;/li&gt;
&lt;li&gt;decentralized identity&lt;/li&gt;
&lt;li&gt;verifiable interaction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Creating a vanity address reminded me that even small experiments can expose much bigger ideas underneath.&lt;/p&gt;

&lt;p&gt;And honestly, that’s one of the reasons I’m enjoying this challenge despite already having experience with Solana.&lt;/p&gt;

&lt;p&gt;Sometimes relearning fundamentals gives you a better perspective than learning something entirely new.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧵 Final Thought
&lt;/h2&gt;

&lt;p&gt;Before this challenge, I mostly saw vanity addresses as a branding detail.&lt;/p&gt;

&lt;p&gt;Now I see them as a small but interesting expression of on-chain identity.&lt;/p&gt;

&lt;p&gt;And that’s probably one of the most fascinating parts of Web3:&lt;/p&gt;

&lt;p&gt;Your identity doesn’t belong to a platform.&lt;/p&gt;

&lt;p&gt;It belongs to your keys.&lt;/p&gt;




</description>
      <category>100daysofsolana</category>
      <category>solana</category>
    </item>
    <item>
      <title>Your Solana Wallet Is More Than a Wallet — It’s Your Identity</title>
      <dc:creator>Erick Carvajal</dc:creator>
      <pubDate>Fri, 29 May 2026 01:49:50 +0000</pubDate>
      <link>https://dev.to/neocarvajal/your-solana-wallet-is-more-than-a-wallet-its-your-identity-52pm</link>
      <guid>https://dev.to/neocarvajal/your-solana-wallet-is-more-than-a-wallet-its-your-identity-52pm</guid>
      <description>&lt;p&gt;If you come from &lt;strong&gt;Web2&lt;/strong&gt; development, you’re used to identity being fragmented across platforms.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;a GitHub username,&lt;/li&gt;
&lt;li&gt;a Google account,&lt;/li&gt;
&lt;li&gt;an email address,&lt;/li&gt;
&lt;li&gt;maybe OAuth logins for different apps, &lt;/li&gt;
&lt;li&gt;and passwords stored in dozens of databases you don’t control.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each platform owns your identity inside its own system. Blockchain changes that model completely. On Solana, your identity starts with a cryptographic keypair.&lt;/p&gt;

&lt;p&gt;And once that clicks, many Web3 concepts suddenly make sense. From Web2 Accounts to Cryptographic Identity In Web2, accounts are usually stored in centralized databases.&lt;/p&gt;

&lt;p&gt;When you log into a service, the platform checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;your &lt;strong&gt;email&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;your &lt;strong&gt;password&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;or an &lt;strong&gt;OAuth token&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The company decides whether you can access your account.&lt;/p&gt;

&lt;p&gt;They can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;suspend you,&lt;/li&gt;
&lt;li&gt;reset your password,&lt;/li&gt;
&lt;li&gt;lock your account,&lt;/li&gt;
&lt;li&gt;or even delete your access entirely.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your “identity” exists because their servers say it does. On Solana, identity works differently. There’s no central authority managing your account. Instead, identity is based on public-key cryptography.&lt;/p&gt;

&lt;p&gt;When you create a Solana wallet, you generate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a public key&lt;/li&gt;
&lt;li&gt;and a private key&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The public key becomes your address on the network.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The private key proves ownership.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;ul&gt;
&lt;li&gt;No username.&lt;/li&gt;
&lt;li&gt;No email.&lt;/li&gt;
&lt;li&gt;No password reset flow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just cryptographic proof. Think About SSH Keys. The easiest way for a Web2 developer to understand this is through SSH.&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%2F44sv4ni1ttaydd9949pj.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%2F44sv4ni1ttaydd9949pj.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you use SSH:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You generate a keypair.&lt;/li&gt;
&lt;li&gt;You place the public key on a server.&lt;/li&gt;
&lt;li&gt;You prove ownership by signing with the private key.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Solana works in a very similar way. Except instead of authenticating against a single server, you authenticate against the entire network. Your wallet signs transactions using your private key. Validators verify the signature using your public key. If the signature is valid, the network accepts the action. If not, the transaction is rejected.&lt;/p&gt;

&lt;p&gt;This means your identity is portable across every Solana application. You don’t create a new account for every dApp. Your wallet is your account.&lt;/p&gt;

&lt;p&gt;Why Solana Addresses Look Weird?&lt;/p&gt;

&lt;p&gt;A Solana public key usually looks something like this:&lt;/p&gt;

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

&lt;p&gt;That’s not random formatting.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;32-byte Ed25519 public keys&lt;/li&gt;
&lt;li&gt;encoded in Base58&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Base58 intentionally removes visually confusing characters like:&lt;/p&gt;

&lt;p&gt;0&lt;br&gt;
O&lt;br&gt;
I&lt;br&gt;
l&lt;/p&gt;

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

&lt;p&gt;Unlike usernames in Web2 databases, these addresses are not assigned by a company. They are mathematically generated. Nobody needs permission to create one.&lt;/p&gt;

&lt;p&gt;Ownership Without Permission. This is probably the biggest mental shift for Web2 developers.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Access is granted by a platform.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Ownership is proven cryptographically.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you control the private key, you control the account. No support team can override that. No admin can reset it. No centralized database determines ownership.&lt;/p&gt;

&lt;p&gt;This is what people mean when they say:&lt;/p&gt;

&lt;p&gt;“Not your keys, not your crypto.”&lt;/p&gt;

&lt;p&gt;The private key is the source of authority. That also means self-custody comes with responsibility. If you lose your private key or seed phrase, there is no password recovery process. The network cannot “recover” your identity for you.&lt;/p&gt;

&lt;p&gt;Identity Is More Than Logging In. On Solana, identity is not just authentication. Your public key becomes the foundation for everything you do on-chain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;token ownership,&lt;/li&gt;
&lt;li&gt;NFT collections,&lt;/li&gt;
&lt;li&gt;governance voting,&lt;/li&gt;
&lt;li&gt;DAO participation,&lt;/li&gt;
&lt;li&gt;program interactions,&lt;/li&gt;
&lt;li&gt;reputation,&lt;/li&gt;
&lt;li&gt;transaction history.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And because the identity is standardized across the network, every application can recognize it automatically.&lt;/p&gt;

&lt;p&gt;You don’t need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;account integrations,&lt;/li&gt;
&lt;li&gt;OAuth providers,&lt;/li&gt;
&lt;li&gt;or permission between apps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your wallet works everywhere by default. That interoperability is one of the most powerful ideas in Web3.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Before learning Solana, I thought wallets were mainly about storing crypto. But after working with keypairs and signing transactions, I realized something bigger:&lt;/p&gt;

&lt;p&gt;A wallet is really a cryptographic identity layer.&lt;/p&gt;

&lt;p&gt;In Web2, companies own the relationship between users and applications.&lt;/p&gt;

&lt;p&gt;In Solana, users own their identity directly.&lt;/p&gt;

&lt;p&gt;That changes how authentication, ownership, and interoperability work across the internet.&lt;/p&gt;

&lt;p&gt;And honestly, once you understand that, many parts of Web3 stop feeling “magical” and start feeling like a natural evolution of systems developers already know.&lt;/p&gt;

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