Direct wallet tips with a live, on-chain supporter wall — built for the Zero to One: Tech Builder Series problem The Praise Board.
Commuters connect MetaMask, send a small Sepolia ETH tip with a note, and see their name appear on a verifiable wall. Tips go straight to the recipient's wallet — no platform in the middle.
- Smart contract: Solidity 0.8 + Hardhat (
PraiseBoard.sol) - Frontend: Next.js 16, wagmi, viem, Tailwind CSS
- Network: Ethereum Sepolia
npm installCopy .env.example to .env and .env.local:
cp .env.example .env
cp .env.example .env.localFill in:
| Variable | Purpose |
|---|---|
PRIVATE_KEY |
Deployer wallet (with Sepolia ETH from a faucet) |
RECIPIENT_ADDRESS |
Ifeoma's wallet — receives every tip |
SEPOLIA_RPC_URL |
Sepolia RPC (QuickNode, Alchemy, etc.) |
NEXT_PUBLIC_SEPOLIA_RPC_URL |
Same RPC for the frontend |
NEXT_PUBLIC_CONTRACT_ADDRESS |
Set after deploy (step 3) |
npm run compile
npm run deploy:sepoliaCopy the printed address into NEXT_PUBLIC_CONTRACT_ADDRESS in .env.local.
npm run devOpen http://localhost:3000, connect MetaMask on Sepolia, and send a test tip.
- Every wall entry comes from a
PraiseAddedevent on the deployed contract. - Tips are forwarded to
recipientin the same transaction — nothing sits in the contract. - The frontend reads on-chain state; entries cannot be faked without a real transaction.
loops auth login --provider github
loops project create --event zero-to-one-tech-builder-series \
--name "Praise Board" \
--repoUrl https://github.com/YOUR_USER/praiseboard \
--tagline "Direct wallet tips with a live on-chain praise wall"
loops evaluate --event zero-to-one-tech-builder-series --problem thank-you-wallMIT