[Draft] Proposal#43 Integrating ChainIDE: Empowering the IRIS Developers with a Web-Based Multichain Tooling Platform

*Project links
https://chainide.com/

*Description of your company/project.
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. It is designed to streamline the development process by providing a user-friendly interface and a suite of tools and services to help developers write, test, and deploy smart contracts and dApps.
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.

*What and how would you/your project improve the IRISnet ecosystem?
First, IRISnet 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 IRISnet 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.

  • 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 IRISnet 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 IRISnet, developers from other public chains will have the opportunity to learn about IRISnet 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 IRISnet ecosystem.

*What is your detailed work plan? (e.g work period, timeline/work phases, expected results/achievements etc)

First, we plan to build a comprehensive and user-friendly development environment for IRIS net 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 IRIS net using our proposed ChainIDE-IRIS net solution.

At the same time, we will provide a bunch of features customized for IRIS net, including IRIS Tookit, which allows users to quickly issue FT and NFT, and IRIS CLI Sandbox, which users can invoke IRIS CLI in the browser.

Finally, developers are provided with an extremely interactive user interface for all IRIS net 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 IRIS net

    • 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 directly with the blockchain explorer and its API to verify source code after contract deployment.

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

  • Full-Stack Development Environments:

    • On-demand container sandbox for IRIS net 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.js, etc.

    • Out-of-box advanced ChainIDE features like React/JSX support, GitHub Integration, Solidity project templates, logger and cloud project storage, etc.

  • IRIS Toolkit: This feature allows users to issue FT and NFT via web GUI with just a few clicks, which is implemented by wrapping IRIShub-sdk-js in ChainIDE. And we will add more functionalities into the toolkit later.

  • Long-Term Support: new features of EVM will be updated in the IRIS net ChainIDE, potentially including

    • Solidity LSP running in the sandbox

    • Solidity auto formatter

    • Coding AI Copilot

After the launch of IRIS net ChainIDE, we plan to host developer events like bootcamps to attract people to learn about and participate in the IRIS net 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 IRIS net community.

Milestone 1 [Infrastructure-related] [15d]

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 IRIS net.

Milestone 2 [Chain-related] [30d]

Customized IDE features for IRIS net:

Functional Module Description
Front-end UI Design a customized style of UI for IRIS net.
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 IRIS net through Metamask.
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 IRIS net development. (Hardhat, Truffle, Ganache, and IRIS CLI)
IRIS Toolkit Provide the feature to allow users to issue FT and NFT via web GUI, which is implemented by wrapping IRIShub-sdk-js in ChainIDE.

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 IRIS net.
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 IRIS net IDE.

*How will the improvement that you provide be quantitatively measured?

Firstly, by integrating CIDE with the IRISnet ecosystem, we expect to see a significant increase in the usage of CIDE by IRISnet developers. CIDE comes with its own developer community and user base, comprising a large number of active developers across different public chain ecosystems. Based on our past experience of collaborating with other public chains, we anticipate at least 1000 IRISnet developers utilizing CIDE for their development processes, resulting in a usage estimate of 15k+.

Secondly, CIDE’s integration with IRISnet will also make it more convenient for developers to migrate their smart contracts deployed on other public chains to IRISnet through CIDE. This will result in an increase in the number of smart contracts deployed on IRISnet, with an expected deployment of 3.2K+ smart contracts and 1.6K+ projects.

*What kind of resources are being requested?

Firstly, we are hoping to receive grants from IRISnet. The integration of ChainIDE with IRISnet involves significant development costs. The grants will be used to pay for the salaries of the development team to alleviate our financial pressure. Based on our evaluation of the development workload, we estimate that completing the project development for all 3 milestones will require a total cost of over 【40000】 USD. After completing each milestone, we will sync our progress with the IRISnet team and assist with project acceptance. By investing funds into the development of the ChainIDE project, we can greatly enhance our products and create better development experiences for the IRISnet community.

The budget will be allocated and used as follows:

Milestone 1: 13,000 USD

Milestone 2: 21,000 USD

Milestone 3: 6,000 USD

Secondly, with regard to technology, we have identified two issues that may impact the development of ChainIDE IRIS. We require API documentation for IRISHUB scan, similar to the Etherscan API documentation. This will enable us to develop the IRISHUB scan verify plugin, which will allow users to easily verify Solidity smart contracts with a single click by entering their API key.

Lastly, we are also looking forward to an official web page that can facilitate the cross-chain transfer of assets between IRISHUB and EVM. This will make it easier for developers to request and claim testnet tokens on the cloud for testing purposes, and we plan to integrate this page into ChainIDE by providing a link.

We are delighted to have received recognition from numerous partners, and the following link showcases some of our achievements.

Verified development tooling of Etheruem

META(Middle East Turkey Africa) web3 builder competition we co-hosted

The announcement of the partnership between ChainIDE and BSC

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

One of the selected projects of the Sui Grants Program
https://twitter.com/SuiNetwork/status/1650929377973260288

Note: This proposal serves as the comprehensive plan and implementation strategy for ChainIDE for Iris. Due to the considerable duration of the development cycle, to mitigate the impact of Iris price fluctuations, the budget outlined in the proposal is entirely USD-based and has not been converted into a corresponding quantity of Iris tokens. After the completion of each milestone, we will submit a separate proposal that includes the specific amount of Iris tokens. The exchange rate for IRIS will be based on the CoinMarketCap IRIS/USDT rate at 11:59 PM China time on the day prior to the proposal submission.

1 Like