Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDE issue resolution grant application #1740

Closed
wants to merge 3 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions applications/ink_IDE_issues.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# INK IDE issue resolution

- **Team Name:** Antier Solutions
- **Payment Address:** 1XhNxALoCmXF86aiwZtdDJspjWZBiRX9UfbJ4jQsWN15eSu (DOT)
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2

## Project Overview :page_facing_up:

This proposal is for a grant for the RFP - https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/IDE_for_ink_Smart_Contracts.md#browser-based-ide-for-ink-smart-contracts
The purpose of this application is to undertake the following:
1. Update the `@ink-playground` repo and make ready it for online usage.
2. Update and improve the Documentation.

### Overview

Ink Playground is a web-based application that provides developers with an easy-to-use platform for testing and deploying smart contracts on the Substrate blockchain framework using the Rust programming language.
- With Ink Playground, developers can write and test smart contracts in a sandbox environment without the need for setting up a local development environment. This allows for rapid prototyping and testing of smart contracts without the need for extensive configuration.

### Project Details

The `@ink-playground` is a powerful tool that simplifies the process of developing smart contracts but it is currently out of use. There is a list of 20 open issues in this repo as when creating this document.

Issues we want to fix:
- [Support supplying ink! version in URL · Issue #427 · paritytech/ink-playground](https://github.com/paritytech/ink-playground/issues/427)
- [Update playground automatically upon new ink! release · Issue #197 · paritytech/ink-playground · GitHub](https://github.com/paritytech/ink-playground/issues/197)
- [Implement versioning for ink! playground · Issue #460 · paritytech/ink-playground · GitHub](https://github.com/paritytech/ink-playground/issues/460)
- [Support running code from crate docs · Issue #428 · paritytech/ink-playground · GitHub](https://github.com/paritytech/ink-playground/issues/428)

-We also aim to provide additional features for the IDE:
- **Local file system storage:** Use the indexed db file system of browser for contract storage.
- **Template contracts:** Provide contract templates similar to the Ethereum contract standards based on the popular use cases.
- **Ability to run contract functions** based on the metadata generated for a contract, this will help developers to prototype, test and debug the contracts faster.
- **Deploy contracts from the IDE:** Deploy the contracts to the remote contract execution environment by providing the remote endpoint.
- **Support to connect wallets:** Wallet integrations with the IDE for any required wallets (like Metamask) can be added as well.

### Ecosystem Fit

- The project should continue to be in use as it:
1. is platform-independent and can be accessed from any device with a web browser, which provides flexibility and accessibility for developers who work on multiple devices or need to switch between operating systems.
2. has a low barrier to entry as it doesn't require installation or setup, allowing users to start coding immediately.
3. Provide for better community support
4. Fastracks user adoption
5. Being browser-based, Ink Playground is more cost-effective than traditional desktop-based IDEs, as it doesn't require expensive software licenses or hardware upgrades.

## Team :busts_in_silhouette:

### Team members

- **Team lead:** [Shubham Gupta](https://github.com/s-h-ubham)
- **Team member:** [Shweta Saini](https://github.com/shweta2217)

### Contact

- **Contact Name:** Karan Chopra
- **Contact Email:** [email protected]

### Legal Structure

- **Registered Address:** E-221, Phase 8B, Industrial Area, Sector 74, Sahibzada Ajit Singh Nagar, Punjab 160059
- **Registered Legal Entity:** Antier Solutions Pvt. Ltd.

### Team's experience

- Antier is a thought-to-finish partner for customers in their blockchain journey. We advise and consult our clients on blockchain technologies and tailor solutions utilising our powerful blockchain ecosystem. We help customers experiment and deploy proof-of-concepts on blockchain technologies and incrementally expand to scale to production releases. Our thought leaders regularly educate customers, partners, CXOs on the power of blockchain for today and tomorrow.
- Workdone by Antier in Substrate ecosystem
1. Antier worked on the validator and nominator apps for substrate based blockchains to offer a unique and better user experience .
2. We have also worked on creating an optimised and homogenised design focused on improving the navigation, information architecture, user flow tasks, content design and graphic elements for a seamless and easy browsing experience.
3. We have customised the default reward mechanism in the staking pallet of the substrate chain by integrating the sustainability and reliability score(which is calculated by ESG scores and Uptime of the validators repectively) of the validators in the current reward system.
4. We were able to run EVM and WASM machines natively in the substrate chain so that the chain will be able to support both EVM(Metamask, Remix, Web3.js, etc) and WASM(WebAssembly target, INK framework, etc) tooling.
5. We were able to replicate the whole polkadot ecosystem(Relay chain, Parachains, XCM), Where parachains are use case specific chains and communicate through XCM protocol with each other.

- Our team has been proactively participating in the Substrate Stack exchange and we ask/answer question related to ink!, Substrate, parachain. We rank in the top 6% people in the Substrate Stack Exchange.

- Profiles of our team:
1. https://substrate.stackexchange.com/users/2372/arunjot-singh
2. https://substrate.stackexchange.com/users/2281/amit-kumar-yadav
3. https://substrate.stackexchange.com/users/354/shubham-gupta

- Our organisation is the technical partner for 5ire chain: https://5ire.org/

- Our team has worked on multiple IDE which include an EVM compatible IDE for solidity, IDE for WASM contracts for ink! based smart contracts. The EVM IDE is live and the link is : https://ide.5ire.network/


### Team LinkedIn Profiles

- Karan Chopra https://www.linkedin.com/in/karan-chopra-916880137
- Kulwinder Singh https://www.linkedin.com/in/kulwinder-singh-394384130
- Shubham Gupta https://www.linkedin.com/in/shubham-gupta95/


## Development Status :open_book:

This is a proposal for a project that has already been developed.

- **Total Estimated Duration:** 3.5 Months
- **Full-Time Equivalent (FTE):** 3 FTE
- **Total Costs:** 24,000 USD.

### Milestone 1 — Implement Ink's Dependency versioning

- **Estimated duration:** 3 Months
- **FTE:** 3
- **Costs:** 21000 USD

| Number | Deliverable | Specification |
| -----: | -------------- | ------------- |
| 0. | License | Apache-2.0 |
| 1. | Full Functioning IDE with updates | We will provide a full functioning IDE will be able to edit, compile, deploy and test out smart contracts |
| 2. | Dependency Version support | We will upgrade and maintain Ink! and `cargo-contract` dependencies versions up to date and have provision to have older version support |
| 3. | Ink! Upgrades | We will add the ability to add Playground's Ink! version support to latest version as soon as new version of Ink! is released |
| 4. | Select Ink! version from UI | Devs will be able to select the specific ink version they want to work with |

### Milestone 2 - Ink! crate docs code execution

- **Estimated duration:** 10 days
- **FTE:** 3
- **Costs:** 3000 USD

| Number | Deliverable | Specification |
| -----: | -------------- | ------------- |
| 0. | License | Apache-2.0 |
| 1. | Documentation | We will provide the API and a document on how to use the IDE playground |


## Future Plans
We intend to upgrade the ink! and `cargo-contract` dependencies to the latest stable versions for as long as the project remains funded.
We expect minor bug reports and feature requests, but do not intend to make major changes to the project, or introduce major new features.
We expect to continue to be involved in the Substrate / Ink! ecosystems, and to make additional grant proposals in the future.

## Additional Information :heavy_plus_sign:

**How did you hear about the Grants Program?** RFP portal