ton-society / grants-and-bounties

TON Foundation invites talent to imagine and realize projects that have the potential to integrate with the daily lives of users.
https://ton.org/grants
294 stars 133 forks source link

Online browser IDE for TON #137

Open ilyjs opened 1 year ago

ilyjs commented 1 year ago

Summary

Online browser IDE to allow creating, editing, deploying, and debugging FunC TON Smart Contracts.

Context

Creating your first TON contract is a challenging endeavor and requires installing, configuring, and running multiple tools. In the first step, we want to create a tool allowing beginners to quickly start, run, deploy and debug smart contracts with no setup required.

I created an MVP with the help from @thekiba and @kirjs https://github.com/ilyjs/ton

MVP: TON IDE

image

https://user-images.githubusercontent.com/10959044/214096140-184d0cb9-2a3b-4ea4-a453-1723ad7e4d04.mp4

Goals

New users can open a browser page and start working with TON smart contracts.

Deliverables

Definition of Done

Reward

MVP: @ilyjs ($40/hr) total 52hrs Education - 4hrs Creating MVP - 40hrs Consulting/Brainstorming - 8hrs

@thekiba ($50/hr) total 12hrs UI Polishing and add script files - 5hrs POC 4hrs Consulting/Brainstorming 3hrs

@kirjs ($50/hr) total 9hrs Education 4hrs Consulting/Brainstorming 5hrs

Footstep: Ability to create/delete/rename/move files - 40hrs Refactoring and update dependencies to func-js - 20hrs Deploying contracts to Testnet - 40hrs Research and сonsulting - 20hrs IDE available online on github pages and hosted on Firebase Hosting - 1h

Total 121hrs

Total 7970$ in TON equivalent

SwiftAdviser commented 1 year ago

Nice! TON IDE is a very important initiative!

delovoyhomie commented 1 year ago

How much money do you need in the end for the reward?

LaDoger commented 1 year ago

I really need this! Please! Please! Please make it happen!

My favorite ETH tool: https://remix.ethereum.org/

Need one for TON as well. I'm not a PHD in computer science so I need a simple tool!

ilyjs commented 1 year ago

How much money do you need in the end for the reward?

Total: $3130 MVP + $4840 new features = $7970 . If the amount exceeds the limit then I suggest using 2 tranches.

Naltox commented 1 year ago

Would be nice to use https://github.com/ton-community/blueprint as a standard way to develop contracts using this IDE

ilyjs commented 1 year ago

Would be nice to use https://github.com/ton-community/blueprint as a standard way to develop contracts using this IDE

Thanks, great suggestion, we would definitely love to support project templates in feature releases.

delovoyhomie commented 1 year ago

@kirjs, @thekiba write something here for me to assign you

thekiba commented 1 year ago

@delovoyhomie Sure, I would be happy to take on an assignment

kirjs commented 1 year ago

👋

SwiftAdviser commented 1 year ago

Hey guys, any updates? 🙂

ilyjs commented 1 year ago

Hello Roman,

Here's an update:

Completed tasks: ✅ Create/delete/rename/move files ✅ drag and drop file upload ✅ Refactoring and updating of dependencies for func-js.

Remaining tasks: ⏳ Deploying contracts to Testnet. ⏳ Deploying the IDE to github pages/Firebase.

ilyjs commented 1 year ago

Hello everyone,

Here are the latest updates: 🔬 I've checked deployment possibilities and, at @Naltox request, decided to implement the template http://github.com/ton-community/blueprint. Currently, I'm working on solving problems to ensure the proper functioning of the blueprint, including deployment.

❌ I tried http://www.skypack.dev, which allows installing npm packages in the browser. However, this technology doesn't fully support running all modules.

🏆 I tested a new technology that has recently been released in a stable version, http://webcontainers.io. "WebContainers allow running Node.js applications and OS commands in-browser." After evaluating the capabilities of this technology, I'm starting to implement webcontainers. As soon as a minimally viable version is ready, I will provide a link.

From now on, I will provide updates on the changes every week.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates: ⚙️ I've changed the project build and switched to vite.

💅 Redesigned the layout.

⏳ Currently, I am working on adapting the webcontainers file system.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates: ✍️ Added the functionality to create a blueprint project via a dialog box.

⏳ 🏁 Currently, I am finalizing the adaptation of the file system in web containers.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates:

✅ File system adaptation is completed. The project can now be assembled. ✅ Stylized and polished dialog box with template selection. ⏳ Set up synchronization between the file system and the editor. ⏳ Implement the ability to deploy smart contracts.

https://github.com/ton-society/ton-footsteps/assets/10959044/f24165c3-68ce-411d-bdba-5c696b13f612

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates:

