๐ Where I Started
100 days ago, terms like Program Derived Addresses (PDAs), Account Ownership, Borsh Serialization, and Cross-Program Invocations (CPI) sounded like alien concepts to me.
As a high school developer coming from traditional Web2 Python and AI agent development, I thought blockchain programming would just be like traditional REST APIs with a database layer attached. I was completely wrong.
๐ก What I Expected vs. What Solana Actually Is
In Web2, code and data live together. A Python server holds the variables, runs the logic, and modifies a database.
When I entered the Solana ecosystem, my biggest initial hurdle was shifting my mental model. On Solana:
Programs are Stateless: Smart contracts (programs) hold zero data! They only contain executable logic.
Everything is an Account: Data lives inside separate accounts, and you must explicitly pass those accounts into the program instruction.
Solana Account Model: Learning that an account has to pay "Rent" to stay alive on-chain was a huge "Aha!" moment for me.
โก The Single Most Important Lesson: PDAs & Security Constraints
If there is one concept that fundamentally changed how I think about decentralized software engineering, it is Program Derived Addresses (PDAs).
At first, I treated PDAs as regular wallet addresses. But after several failed transactions and confusing Anchor framework errors, it clicked:
PDAs allow Solana programs to programmatically sign transactions without needing a private key.
Understanding how seeds and bump seeds work allowed me to build secure protocols where user funds and state data couldn't be tampered with by unauthorized accounts.
๐ ๏ธ My Capstone Project (Day 99)
For my Day 99 Capstone, I brought together everything I learned across these 100 daysโcombining multi-agent workflows with Solana smart contracts to build an automated, verifiable execution protocol.
GitHub : https://github.com/singhaprajita183-maker Key Highlights of the Capstone:
Custom Anchor Program: Designed state account structs with strict owner-validation checks.
CPI Integration: Invoked token transfers seamlessly using Program Derived Addresses.
Rust Security: Implemented constraint checks (has_one, seeds, bump) to prevent common exploits like account re-initialization and authority spoofing.
๐ฎ What I Would Tell My Day 1 Self
If I could travel back 100 days to when I ran my first Anchor build, I would tell myself:
Don't skip Rust ownership rules: Learn how references (&mut) work before jumping straight into Anchor macros.
Read the error codes, don't guess: Solana CLI and Anchor framework errors are actually super helpful once you learn to read the instruction logs via Solana Explorer.
Failure is just state iteration: A failed transaction on devnet is not a setback; it's the chain telling you that your security constraints are doing their job!
๐ฏ What Comes Next?
Completing 100 Days of Solana with MLH isn't the end of my Web3 journeyโit's just the foundation.
Moving forward, I am combining my Solana smart contract knowledge with my Autonomous Multi-Agent AI systems (like AgentBRD) to build decentralized AI execution protocols. I will also be actively contributing to open-source Solana projects and helping other young student builders kickstart their Web3 journey!
"Never give up, and treat every failure as a stepping stone."
Top comments (0)