From ee9234bf276dec9624f11f8c71717a0a2cf760f5 Mon Sep 17 00:00:00 2001 From: Jasti Sri Radhe Shyam Date: Wed, 29 Nov 2023 06:49:16 +0530 Subject: [PATCH] add Larch phase 2 Signed-off-by: Jasti Sri Radhe Shyam --- applications/zeeve_larch_phase_2.md | 238 ++++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 applications/zeeve_larch_phase_2.md diff --git a/applications/zeeve_larch_phase_2.md b/applications/zeeve_larch_phase_2.md new file mode 100644 index 00000000000..c02a1d05e54 --- /dev/null +++ b/applications/zeeve_larch_phase_2.md @@ -0,0 +1,238 @@ +# Zeeve Larch + +- **Team Name:** [Zeeve](https://www.zeeve.io) +- **Payment Address:** `0x5E1257E928aa42E3D0cd9E2A7537E37D108D811B` Ethereum (USDT/USDC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview :page_facing_up: + +This grant is follow up grant of [Zeeve_zoombienet_deployment_testing_automation](https://github.com/w3f/Grants-Program/pull/1399) & [Update Zeeve Larch team, duration and deliverables](https://github.com/w3f/Grants-Program/pull/1744) + +### Overview + +**Zeeve Larch** : GUI for Zombienet + +**Zeeve Larch** is a cross-platform GUI application that provides a user-friendly interface for managing and monitoring Polkadot and Substrate networks. It is built on top of the Zombienet CLI tool, which allows users to easily spawn ephemeral Polkadot/Substrate networks and perform tests against them. + +The following work will improve and add more capabilities to the existing tool making it more extensible in terms of configuration parameters and utility functionalities. + +### Project Details + +**Zeeve Larch** is currently can do a deployment of with main configurations but still lacks many other configuration parameters that was introduced during the previous development cycle and guided declarative testing input. +The following development will result in rich configuration parameters and guided declarative testing input, along with Monitoring support in Kubernetes based deployments. + +**Mocks** + +- Node Groups (Mock) + + ![Node Groups](https://raw.githubusercontent.com/Zeeve-App/larch/main/docs/assets/node_groups_mock.png) + +- Collator Groups (Mock) + + ![Collator Groups](https://raw.githubusercontent.com/Zeeve-App/larch/main/docs/assets/collator_groups_mock.png) + +- Config Download (Mock) + + ![Download](https://raw.githubusercontent.com/Zeeve-App/larch/main/docs/assets/config_download_mock.png) + +- Upload Config to template (Mock) + + ![Upload](https://raw.githubusercontent.com/Zeeve-App/larch/main/docs/assets/config_import_mock.png) + +- `zndsl` UI design + + ![zndsl_mock](https://raw.githubusercontent.com/Zeeve-App/larch/main/docs/assets/zndsl_mock.png) + +**Technology stack** would be same as we used earlier for the project: +- NodeJS +- SQLite +- ReactJS +- TailwindCSS +- Lerna +- Zombienet libraries and binary +- Kubernetes & Podman +- Prometheus, Grafana + +**Core Components** +- Larch Backend + - Consists of API's, UI bundle and network management logic. +- Larch UI + - GUI of Larch which will bundled and compiled within Larch Backend for serving the UI. +- Larch CLI + - The CLI component of Larch, starts the Larch service and provide other helper functionalities. + +The core components are compiled into a single executable binary, which can directly be run on any Linux x86_64 machine. + +**Architecture** + +![Larch Architecture](https://raw.githubusercontent.com/Zeeve-App/larch/main/docs/assets/larch_architecture.png) + +The proposed work will implement utility functions like import/export of configurations, logs download and add more Zombienet configuration parameters to the multiple services along with monitoring support for K8 based deployments. Podman based deployment will be maintained with major focus will on Kubernetes based deployment. + +### Ecosystem Fit + +- Where and how does your project fit into the ecosystem? + - **Zeeve Larch** improves the Polkadot/Substrate based network testing done by Zombienet by providing GUI layer to the it. +- Target Audience + - Parachain developers, Polkadot/Substrate based Network Deployment teams +- **Zeeve Larch** resolves the need for GUI layer for Zombienet project. +- Currently, there is no similar project to **Larch** in the Substrate/Polkadot/Kusama ecosystem, the closet is Zombienet which we are utilizing and building upon. + +## Team :busts_in_silhouette: + +### Team members + +- Sankalp Sharma +- Jasti Sri Radhe Shyam +- Supravat Samanta +- Gowrish + +### Contact + +- **Contact Name:** Ghan Vashishtha +- **Contact Email:** ghan@zeeve.io +- **Website:** www.zeeve.io + +### Legal Structure + +- **Registered Address:** 1603 Capitol Ave Ste 310, Cheyenne 82001, WY +- **Registered Legal Entity:** Zeeve Inc. + +### Team's experience + +Founded by a team of experienced professionals and entrepreneurs from industry, Zeeve's co-founders collectively have over 45+ years of experience in technology, product development, and various business verticals. Zeeve has built an enterprise-grade no-code Blockchain Infrastructure Automation platform that enables Enterprises, Blockchain Startups, Blockchain Consulting Companies and Web3 Developers to deploy Blockchain nodes and Decentralised Apps within minutes, and manage them with advanced analytics and real-time alerts. In June 2022, the Startup raised $2.65 Million in a Seed Round from Leo Capital and Blu Ventures. It plans to deploy the funds towards product development, augmenting the technology team and enhancing its reach among DApp developers and global corporations, please consider visiting our prior [work](https://www.zeeve.io/platform). + +### Team Code Repos + +- https://github.com/Zeeve-App +- https://github.com/Zeeve-App/larch +- https://github.com/Zeeve-App/supernets2-data-availability +- https://github.com/Zeeve-App/supernets2-contracts +- https://github.com/Zeeve-App/ink-playground +- https://github.com/Zeeve-App/sawtooth-artifacts +- https://github.com/Zeeve-App/Zeeve-read-the-docs + + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- https://github.com/radhe-zeeve +- https://github.com/supravat-zeeve +- https://github.com/gowrishZeeve +- https://github.com/sankalpZeeve + +### Team LinkedIn Profiles (if available) + +- https://www.linkedin.com/in/ghan-vashishtha/ +- https://www.linkedin.com/in/sankalp-sharma-502008139/ +- https://www.linkedin.com/in/jastisriradheshyam +- https://www.linkedin.com/in/supravat03 + +## Development Status :open_book: + +- **Project Link**: [Zeeve-App/larch: Zeeve Larch is a GUI frontend for Zombienet CLI](https://github.com/Zeeve-App/larch) +- **Blog**: [Zeeve's Larch: Polkadot/Substrate Zombienet Automation and Monitoring with an Intuitive GUI Tool](https://www.zeeve.io/blog/zeeves-larch-polkadot-substrate-zombienet-automation-and-monitoring-with-an-intuitive-gui-tool/) +- **Previous Grant**: [Grants-Program/applications/Zeeve_Parachain_deployment_zoombienet_testing_automation.md at master · w3f/Grants-Program](https://github.com/w3f/Grants-Program/blob/master/applications/Zeeve_Parachain_deployment_zoombienet_testing_automation.md) +- Automated Polkadot deployments including validator nodes, archive nodes [Polkadot Node | Launch Your Polkadot Node With Zeeve in Minutes](https://www.zeeve.io/blockchain-protocols/deploy-polkadot-node/) +- Automated Kusama deployments including validator nodes, archive nodes [Kusama | Blockchain Deployment and Management Platform | Zeeve](https://www.zeeve.io/blockchain-protocols/deploy-kusama-node/) +- Created a relay chain on substrate with some customisations done at the core to accommodate the tokenomics and custom reward mechanism [AXIA Blockchain Portal](https://axscan.axiacoin.network/#/explorer) +- Published a [blog post](https://www.zeeve.io/blog/how-to-use-substrate-to-create-parachains-in-polkadot/) about the usage and implementation of parachains +- Spoke with David Hawig, Richard Casey and Gautam Dhameja from the Parity team regarding the development of Zeeve and the Web3 Grant application + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 6 months +- **Full-Time Equivalent (FTE):** 4 +- **Total Costs:** 24,000 USD + +### Milestone 1 — Monitoring Support for K8 deployments + +- **Estimated duration:** 25 Days +- **FTE:** 4 +- **Costs:** 4500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | GPLv3 | +| **0b.** | Documentation | We will provide the **tutorial** to that explains how a user can create a network configuration and start the network | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 1. | Monitoring for k8 based deployment | We will add Monitoring support to kubernetes based deployment | +| 2. | In App docs update | Update in app docs to reflect the features added in the current milestone | +| 3. | Update Zombienet version | Update supported Zombienet version to latest stable version at the time of release | + + +### Milestone 2 — Zombienet global parameters support + +- **Estimated duration:** 20 Days +- **FTE:** 4 +- **Costs:** 3000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | GPLv3 | +| **0b.** | Documentation | We will provide the **tutorial** to that explains how a user can create a network configuration and start the network | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 1. | Zombienet global parameters support | Add All possible Global parameters in template creation corresponding to the supported Zombienet version [settings](https://paritytech.github.io/zombienet/network-definition-spec.html#settings) | +| 2. | In App docs update | Update in app docs to reflect the features added in the current milestone | +| 3. | Update Zombienet version | Update supported Zombienet version to latest stable version at the time of release | + +### Milestone 3 — Export & Import of config + +- **Estimated duration:** 40 Days +- **FTE:** 4 +- **Costs:** 8,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | GPLv3 | +| **0b.** | Documentation | We will provide the **tutorial** to that explains how a user can create a network configuration and start the network | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 1. | Zombienet config import & Export | We will add Zombienet config import & export support of the template | +| 2. | Zombienet Parachain and Relaychain node group config support | Add All possible Parachain (not collator & collator groups) and node group config in template creation corresponding to the supported Zombienet version [Parachains](https://paritytech.github.io/zombienet/network-definition-spec.html#parachains) & [node_groups](https://paritytech.github.io/zombienet/network-definition-spec.html#relaychain) | +| 3. | In App docs update | Update in app docs to reflect the features added in the current milestone | +| 4. | Update Zombienet version | Update supported Zombienet version to latest stable version at the time of release | + + +### Milestone 4 — Collator and Collator NodeGroup config + +- **Estimated duration:** 20 Days +- **FTE:** 4 +- **Costs:** 3,000 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | GPLv3 | +| **0b.** | Documentation | We will provide the **tutorial** to that explains how a user can create a network configuration and start the network | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 1. | Zombienet Collator and Collator NodeGroup config support | Add All possible Collator and Collator NodeGroup config in template creation corresponding to the supported Zombienet version [collator_groups](https://paritytech.github.io/zombienet/network-definition-spec.html#parachains) & [collator](https://paritytech.github.io/zombienet/network-definition-spec.html#parachains) | +| 2. | In App docs update | Update in app docs to reflect the features added in the current milestone | +| 3. | Update Zombienet version | Update supported Zombienet version to latest stable version at the time of release | + +### Milestone 5 — Zombienet `zndsl` guided setup + +- **Estimated duration:** 30 Days +- **FTE:** 4 +- **Costs:** 5,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | GPLv3 | +| **0b.** | Documentation | We will provide the **tutorial** to that explains how a user can create a network configuration and start the network | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| 1. | Zombienet `zndsl` guided setup | We will implement guided input for Zombienet `zndsl` testing config based on `zndsl` spec: [Testing DSL spec - 🧟🧟🧟 ZombieNet 🧟🧟🧟](https://paritytech.github.io/zombienet/cli/test-dsl-definition-spec.html) | +| 2. | In App docs update | Update in app docs to reflect the features added in the current milestone | +| 3. | Update Zombienet version | Update supported Zombienet version to latest stable version at the time of release | + +## Future Plans + +- We will promote the project by giving talks in the community, writing tutorials and videos. +- We will spread the project in Zeeve's developer and client community of 27K+ +- We will also work closely with the developers and clients of the Parity ecosystem for getting feedback and refine our project. +- Our long-term plan is to make the tool become one of the default Parachain tools for the Parity ecosystem. + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website / Parity team / a conversation with Richard Casey. + +- Previous grants: [Zeeve_zoombienet_deployment_testing_automation](https://github.com/w3f/Grants-Program/pull/1399) ( [Update Zeeve Larch team, duration and deliverables](https://github.com/w3f/Grants-Program/pull/1744) )