ICON Web Studio

ICON Web Studio

Develop and Test smart contracts in your browser
Submitted by: TechFlow.Space (a collaboration entity of iBriz - ICONOsphere in Nepal)

Introduction:

We propose to build a Web IDE where anyone can write, test and deploy SCORE directly in the browser. ICON Web Studio is a fully browser-based Integrated Development Environment (IDE) that will require no installations to run. Existing developers can easily test and run their code, and new developers can quickly learn and explore SCORE development.

We plan to have basic IDE features like syntax highlighting, files & folder explorer, smart contract interactor, and the ability to deploy & run SCORE in Testnet.

Motivation:

The number of developers & projects in the ICON ecosystem is increasing every day. In the past year alone, we had a huge influx of developers who built & deployed smart contracts in both the Testnet & Mainnet. The developer tools are still maturing in the ICON ecosystem, and as early ICONists, we take this as our responsibility to push the developer community forward.

We strongly believe that an IDE can be of tremendous use for the developer ecosystem as a whole.

iBriz-ICONOsphere has been involved in the development of several core projects in the ICON ecosystem including the Contribution Proposal System (CPS), Testnet Faucet, NFTs, IRC-2 tokens, and more recently Balanced, OMM and Bridge. From our experience, there is no easy way to write and deploy SCORE. Currently, developers need to set the development environment, write SCORE and then deploy from the terminal. This is a friction for beginners to get started in SCORE development.

Our motivation to build ICON Web Studio is to help new developers to learn and start SCORE development without any installations. For experienced developers can also test their SCORE without opening their local IDE.

Value for the ecosystem:

These are the potential value provided by ICON Web Studio:

  1. Make it easy for new developers to learn, test & deploy SCORE
  2. Introduce new developers to the ICON ecosystem
  3. Run templated SCORE (eg. Hello World) for beginners
  4. Experienced developers can test & run SCORE quickly
  5. Ability to fork existing open-source projects and make changes
  6. Increase transactions in the blockchain
  7. More activity & projects when new developers join ICON
  8. Save time

Deliverables:

We plan to release a complete Web IDE for SCORE development with the ability to write and deploy SCORE directly from the browser. This will be similar to Ethereum Studio & Clarity Tool (Stacks blockchain).

The expected features that we plan to deliver within the scope of the proposal are:

  1. Ability to run & deploy SCORE without any installation
  2. Explorer feature to create files & folders
  3. Interact with SCORE after it is deployed
  4. Create an empty project or use from a template
  5. Deploy directly in Testnet
  6. Fork existing project
  7. Share project

These features will make the Web IDE complete & usable for any developer. Future enhancements can be discussed after we release the beta version.

Future Enhancements:

Possible future enhancements are:

  1. Desktop app to run & deploy SCORE without any local installation (tbears)
  2. Ability to deploy SCORE directly to production
  3. More advanced features like debugging, auto-suggestion etc.

Project Milestones:

Phase 1: Research, Development + Prototype (1.5 month)

In this phase, we will research & finalize the architecture of the IDE. We also intend to launch a prototype for the community to provide us feedback.

  • Complete the architecture of the Web IDE
  • Start design & front-end development
  • Start back-end development
  • Release prototype

We have explored a few open-source IDE projects that can be forked and used for ICON Web Studio.

Phase 2: Soft Launch (1 month)

In this phase, we will complete the initial set of features and soft launch the Web IDE for the early users. This version will include most of the basic features from writing & deploying SCORE to interacting with the contract.

  • Soft launch as a public beta
  • Refine design
  • Continue back-end and front-end development

Phase 3: Final Launch (1.5 month)

In the final phase, we will complete all the features discussed in the deliverable section. These will include creating projects from templates & forking projects. We will also spend more time fixing bugs & providing finesse to the product.

  • Complete remaining features (templates, forks)
  • Bug Fixes
  • Refine design
  • Marketing

Funding Amount Requested:

For this proposal, we are requesting funding for the development and marketing of the project. The breakdown is as follows:

  1. Backend + SCORE Developer (1) ($10500 - $3500/m for 3 months)
  2. Backend Developer (1) ($4500 - $1500/m for 3 months)
  3. Front-end Developer (2) ($15000 - $2500/m x 2 for 3 months)
  4. Designer (1) ($4500 - $1500/m for 3 month)
  5. Marketing & Content Production (1) ($1800 - $600/m for 3 month)
  6. Product/Project Manager (1) ($4500 - $1500/m for 3 months)
  7. Infrastructure (Dev, Stage & Prod Environments) Expenses for 6 months ($3600 - $600 for 6 months)
  8. Part-time DevOps (Or as needed) ($2100 - $700/m for 3 months)

Total: $46,500 (Will add ICX value according to the price of application date)

We have added infrastructure expenses for 6 months as we will require to host servers and databases for development, staging and production environments.

Team:

Our team has built several projects in the ICON ecosystem in collaboration with iBriz - ICONOsphere, including but not limited to:

  1. Dice Roll Game: Developed ICX DiceRoll app – See it on GitLab here, play it here – http://diceroll.win/
  2. Contributed to the development of Balanced Network, OMM, Bridge & ODI projects.
  3. Testnet Faucet: ICX Testnet Faucet – Hosted by us and still in use by the developer community.- http://bit.ly/iBrizfaucet
  4. Running ICON Testnet Node
  5. Payment Gateway: Developed payment gateways for clients to receive their IRC-2 tokens
  6. NonFungible Token(NFT): Demonstration of a working non-fungible token (IDOL Token) and dApp development using tbears before the Testnet launch at the ICX Station SF Launchpad Kickoff event (9/6/2018) – http://bit.ly/38s4pnS
  7. ICON Contribution Proposal System
  8. Open Dev ICON - Contract Library
  9. AirDrip App

We are lucky to have contributed to several core projects in the ICON blockchain. With more than 60 developers in our network & their past experience, we feel extremely confident in the ability to build and deliver this project successfully in the given time.

Already Accomplished Sample Projects:

We are currently researching on an open-source IDE that will be forked and extended for the ICON Web Studio. Few options that we have explored are:

1.https://github.com/SuperblocksHQ/ethereum-studio
2. https://theia-ide.org/docs/composing_applications
3. https://github.com/ObsidianLabs/EthereumStudio
4. https://github.com/judge0/ide

Once we finalize the IDE, we will make the required changes for ICON development & deployment accordingly.