Developers Forum for XinFin XDC Network

Cover image for Proposal: ChainIDE, a web-based developer tooling platform
BlairQu
BlairQu

Posted on • Updated on

Proposal: ChainIDE, a web-based developer tooling platform

Project Information

Overview

ChainIDE is a web-based tooling platform that provides one-stop development services for blockchain developers. By providing cloud-based user experiences, ChainIDE enables users to immediately begin developing decentralized applications without configurations or any pre-installed software on their local system.

Besides the ChainIDE tooling product, we also provide community support for beginners through detailed tutorials, Q&A sections, and online/offline developer events. It benefits blockchain providers by promoting their platforms and techniques.

Ecosystem Benefits

First, XDC developers can enjoy a better development experience and higher coding efficiency. Additionally, we have accumulated a large number of active blockchain developers over the course of our long-term operation. Developers from other ecosystems can easily join in building XDC after the integration. We can provide a comprehensive set of convenient tools, as well as a multichain developer community. We have supported several chains, and most of them have experienced rapid growth in developer activity.

Targeted Users

  • For beginners:

We will frequently hold various developer events in different countries, including a complete set of development courses, to teach beginners how to develop blockchain projects step by step. Additionally, we have long-term relationships with colleges and developer communities in China and the Middle East, which can provide us with a sustained and stable flow of new developers.

  • For XDC developer:

The ChainIDE platform can significantly increase developers' efficiency. We offer pre-written project templates tailored to different use cases for developers to reference. Furthermore, we will continue to develop more practical features to enhance the programming experience for developers.

  • For blockchain developers from other ecosystems:

ChainIDE is one of the largest developer traffic portals. After the ChainIDE platform launches on XDC, developers from other public chains will have the opportunity to learn about XDC through ChainIDE. Additionally, developers can easily migrate between different EVM chains on ChainIDE. With appropriate marketing campaigns and incentive strategies, this can encourage developers to turn to building the XDC ecosystem.

Main Features

First, we plan to build a comprehensive and user-friendly development environment for XDC on our ChainIDE platform, enabling developers to develop smart contracts as usual. Developers can complete the dApp development lifecycle (development, testing, publishing, releasing, frontend development) in a full-featured, cloud-based development environment. Since ChainIDE is a multi-chain development platform that provides a unified user experience, users can easily migrate their solidity-based decentralized applications (dApps) from other chains to XDC using our proposed ChainIDE-XDC solution. Finally, developers are provided with an extremely interactive user interface for all XDC CLI tools, allowing for convenient testing and debugging of their dApps.

We will offer the following useful features:

  • Language Support Essentials for Solidity:

    • Syntax highlighting
    • Solidity language support & linter
    • Solidity code formatter
    • A Multi-version, 2-layered (browser and backend) solidity compiler service
  • Smart Contract Toolbox that includes the below functionalities with a dashboard UI

    • Compile
    • Deploy
    • Interact
    • Transaction Viewer
  • ChainIDE Plugins: we will provide the below plugins that facilitate developers in smart contract development in XDC

    • Flattener: A tool used to package Solidity smart contract code into a single file. The Flattener tool can merge scattered code files into a single file for easier deployment and testing.
    • Debugger: ChainIDE provides a debugging plugin for the Solidity language, which has functions such as breakpoints and single-stepping, and allows users to view Solidity State, Step Details, Stack, Memory, Callstack, Calldata, Global Variables, Return Value, Full Storage Change, and other information at each step.
    • Contract Verifier: The ChainIDE-Verifier tool interacts with Scan API and Scan directly to verify source code after contract deployment.

    Note: We will open-source the plugin template so all XDC developers can develop plugins based on the documentation.

  • Full-Stack development environments:

    • On-demand container sandbox for XDC dev environment to provide the same user experience as users' local dev machine.
    • Pre-installed tooling running in container environments, including smart contract toolkits like Hardhat, Truffle, and Ganache, frontend frameworks like React, and backend frameworks like express, etc.
    • Out-of-box advanced ChainIDE features like React/JSX support, GitHub Integration, Solidity project templates, logger and cloud project storage, etc.
  • Long-Term support: new features of EVM will be updated in the XDC ChainIDE, potentially including

    • Solidity LSP running in the sandbox
    • Solidity auto formatter
    • Coding AI Copilot

