Genesix is now live! While it might not be perfect, it’s a step forward from what we built during onchain days.
Getting Started
Head over to Try it out and follow these steps:
- Sign in with your wallet
- Select today’s challenge from available options
- Complete the challenge requirements
- Submit your work. Make sure you’re on Ethereum mainnet (The app will warn you if you don’t.)
- Share your submission ID in the Discord thread
Design Rationale
Why not put everything on chain? Well:
- On-chain storage is expensive - like, really expensive
- Not everything needs to be public
- Gas costs would hit both you and the approver
Instead, I’ve gone with a two-tier approach:
- Your submission first goes to self hosted ethPandaOps server
- An approver reviews and submits the final score on chain
Once your score is on chain, we can safely discard the submission details (and your 3mb 4K screenshots). Simple and efficient!
I considered using EIP-712 signatures to cryptographically sign the stored payload. However, even if someone managed to forge the submission data (highly unlikely), it would still require approver validation. At that point, you might as well just use the UI like everyone else 😉.
What Goes Where?
- On Chain: Your hard-earned points live here forever
- Off Chain: Questions and answers (these get cleaned up post-contest)
The source code is available on Github.
Bounty: Think You Can Outsmart the System?
Alright, here’s the deal—there’s no ETH in the contract right now, so no one’s losing any money. But, security is still top priority! If you think you can:
- Pump your (or someone else’s) points unfairly.
- Sneak past the approval process.
before the deadline (Feb 13, 2025), I’ll send you a smol hamper as a reward for your cleverness. Hit me up on Discord if you’ve got the goods!
Thanks To
Jose and the onchain days team (workflow design, docs), Pari (shit ton of Sepolia ETH), Markus (MinIO magic), and everyone whose code Copilot 🤖 “borrowed” !