scrtlabs / Grants

Repository for grant proposal submissions
42 stars 22 forks source link

Cosmos Cockpit #89

Open faboweb opened 1 year ago

faboweb commented 1 year ago

Local Chain Cockpit - Grant Proposal

Checkout https://cosmos-dashboard.notion.site/Local-Chain-Cockpit-Grant-Proposal-d9294de8c4724445871ea5e1cb4af9a0 for a version including mocks

Intro

Running a local chain for the development of the chain itself or applications building on top of the chain can be quite cumbersome. Many moving parts need to be set up like running nodes, faucets, creating accounts etc. This gets even more complex with the introduction of IBC as more networks need to be run locally. In such a complex setup understanding what goes on and where is notoriously difficult. Data is either unavailable or displayed in such a terrible form that debugging falls back to a guessing game.

We propose a GUI that interacts with local chains and adds a Web2 feeling to chain development. We assume that such a tool would greatly decrease the barrier to entry for newcomers, and ease the development flow for developers in general resulting in a more vibrant developer ecosystem.

Why us

We, Fabian Weber (https://www.linkedin.com/in/fabian-weber-04100a37/) and Joon Whang (https://www.linkedin.com/in/joon-w/) are especially suited to deliver this GUI solution. Fabian lead the development of the first Cosmos wallet. Joon works currently at Composable Finance on Smart Contract visualisation for Cosmos and Polkadot. Both worked at Tendermint on Emeris and therefor have a deep understanding of the Cosmos interactions and data models. We are user-focused GUI first developers that understand visual representations of complex technical problems. We worked on Electron applications before and showed that we can deliver by winning Seoul Hackatom 2022.

Full Feature Set

Data

Chain Interactions

Chain Environment

Milestones

We propose to break down development into several milestones that get progressively funded. This guarantees that expectations of quality and quantity are met by both sides.

M1 Data Displaying

The delivery of this milestone is a fully bootstrapped repository. The GUI tool will act as a local block explorer. The repository will be open source contribution friendly.

Features

Funding and estimation

A lot of bootstrapping work needs to be done in this step. 40000$ and delivery in 2 months

M2 Chain Cockpit

Developing of IBC chains is a hassle as the developer needs to launch multiple chains and needs to keep track of their status. We propose to integrate running and monitoring chains into the GUI.

Features

Funding and estimation

Tracking of the chain daemons and interacting with container tools (likely docker) will require many investigative work. 40000$ and delivery in 2 months

M3 IBC Visualisation

IBC transactions are complex executions across multiple chains. Tracking execution involves many queries. We propose a visualisation for IBC transactions across all chains running locally.

Features

Funding and estimation

The visualisation of the IBC execution requires some design research. 30000$ and delivery in 1.5 month

M4 Node Daemon Interactions

To allow a developer to easily setup developer accounts and fund them we propose adding a GUI for this process.

Features

Funding and estimation

30000$ and delivery in 1.5 months

M5 Live State Machine Displaying

To allow a developer to track updates to the state in real-time we propose to show the state of each module live. To achieve this we need to interact with the local binary and write events to a database.

Features

Funding and estimation

We will base the milestone on work done at Ignite, but displaying live IAVL data has not been done before, so we expect unknowns. 30000$ and delivery in 1.5 months

Funding and estimation

We are estimating 1 FTE working on the project. For the cost analysis we are using a fair market value for senior software developers with strong Cosmos SDK exposure. The cost per month comes to $20k per month including compensation, risk and expenses. The total grant amount therefor is $170k and all milestones should be delivered after 8.5 months. This product will potentially benefit all of Cosmos SDK chain development. We want to work with the biggest chains to ensure we provide value to them. Of that reason, we think not one entity should carry the burden off funding this project alone. We are therefor seeking funding from several of the biggest networks.

Outlook

We can imagine this tool becoming the center for Cosmos chain development. Cosmos devs would do any analytics and debugging using the Chain Cockpit. Once done with their local development they would deploy their chains through Ignite, Saga or other chain incubators from within the tool and continue debugging deployed chains.

Thank you

Thank you for reading through this grant proposal. We are looking forward to your feedback.

Checkout https://cosmos-dashboard.notion.site/Local-Chain-Cockpit-Grant-Proposal-d9294de8c4724445871ea5e1cb4af9a0 for a version including mocks