After the launch of XDC ChainIDE, we plan to host developer events like bootcamps to attract people to learn about and participate in the XDC ecosystem. We can discuss the specific format of the events in more detail at a later time and make adjustments based on your needs. Typically, the bootcamps last for six weeks. In the first three to four weeks, we invite professionals to give lectures on the topic. After completing the lecture portion of the bootcamp, we will have the students work on team projects to apply the knowledge they learned. We will score and rank those team projects to identify the most promising developers and projects and bring them together so that they can ultimately contribute to the XDC community.

Team

Our team has been working in the blockchain field for more than five years. The core members have a combined experience of more than ten years in computing science and more than five years in blockchain development experiments. Additionally, we have over 30 product developers and a research and development team comprising ten senior engineers to ensure the effective and high-quality delivery of our products and services.

Roadmap and Milestones

Milestone 1 [Infrastructure-related] [10d]

Cloud-based IDE base functions:

Functional Module Description
User system Provide GitHub login and cloud cross-platform login for users and guests.
Project module Provide both cloud and browser storage functions for projects, allowing developers to switch between storage modes based on individual needs.
File system Support various file operation functions. Plus, include pull & push from GitHub/Gist.
Front-end support Provide front-end editing, display, preview, and other functions that support multiple languages(JS, Html. CSS, Sol, Rust, etc).
Sandbox development environment Provide a cloud-based Sandbox environment where users can run a terminal on ChainIDE XDC.

Milestone 2 [Chain-related] [20d]

Customized IDE features for XDC:

Functional Module Description
Front-end UI Design a customized style of UI for XDC.
Smart contract template Provide smart contract templates for quick start development.
Wallet module Provide a wallet module that allows users to check wallet information, and interact with the XDC through Metamask and XDC Wallet.
Editor Provide common features of a Solidity language editor that meet the needs of most developers.
Plug-in system Provide multiple web3 plugins to facilitate user operations such as JS VM, debugging, verification and open-source plugin system.
Terminal image support Provide Terminal Images commonly used for XDC development.

Milestone 3 [Maintenance-related] [long-term]

long-term maintenance & feature updates.

Functional Module Description
Cloud storage Provide long-term cloud storage support to ensure the long-term availability of ChainIDE XDC.
Software upgrade - Keep the SDK and image versions up-to-date to ensure software availability on a regular basis.
- EVM features released in the future will be added to XDC IDE.

Grants Request

We respectfully request a grant of 20,000 USD from the XDC foundation to cover part of the development costs the project. Our plan is to set up a project team of eight people, and we anticipate that the development process will take approximately one month. The grant we are requesting will be used to pay employee salaries, which will greatly alleviate our financial pressure.

The budget will be allocated and used as follows:

Milestone 1: 7,000 USD

Milestone 2: 13,000 USD

MVP

Demo video: https://www.dropbox.com/s/5xhxo4c2he8qqh7/XDC%20ChainIDE.mp4?dl=0

Metrics

  • Total Usage: 12.6M
  • Average Daily Usage: 12.4K
  • User: 213.9K
  • Use Time(hours): 1.3M
  • Project Deployed: 3.7M
  • Public Chain Supported: 8
  • Twitter followers: 17.2K

Relevant links

Official website
https://chainide.com/

The announcement of the partnership between ChainIDE and BSC
https://www.binance.org/en/blog/chainide-now-supports-binance-smart-chain/

Master class hosted with Binance
https://www.binance.com/en/event/masterclass_jan

The recorded video of Master Class
https://www.youtube.com/results?search_query=Careers+in+blockchain+-+8+Weeks+program

Verified development tooling of Etheruem
https://ethereum.org/en/developers/learning-tools/

MENA(Middle East Turkey Africa) web3 builder competition we co-hosted
https://middle-east.alibabacloud.com/campaign/web3-developer-competition

Contact

Discussion (2)

Collapse
gzliudan profile image
Daniel Liu • Edited on

Does ChainIDE support XDC blockchain now ? If you need technology support, please add my wechat: gzliudan .

Collapse
blairqu profile image
BlairQu Author

Not yet. We wanna use the bounty grants to integrate XDC on ChainIDE.