A terminal app where you mine ASCII memes, stake fake tokens, and vote on meme evolution. It's like if DeFi and shitposting had a baby that only knew how to live in a terminal.
I wanted to learn OpenTUI and also I think the idea of "farming" memes in a terminal is funny. This could actually be hooked up to real Solana transactions if you're brave enough.
bun install
bun run startor if you want hot reload while hacking on it:
bun run devPress numbers to switch views:
1- Mine memes (watch ASCII art get generated)2- Farm/stake your meme coins3- Vote on meme evolution (mutate, evolve, merge)4- Gallery of all your memes5- Wallet stuff
Press ? for help. Press Esc to quit.
Hit s to start mining. You'll see a progress bar and when it fills up, boom - new meme. Memes have rarities:
- common (gray) - whatever
- rare (blue) - nice
- epic (purple) - ooh
- legendary (gold) - you're basically rich now
Each meme comes with random traits like "diamond-hands" or "laser-eyes" and its own token symbol.
Once you have meme tokens, you can stake them in pools. Higher APR = more tokens. Click a pool, enter amount, stake. Revolutionary stuff.
Pick a meme and vote to:
- Evolve - level it up
- Mutate - randomly change some ASCII chars
- Merge - smash two memes together (frankenstein style)
The idea is this could trigger on-chain votes with real token holders. For now it just updates local state.
src/
├── components/ # all the UI pieces
├── hooks/ # useMining, useTransactions, etc
├── utils/
│ ├── memeGenerator.ts # the ASCII art templates + generation
│ └── solana.ts # mock wallet stuff
└── types/
The meme templates are in memeGenerator.ts if you want to add more. Current ones: doge, pepe, wojak, moon, rocket, diamond, cat, ape.
Right now the Solana stuff is mocked. If you actually wanted to connect this to devnet/mainnet:
- Swap out
createMockWallet()with actual wallet adapter - Add
@solana/web3.jsfor transactions - The meme minting could create actual NFTs or SPL tokens
- Voting could use realms or your own program
The transaction/wallet types are already structured for this - just need real implementations.
- The emojis in the sidebar might look weird depending on your terminal font
- If your terminal is too small things will overlap weirdly
- The "merge" feature doesn't actually combine ASCII art intelligently, it just takes top half of one and bottom half of another
PRs are welcome. Add more meme templates, fix bugs, make it actually talk to Solana, whatever.
MIT - do whatever you want with it