
The Tech Stack
Let’s start with the core stack:
- Ethereum + Smart Contracts: Core logic + ERC-1155 tokens for energy credits.
- Chainlink Oracle: Simulated solar output verification.
- React + Next.js: Frontend UI.
- TailwindCSS: Fast styling.
- wagmi + ethers.js: Wallet interaction.
- MetaMask: User authentication and ETH payments.
No backend. No database. Just pure Web3 chaos.
First Weeks: Overconfident and Underprepared
I was cocky. I thought I could whip up a smart contract and a frontend in a weekend.
I was wrong.
I wasn’t just building a dApp. I was trying to represent actual electricity on-chain. That meant dealing with off-chain sensors, oracle data, real humans, and yes—regulations.
Still, I hacked together a basic flow:
- Producers mint energy tokens if verified by the oracle.
- Consumers buy those tokens.
- ETH changes hands. Everyone’s happy.
It broke at least 14 times in the first two days. And yes—I nearly gave up.
React Frontend: A Love-Hate Story
React is powerful, but syncing state with on-chain data and wallet connections nearly broke me.
- MetaMask would go silent mid-session.
- State would desync between reads and writes.
- The UI froze whenever I updated wallet balances.
At one point, I rewrote part of the logic in vanilla JS just to make a point. Then I crawled back to React because—like it or not—it’s still the best option for complex dApps.
First Trade: Beer, Red Bull, and Craigslist UI
I bribed two friends with beer to test a transaction.
- One acted as the producer (with mocked solar output).
- The other bought the credits using ETH.
The transaction worked. The token transferred. The ETH landed. It was clunky. The UI looked like Craigslist from 2004. But it worked.
I celebrated with a Red Bull and terrible pizza. Worth it.
The Simplification Breakthrough
I started with way too many features:
- Dynamic pricing
- Leaderboards for “greenest neighbors”
- DAO-style dispute resolution
It was a mess.
Eventually, I cut it all down to the core:
- Connect wallet
- Mint energy tokens (if approved)
- List tokens
- Buy tokens
- ETH in, energy credits out
That’s it. Clean. Minimal. It took me three months to get there.
The Oracle Mess
Off-chain data is hard. My first prototype faked solar production. But for real users, I needed sensors and real data.
I tried everything:
- Chainlink + Raspberry Pi
- A startup’s solar API
- Manual verification via batch uploads
Nothing worked smoothly. Chainlink was expensive. APIs broke. Sensors bugged out.
Eventually, I settled on a daily batch system where I sent hashed proofs of production to the contract. It wasn’t elegant, but it was real. And sometimes, done is better than perfect.
The UX Reality Check
When I showed the MVP to real rooftop solar users in Delhi, the first feedback stung:
“It’s cool… but what’s MetaMask?”
“Why do I need crypto to sell my energy?”
That hit hard.
Web3 tools are not accessible to most people. So I started building fiat on-ramps and gas-fee abstractions. Users shouldn’t have to understand wallets or ETH to trade energy.
Lessons Learned
Ethereum is powerful—but user-hostile.
You need to build layers of human-friendly UX on top.
Smart contracts don’t forgive.
One wrong line = permanent mistake. Triple-check everything.
React is a blessing and a curse.
It’s flexible but maddening. Embrace the pain.
Don’t build for devs.
Build for people who don’t care about the tech. They’re the real users. Discord > Docs.
Most of my breakthrough moments came from community help—not Stack Overflow.
Read more about tech blogs . To know more about and to work with industry experts visit internboot.com .
Final Thoughts: Is It Worth It?
I’m still testing this in local grids in Pune and Noida. It’s not on mainnet. Yet.
Some days I want to quit. Others, I feel like I’m building something that actually matters.
The first time I saw a token transfer succeed in a real trade, it felt more meaningful than any grade I ever got in college.
If you’re thinking about building something wild, messy, decentralized, and maybe even dumb—do it. It might break you. But it might also build you.