<?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: Mubarak Yakubu</title>
    <description>The latest articles on DEV Community by Mubarak Yakubu (@mubaraqabba).</description>
    <link>https://dev.to/mubaraqabba</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%2F3922593%2F1c246f7c-3ea4-4a1a-bc90-f3d4c5d24ea7.png</url>
      <title>DEV Community: Mubarak Yakubu</title>
      <link>https://dev.to/mubaraqabba</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mubaraqabba"/>
    <language>en</language>
    <item>
      <title>I Hit the 1,232-Byte Wall So You Don't Have To</title>
      <dc:creator>Mubarak Yakubu</dc:creator>
      <pubDate>Mon, 25 May 2026 04:56:21 +0000</pubDate>
      <link>https://dev.to/mubaraqabba/i-hit-the-1232-byte-wall-so-you-dont-have-to-10</link>
      <guid>https://dev.to/mubaraqabba/i-hit-the-1232-byte-wall-so-you-dont-have-to-10</guid>
      <description>&lt;p&gt;I was building a batch transfer tool. Send SOL to 20 recipients in one transaction. Simple, right?&lt;/p&gt;

&lt;p&gt;Wrong.&lt;/p&gt;

&lt;p&gt;The RPC rejected my transaction with: Transaction too large: 1400 &amp;gt; 1232&lt;/p&gt;

&lt;p&gt;I had no idea what 1232 meant. Now I do.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Limit&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Every Solana transaction — transfer, swap, mint, everything — has a hard cap: 1,232 bytes.&lt;/p&gt;

&lt;p&gt;Not 1,232 lines of code. 1,232 bytes&lt;/p&gt;

&lt;p&gt;Where does 1,232 come from? IPv6 packet size. The internet requires every packet to be at least 1,280 bytes. Subtract 48 bytes for network headers. Leftover: 1,232 bytes.&lt;/p&gt;

&lt;p&gt;Solana didn't choose this number. The internet did.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why I Hit the Wall&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My batch transfer had 22 accounts (sender + 20 recipients + system program). Each account key takes 32 bytes. 22 × 32 = 704 bytes just for the addresses.&lt;/p&gt;

&lt;p&gt;Add signature (64 bytes), header (3 bytes), blockhash (32 bytes), instructions (variable). Total: ~1,148 bytes.&lt;/p&gt;

&lt;p&gt;Dangerously close to 1,232. Add one more recipient? Fail. Add a memo? Fail. Add any complexity? Fail.&lt;/p&gt;

&lt;p&gt;I was 84 bytes from the edge. That's one short sentence.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Escape&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I learned about Address Lookup Tables (ALTs).&lt;/p&gt;

&lt;p&gt;An ALT is an on-chain account that stores addresses. Once stored, a transaction references them by a 1-byte index instead of the full 32-byte address.&lt;/p&gt;

&lt;p&gt;Think of it like a URL shortener. You store the long URL once. Everyone else uses the short code.&lt;/p&gt;

&lt;p&gt;Same concept.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What Changed&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My batch transfer went from 22 full addresses to 1 ALT address + 21 one-byte indexes.&lt;/p&gt;

&lt;p&gt;Before: 704 bytes for addresses&lt;br&gt;
After: 32 bytes (ALT) + 21 bytes (indexes) = 53 bytes&lt;/p&gt;

&lt;p&gt;My transaction size dropped from ~1,148 bytes to ~562 bytes.&lt;/p&gt;

&lt;p&gt;Suddenly I had room. Add more recipients. Add a memo. Add error handling. All fit.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What I Learned&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The 1,232-byte limit isn't arbitrary. It's Solana prioritizing network speed over developer convenience.&lt;/p&gt;

&lt;p&gt;Fragmented packets are slower. Solana said no fragmentation. One packet. One transaction. Done.&lt;/p&gt;

&lt;p&gt;This forces constraints:&lt;/p&gt;

&lt;p&gt;List every account upfront&lt;/p&gt;

&lt;p&gt;Batch operations need ALTs&lt;/p&gt;

&lt;p&gt;Complex DeFi requires careful design&lt;/p&gt;

