# Road Map 2019-2020 This document is discribing the development roadmap of Plasma Chamber, Cryptoeconomics Lab's Plapps Development Framework. The roadmap includes milestones consisting of each month's **expected implementation tasks** and **deriverables** until testnet launch and mainnet launch. * We will make [Github project board](https://github.com/orgs/cryptoeconomicslab/projects) for each month # Our Goal * Build usable middlewares and applications on layer 2 to produce realworld use case of public blockchain. * Share development techniques of layer 2 apps combined as a framework to the world. * developers = users -> define the contract updtates by theireselves without deployment * Build the universal client for layer 2. ## Summary of our roadmap 1. Rust implementation for generalized plasma spec This includes operator and client. We are aimig for an interoperable, transparent sdk. https://github.com/cryptoeconomicslab/plasma-rust-framework 2. Android client implementation using 1. also iOS. https://github.com/cryptoeconomicslab/plasma-android-sdk 3. Research potential applications for OVM Categorize usecases FF predicate, Payment channel, Multi-hop payment, Dex, Lending, Checkpoint…etc https://github.com/cryptoeconomicslab/plasma-predicates development tools for OVM 4. Research universal client for OVM research generalized layer 2 client prototyping universal client for OVM # Roadmap ## Jun 2019 * [Minimal Rust Framework](https://github.com/cryptoeconomicslab/plasma-rust-framework) for Plasma * Merkle Interval Tree * Minimal operator client with Rust * JSON RPC server * Block Manager ## Jul * Plasma Contracts * Mock Commitment Contract and Deposit Contract * Predicates * Ownership predicate * Swap predicate * Research univesal client for OVM * Minimal client with Rust ## Aug * [Predicates](https://github.com/cryptoeconomicslab/plasma-predicates) * Fast finality predicate * Payment Channel predicate * Swap main chain and plasma predicate * Fee predicate * Defragmentation predicate * Minimal client with Browser * user interface * merchant dashboard for setup fast finality predicate * use pigi spec for SDK? * [Minimal client with Android](https://github.com/cryptoeconomicslab/plasma-android-sdk) * State Manager * Sync Manager * JSON RPC Client * Contract Wrapper * Research * Write a formal paper on design patterns of predicate to build Plapps * Mass-move using checkpoint predicate * Standarize deposit contract ## Sep * Client implementation * Payment with Fast finality * Payment channel node * Checkpoint * Defragmentation * Full client with Android * History Manager * Minimal predicate development framework * Just audited libraries like openzeppelin? * Others * Use create2 op code to deploy predicate contract * Support create2 * Packaging * Support Docker Compose for easy deployment to Azure or AWS * Implementation for the smooth installation of Plasma Chamber ## Oct (DEVCON5) ### Overview: Real Use Case Focus + Research * Specific Usecase * Payment Plasma * Instant finality and micro payment * Merchant dashboard * Installation flow * Plapps development framework * Research Paper * Predicate library * Test network * Platform Support * Android * Linux, MacOS * Browser ### DEVCON5 * Installation DEMO * Android phone and merchant client DEMO * How merchant start using Plasma * Payment with instant finality * How micro payment works (reduced gas cost) * Introduce our multi-platform client sdks (undecided) * Introduce audited libraries for plapp * How developers can build Plapp * Migration plapp to eth 2.0(undecided) ## Nov * Benchmark * Audit client code * Micropayment and instant finality * Payment channel network predicate * Connect to Plasma network * Interoperable and universal Client SDK * Interoperable Payment * Multihop payment across Plasma Chain * Interoperable Dex * Swap between across Plasma Chain * NFT Deposit Contract ## Dec * Monitoring service for operator * Improve availability * Infrastructure * Support Enterprize Level insrastructure * k8s * Support other IaaS and PaaS * Optimization * Optimize History Manager * Optimize Merkle Tree * Efficient checkpoint * Checkpoint predicate ## Jan 2020 (Production ready) * Main network deploy (TBA) * Start developing applications on top of Plasma ## Feb * Build Plasma application * Lending Plapp * Game (like MCH) * Try to build more complex application * Lottery * Voting * Swap with liquidity pool ## Mar * Product evaluation with quantifiable indices * Active users * Number of Transactions * Number of Deposit and Exit ### Goal of March 2020 * Most widely-used/usable Dapps framework