Hi everyone,
I made WarpNet, a MVP of peer-to-peer social network I’m building using Go and libp2p. I’m russian so it is crucial for me to build WarpNet as censorship and authority resistant microblogging platform — something like a decentralized Twitter, but with no central servers and no any dependencies.
Key Features:
- Libp2p based architecture — Every node is both a client and a server.
- BadgerDB — Embedded local storage for users, tweets, chats, and peer metadata.
- Database-level authentication — access to own node is only thru badger db login and password. Database is encrypted by default.
- On-device moderation — TODO.
- Local-first frontend — The UI runs entirely in the browser with no server, built in Vue 3 + TailwindCSS. Embedded into binary.
Implemented so far:
- Encrypted chat system, pagination, and access control,
- Timeline replication via broadcast and eventual consistency,
- Nodes discovery and blacklisting support,
- Node integrity validation by consensus (raft),
- Rate limiting, node challenging, and blocklists.
I’d love help with:
- AI moderation (LLM on bootstrap node or SLM on every node),
- Frontend… It’s complete rubbish now. Please help!
Check out the MVP code and all description here:
Warpnet
Docs
Feedback, questions, or contributions are very welcome! I’d love to collaborate with other libp2p developers building similar tools.
Thanks,
— Vadim