# 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