@SamyaakJain From my perspective, it appears more accurate to state that Ethereum and Solana have opted for distinct approaches regarding the Blockchain Trilemma, which involves balancing security,scalability, and decentralization. However, your understanding is also valid to a certain extent
Day 55 : - Gearing up for the Colosseum Frontier Hackathon.
Today is all about leveling up my full-stack architecture for the Solana AI Agent:
⚡ Frontend: Next.js 16
🗄️ Database/ORM: Prisma
🦀 Smart Contracts: Rust / Anchor
Mastering the data flow from the client, through the ORM, and down to the blockchain.
Day 54 : - The Next.js UI for my Solana Voting dApp is officially done and wired up to my Rust contract!
• I learned how to seamlessly translate strict Rust types and Enums into JavaScript to bridge the frontend and backend.
• I mastered generating complex Program Derived Addresses (PDAs) on the client side using Anchor.
• I solved the infamous ConstraintSeeds Error 2006 by perfectly aligning my React byte buffers with my Rust macros.
• I fixed "Account Already Initialized" crashes by using dynamic timestamps to prevent PDA collisions.
• I learned how to bust React UI "ghost accounts" by fetching and filtering out soft-deleted blockchain data.
Day 53/100 :
Yesterday was all about writing the Escrow program.
Today? Proving it actually works.
Spent an hour deep in TypeScript writing out the full test suites using Mocha and Chai to simulate the entire environment:
• Nailed the manual PDA derivations on the frontend to perfectly sync with the Rust backend.
• Simulated the full lifecycle: initializing, updating, and securely releasing funds to the Taker.
• Tested the cancellation failsafe to ensure Makers get their funds back if things go south.
• Fetched and asserted the on-chain account data to verify the math is absolutely flawless.
Day 52/100 :
Another day, another smart contract built!
Today I successfully wrote a fully functional on-chain Voting Program from scratch using Rust and the Anchor framework.
Here are the technical wins from today’s build:
• Designed distinct PDAs for both Proposals and individual Votes (using voter pubkeys as seeds) to naturally prevent double-voting.
• Implemented safe math (checked_add) to secure vote tallies against overflow vulnerabilities.
• Built clean custom Enums for Yes/No choices and mapped out strict custom Error codes.
• Mastered complex account validation macros with multi-variable seed derivations.
Anchor made writing smart contracts super easy.
Day 51/100 :
Just wrapped up the testing suite for my Solana Escrow smart contract using Anchor.
Today’s breakthroughs:
• Isolated PDA seeds to cleanly test "Release" and "Cancel" flows without state collisions
• Mastered lamport math, network fees, and localnet airdrops
• Clicked the crucial difference between native SOL balances and on-chain account data updates
• Tamed the Mocha testing lifecycle
Now I'm Actually loving it :)
Day 50/100:
After getting comfortable with the basics of Anchor through Harkirat’s cohort,
today I built a fully functional Escrow program from scratch.
Tackled some of the trickiest parts of Solana development and account ownership:
• Locked user funds securely into a Program-Owned PDA using a System Program CPI.
• Bypassed CPIs entirely for the Release & Cancel functions by implementing direct lamport manipulation (try_borrow_mut_lamports).
• Enforced strict security using PDA seed constraints, Enum states, and checked math to prevent overflows
Day 49/100:
With solid experience building Counter, Voting & Escrow programs in native Solana,
today I rewrote the Counter using Anchor for the first time.
Built a simple Counter program to get comfortable with the framework:
• Set up a fresh Anchor project
• Defined the Data account struct (u64 counter)
• Implemented initialize instruction (creates account + sets counter to 0)
• Added update instruction to modify the counter
• Used proper #[program], #[account], and #[derive(Accounts)] macros
• Handled Context, payer, mutability & system program seamlessly Anchor makes everything feel so much cleaner and faster — zero manual borsh serialization, way less boilerplate.
Day 48/100 : Today I covered Anchor Basics through Harkirat’s cohort.
Here’s what I learned:
• What Anchor actually is & why it exists
• How Anchor drastically reduces boilerplate vs native Solana programs
• Setting up an Anchor project with anchor init
• Understanding the project structure (programs, tests, migrations)
• Writing your first Anchor program (#[program] + #[account])
• Basic #[instruction] handlers
• How Anchor handles serialization/deserialization automatically
• Writing simple tests using Anchor’s test framework
Now , implementing via building a basic counter and escrow program