&lt;p&gt;But the network stays fast. 4,000+ transactions per second fast.&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%2Fzxladeqg3c40dvh10p2w.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%2Fzxladeqg3c40dvh10p2w.png" alt=" " width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>webdev</category>
      <category>solanadev</category>
      <category>mlh</category>
    </item>
    <item>
      <title>Two Weeks of Solana: Familiar but Different</title>
      <dc:creator>Mubarak Yakubu</dc:creator>
      <pubDate>Sun, 17 May 2026 06:35:08 +0000</pubDate>
      <link>https://dev.to/mubaraqabba/two-weeks-of-solana-familiar-but-different-163m</link>
      <guid>https://dev.to/mubaraqabba/two-weeks-of-solana-familiar-but-different-163m</guid>
      <description>&lt;p&gt;I came into this with small Web3 experience. Most of the early lessons felt normal, familiar. But the "everything is an account" model on Solana took extra attention. It's not like a traditional database at all.&lt;/p&gt;

&lt;p&gt;What surprised me: the publicity and decentralized aspects. No API keys. No permission to read. Just an RPC endpoint and an address. Compared to traditional APIs, it's easier and faster. No restrictions. No rate limits. Just query and get data.&lt;/p&gt;

&lt;p&gt;What's next? Nothing specific I'm unsure about yet. I want to start building a real project on Solana using my Web2 expertise. Two weeks in. Ready for the next phase.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>web3</category>
      <category>beginners</category>
      <category>blacklivesmatter</category>
    </item>
    <item>
      <title>Solana Identity for Web2 Developers: You Already Understand Keypairs.</title>
      <dc:creator>Mubarak Yakubu</dc:creator>
      <pubDate>Sun, 10 May 2026 00:10:42 +0000</pubDate>
      <link>https://dev.to/mubaraqabba/solana-identity-for-web2-developers-you-already-understand-keypairs-20i</link>
      <guid>https://dev.to/mubaraqabba/solana-identity-for-web2-developers-you-already-understand-keypairs-20i</guid>
      <description>&lt;p&gt;If you've ever generated an SSH key pair, you already understand Solana identity.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh-keygen -t ed25519&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;That command gives you two things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;id_ed25519.pub (public key) → put this on servers&lt;/li&gt;
&lt;li&gt;id_ed25519 (private key) → stays on your machine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you SSH into a server, you prove your identity by signing a challenge with your private key. The server verifies the signature using your public key. Your private key never leaves your machine.&lt;/p&gt;

&lt;p&gt;Solana works exactly the same way. But instead of one server, the entire network verifies your signature. Instead of just SSH access, your keypair gives you ownership over tokens, programs, and data across every app on Solana.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What a Solana address actually is&lt;/strong&gt;&lt;br&gt;
A Solana address is a 32-byte Ed25519 public key, encoded in Base58. Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;14grJpemFaf88c8tiVb77W7TYg2W3ir6pfkKz3YjhhZ5&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Compare that to a Web2 username stored in a database. A company granted you that username. They can revoke it, change it, or lock you out. Your Solana address needs no permission from anyone. It exists because the math says it exists.&lt;/p&gt;

&lt;p&gt;On Solana, the only person who can sign transactions for an address is the holder of the private key. No company. No admin panel. No "forgot password" flow.&lt;/p&gt;

&lt;p&gt;This is liberating and terrifying. Liberating because no one can take your assets. Terrifying because if you lose your private key, no one can give it back.&lt;/p&gt;

&lt;p&gt;That's why wallets exist: to manage private keys securely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What on-chain identity enables&lt;/strong&gt;&lt;br&gt;
A keypair isn't just for logging in. Everything you do on Solana ties back to your address:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Token ownership → your address holds NFTs or fungible tokens&lt;/li&gt;
&lt;li&gt;Program interactions → you call smart contracts&lt;/li&gt;
&lt;li&gt;Governance → your tokens vote on DAO proposals&lt;/li&gt;
&lt;li&gt;Reputation → other addresses see your on-chain history&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And because it's cryptographic and self-custodied, it works across every application on the network without asking permission.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The mental shift&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Web2 identity is borrowed. Solana identity is owned.&lt;/p&gt;

&lt;p&gt;When you "Sign in with Google," you're asking Google to vouch for you. When you sign a transaction with your Solana wallet, you prove your identity directly to the network.&lt;/p&gt;

&lt;p&gt;This is the shift that unlocks everything else in Web3. No intermediaries. Just math.&lt;/p&gt;

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