JEMs Roadmap
This document outlines the major components needed to evolve JEM coin toward a secure, user-ready platform. Each section lists actionable tickets that can be tracked individually.
1. PoE-VRF Consensus & Committee Finality
- <input type="checkbox" disabled /> **Consensus design**
- <input type="checkbox" disabled /> **VRF implementation**
- <input type="checkbox" disabled /> **Committee finality**
- [ ] Specify a Proof of Epoch (PoE) scheme and VRF-based leader selection - [ ] Define block structure, committee membership, and slashing rules - [ ] Adopt a secure VRF library such as hash-vrf
or ristretto255
- [ ] Integrate VRF calls into the block proposal flow - [ ] Introduce a HotStuff-style protocol for block finalization - [ ] Define quorum thresholds and message propagation rules
2. Networking, Validation & Transaction Processing
- <input type="checkbox" disabled /> **Peer-to-peer networking**
- <input type="checkbox" disabled /> **Transaction pool**
- <input type="checkbox" disabled /> **Block validation**
- [ ] Employ libp2p
or similar for discovery, connections, and gossip - [ ] Collect and expose bandwidth and latency metrics - [ ] Implement a mempool with validation logic and spam prevention - [ ] Support priority rules for transaction selection - [ ] Verify blocks and transactions against consensus rules and signatures - [ ] Apply state transitions and reject invalid data
3. RPC & GraphQL APIs
- <input type="checkbox" disabled /> **RPC layer**
- <input type="checkbox" disabled /> **GraphQL gateway**
- <input type="checkbox" disabled /> **API documentation**
- [ ] Provide JSON-RPC endpoints for node info, account queries, transaction submission, and chain metadata - [ ] Design schemas for blocks, transactions, accounts, and event subscriptions - [ ] Auto-generate reference docs using OpenAPI or GraphQL introspection - [ ] Host the generated documentation for developers
4. Wallet Integration & User Actions
- <input type="checkbox" disabled /> **Wallet APIs**
- <input type="checkbox" disabled /> **Sample wallet/UI**
- <input type="checkbox" disabled /> **User testing**
- [ ] Define methods for key management, signing, and broadcasting transactions - [ ] Ensure compatibility with hardware wallets when possible - [ ] Provide a reference web or desktop wallet for send/receive, balance display, and history - [ ] Gather feedback from real users to refine UX and detect bugs
5. Documentation, Tests & Production Hardening
- <input type="checkbox" disabled /> **Documentation**
- <input type="checkbox" disabled /> **Testing**
- <input type="checkbox" disabled /> **Security & reliability**
- [ ] Expand README and docs covering consensus details, APIs, setup guides, and architecture - [ ] Add unit tests for consensus logic - [ ] Create integration tests for networking and mempool - [ ] Implement end-to-end tests for RPC and wallet flows - [ ] Audit cryptographic usage and enforce logging/metrics - [ ] Perform load testing to validate production readiness