Skip to content

Commit

Permalink
chore: add roadmap items (#15110)
Browse files Browse the repository at this point in the history
## Description

this pr adds more items to the roadmap base on work we are doing and will do. it is not complete and will evolve 

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
  • Loading branch information
tac0turtle authored Feb 22, 2023
1 parent e55b1a9 commit df6f25d
Showing 1 changed file with 98 additions and 7 deletions.
105 changes: 98 additions & 7 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ Welcome to the Cosmos SDK's team roadmap.

* [Produce a spec for the new store design](https://github.com/cosmos/cosmos-sdk/issues/12986)
* Research a new design for store. This could entail writing some POC's in order to identify design patterns
* Store as its own go module
* [x] Store as its own go module
* Store module should be its own go.mod without a dependency on the Cosmos SDK
* Begin implementation of store v2
* [Begin implementation of store v2](https://github.com/cosmos/cosmos-sdk/pull/15028)
* Identify the migration path from store v1 -> store v2
* Parallel execution of state
* RFC/ADR is merged into the main on the sdk
Expand All @@ -23,32 +23,34 @@ Welcome to the Cosmos SDK's team roadmap.

### Client UX

* Release v1 of query support (auto-cli)
* [x] Release v1 of query support (auto-cli)
* A version of query support has been merged, documentation is missing
* Dynamic metadata support
* Dynamic support allows the Cosmos SDK to release a cmd line tool that could work with any chain.
* Add metadata support to latest version of Cosmos SDK and, if possible, backport to older versions
* Multi-chain command
* [x] Multi-chain command **(Done)**
* Release a cmd line tool that can be pointed a grpc endpoint which then can produce cmd lines to interact with the chain
* Auto-cli tx support
* Tx support for auto-cli/hubl
* This would fully remove the need for application developers to write cli commands for their modules
* Consensus Key Rotation


### Dev UX

* [Release collections v1](https://github.com/cosmos/cosmos-sdk/issues/14300)
* Collections is a new abstraction layer similar to the ORM. In the ADR phase it received support from many in the ecosystem.
* V1 release should allow modules to be migrated to collections.
* [Release ORM v1](https://github.com/cosmos/cosmos-sdk/issues/11088)
* Migrate 3 modules to use collections api
* Migrating 3 modules to use collections would help in show users how to migrate users
* [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970) (75%)
* [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970)
* Sign mode textual has been under construction for 2 quarters now, this quarter the goal is to move towards v1 and potentially line up a audit before final release.
* Core API
* [Merge ADR for Core API](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-063-core-module-api.md)
* [x] [Merge ADR for Core API](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-063-core-module-api.md)
* Migrate three modules to use core api
* Module Dependency
* Give three modules their own go.mods
* [x] Give three modules their own go.mods
* Cleanup dependency graph (dependent on integration testing framework)
* [Metamask signing directly into the sdk](https://github.com/cosmos/cosmos-sdk/discussions/13892)
* [ADR-033 (internal message routing)](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-033-protobuf-inter-module-comm.md)
Expand Down Expand Up @@ -99,6 +101,95 @@ Issue: https://github.com/cosmos/cosmos-sdk/issues/12272

Issue: https://github.com/cosmos/iavl/issues/548

## Q2

### Storage

* Completion of Storage v2
* Goal is to complete the rewrite storage
* Begin testing the rewrite on mainnets if possible
* External Audit
* Optimistic Execution spec is merged and implementation has begun
* Goal is to have the spec merged and implementation started.
* Store Design should enable parallel execution of transactions.
* Goal is to enable it but it may still require some work to complete it

### Client UX

* Add signing support to hubl
* Signing support is added to hubl
* Potentially integrating keystone (coordinate with Zondax)

### Dev UX

* Toolkit/SDK ADR.
* Come to consensus on how to make the sdk composable
* Adopt core api fully in modules
* Goal is to remove the Cosmos SDK and Comet as a dependency from all modules
* Release v1 of modules that have their dependency graph cleaned up

### ABCI 2.0

**Blocked**:

> once cometBFT has a release candidate of ABCI 2.0 (cmt 0.38)
* Integrate ABCI 2.0

### Modules

* Governance
* Make gov and groups composable with each other, not duplicate
* Staking
* Research a new staking design
* Begin Implementation
* Auth/Accounts v2
* Spec is merged
* Implementation is completed
* External Audit

### Research

* Feemarket Abstractions
* Spec on how to abstract fee markets to allow applications to write complex fee markets

## Q3

### Storage

* Audit & release of storage refactor
* Identify further optimizations for storage
* Goal is to identify the next bottlenecks in storage or the state machine

### Dev UX

* Complete Toolkit/SDK implementation refactor
* Goal is to release the new version of the sdk allowing for further composability
* Implement fee market abstractions
* Goal is to release an alpha version of fee market abstractions

### Modules

* Staking
* Complete staking redesign
* External Audit


### Research

* Nonce Lanes
* Goal is to produce a spec and/or viability of using lanes for nonces instead of a single sequence number.
* Merklization
* Research different trees and commitment structures

## Q4

### Research

* Stateless clients
* research how stateless clients could evolve in cosmos




This document will be updated at the end of the quarter on what was achieved and what was not. Shortly before the quarter concludes a new section will be added for the next quarter. We are working on updating the complete one year roadmap and will be posting it here as well.

0 comments on commit df6f25d

Please sign in to comment.