⏳🏁 Currently, I am finishing the synchronization setup between the file system and the editor. ⏳ Implementing the ability to deploy smart contracts.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates:

✅ Synchronization between the file system and the editor. ⏳ Resolving issues with adding new folders and files to the file system. ⏳ Implementation of the ability to deploy smart contracts.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates:

✅ Resolving issues with adding new folders and files to the file system. ⏳ Implementation of the ability to deploy smart contracts.

ilyjs commented 1 year ago

Hello, Here are the latest updates:

⏳ 🏁 Currently, I am finishing the implementation of smart contract deployment feature.

ilyjs commented 1 year ago

Hello, Here are the latest updates: ✅ Smart contract deployment functionality is ready. ⏳ Bug fixes and code polishing.

There is currently an issue with deploying the tonkeeper smart contract. Smart contracts are being deployed on the testnet and mainnet. Within the next 7 days, I will deploy the project and provide a link.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates: Here is the link to the project: https://ilyjs.github.io/ton-ide/. Currently, the issue with deploying the tonkeeper smart contract persists. 🍾 Link provided. ⏳ Working on fixing the issue with deploying the tonkeeper smart contract.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates: ⏳ I am working on resolving the deployment issues with the tonkeeper smart contract. The solution to this problem may take a few weeks.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates: ⏳🏁 I am finishing the task of deploying the tonkeeper smart contract.

ilyjs commented 1 year ago

Hello, Here are the latest updates: ✅ The task of deploying the tonkeeper smart contract is completed. ⏳ Bug fixes and code polishing.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates: ⏳🏁 I am finishing bug fixes and code polishing.

ilyjs commented 1 year ago

Hello everyone, Here are the latest updates: ✅ Bug fixes and code polishing. ✅Creating a proxy for smart contracts on TonKeeper.

The project has been updated at https://ilyjs.github.io/ton-ide/.

ilyjs commented 1 year ago

@delovoyhomie Stage completed.

The most logical next steps are:

https://github.com/ton-society/ton-footsteps/assets/10959044/6032132f-a945-4390-90cb-dcfea1e73af1

https://github.com/ton-society/ton-footsteps/assets/10959044/d482dc93-98b6-4b60-bca7-433dc9dfe300

https://github.com/ton-society/ton-footsteps/assets/10959044/6b1a99b7-8689-437f-b8f9-567b795f5c95

https://github.com/ton-society/ton-footsteps/assets/10959044/13077537-4527-4855-9125-44b1d2788478

ilyjs commented 1 year ago

@delovoyhomie Hi, as the milestone is completed, please let me know what the next actions would be.

howardpen9 commented 10 months ago

Hi, it's a bit lagging for me when I use it.

Can you optimize it?

ilyjs commented 8 months ago

@howardpen9 I'm still waiting for the response from the ton team regarding the logistics and the future of this project.

ilyjs commented 8 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 7 months ago

Hey, sending a friendly follow up on this issue.

howardpen9 commented 7 months ago

where is the link for testing?

ilyjs commented 7 months ago

where is the link for testing? https://ton-ide.web.app/ton-ide

ilyjs commented 7 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

delovoyhomie commented 7 months ago

@ilyjs, I apologize for the delayed response. Yes, we acknowledge that we have met the stated milestones, but the development time has significantly overrun, and now there is not such a clear need for this. Likewise, the quality of the product is such that some features do not work or work unstably.

We value your effort, so we still want to compensate for your expenses, but not in full. It’s rather closer to $2000. Would that be fair, do you think?

ilyjs commented 7 months ago

@delovoyhomie thanks for getting back to me.

I do understand the development took longer than expected (although there never was a specific timeline in question), and I also understand that there's another project in works already with overlapping functionality, and you don't want to continue work on this footstep.

On the other hand I did put a lot of time and love into this project, payed for the server/domain from my own pocket, and took some unpaid time off to accelerate the pace. Unfortunately $2k would not even allow me to break even on this.

As we need to find a compromise here, I talked with @kirjs and the @thekiba who gracefully agreed to wave their part. Would $3985 (half of the initial amount we agreed on) be a reasonable amount here to cover my expenses and also at least some part of my work?

ilyjs commented 6 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 6 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 6 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 5 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 5 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 4 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 4 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 4 months ago

@delovoyhomie Hey, sending a friendly follow up on this issue.

ilyjs commented 3 months ago

@delovoyhomie Hi, I would like to receive a response. Since February 19, I have occasionally reminded you that I am waiting for an answer from you.

ilyjs commented 2 months ago

@delovoyhomie Hi. I turned off the server to avoid wasting money. Still waiting for your response.