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

Online browser IDE for TON #137

Open
ilyjs opened this issue Jan 23, 2023 · 47 comments
Open

Online browser IDE for TON #137

ilyjs opened this issue Jan 23, 2023 · 47 comments
Assignees
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers

Comments

@ilyjs
Copy link

ilyjs commented Jan 23, 2023

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

  • video demo
  • func, TS syntax highlighting
  • compile smart contracts in the browser
  • run smart contracts in the browser
  • click “run”
    compilation and execution (locally in the browser!)

image

Screen.Recording.2022-11-12.at.21.15.09.mov.mp4

Goals

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

Deliverables

  • Ability to create/delete/rename/move files
  • Deploying contracts to Testnet
  • Refactoring and update dependencies to func-js
  • IDE available online on github pages and hosted on Firebase Hosting

Definition of Done

  • IDE for TON opens in browser on github pages and hosted on Firebase Hosting.
  • Deployment of smart contracts to TestNet.
  • Ability to create/delete/rename/move files

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

@ilyjs ilyjs added the footstep This is a TON Footstep issue label Jan 23, 2023
@SwiftAdviser
Copy link
Contributor

Nice! TON IDE is a very important initiative!

@delovoyhomie delovoyhomie added the Approved This proposal is approved by the committee label Feb 10, 2023
@delovoyhomie
Copy link
Collaborator

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

@LaDoger
Copy link

LaDoger commented Feb 11, 2023

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
Copy link
Author

ilyjs commented Feb 11, 2023

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
Copy link

Naltox commented Feb 13, 2023

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

@ilyjs
Copy link
Author

ilyjs commented Feb 13, 2023

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
Copy link
Collaborator

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

@thekiba
Copy link
Contributor

thekiba commented Feb 13, 2023

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

@kirjs
Copy link

kirjs commented Feb 13, 2023

👋

@SwiftAdviser
Copy link
Contributor

Hey guys, any updates? 🙂

@ilyjs
Copy link
Author

ilyjs commented Apr 13, 2023

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
Copy link
Author

ilyjs commented May 10, 2023

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
Copy link
Author

ilyjs commented May 17, 2023

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
Copy link
Author

ilyjs commented May 24, 2023

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
Copy link
Author

ilyjs commented May 31, 2023

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.

2023-05-31.23.55.14.mov

@ilyjs
Copy link
Author

ilyjs commented Jun 7, 2023

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
Copy link
Author

ilyjs commented Jun 14, 2023

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
Copy link
Author

ilyjs commented Jun 21, 2023

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
Copy link
Author

ilyjs commented Jun 28, 2023

Hello,
Here are the latest updates:

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

@ilyjs
Copy link
Author

ilyjs commented Jul 6, 2023

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
Copy link
Author

ilyjs commented Jul 13, 2023

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
Copy link
Author

ilyjs commented Jul 19, 2023

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
Copy link
Author

ilyjs commented Aug 3, 2023

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

@ilyjs
Copy link
Author

ilyjs commented Aug 10, 2023

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

@ilyjs
Copy link
Author

ilyjs commented Aug 17, 2023

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

@ilyjs
Copy link
Author

ilyjs commented Aug 27, 2023

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
Copy link
Author

ilyjs commented Sep 1, 2023

@delovoyhomie
Stage completed.

  • IDE is deployed at https://ilyjs.github.io/ton-ide/ and on Firebase at https://ton-ide.web.app/ton-ide.
  • Smart contracts can be deployed on testNet and mainnet.
  • File creation/deletion/renaming and moving are available.
  • Functional terminal is accessible.
  • Experimental test execution is available.
  • Experimental npm package installation is available.

The most logical next steps are:

  • Optimizing the project's startup process
  • Stabilizing npm package installation.
  • Migrating the project to a shorter domain
  • Stabilizing test execution.
  • Redesigning the interface to a more classic IDE style.
  • Supporting the Tact language.
  • Enhancing editor capabilities for func.
  • Adding templates for embedded and mobile devices.
  • UI for Building, deploying, and testing (without the terminal)
  • Setting up the project from a GitHub repository.
  • Authorization and project saving on the server.
  • Storing projects in a personal account.
build.mov
deploy1.mov
deploy2.mov
tests.mov

@ilyjs
Copy link
Author

ilyjs commented Sep 7, 2023

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

@delovoyhomie delovoyhomie added Infrastructure Task related to system or technology integration Developer Tool Related to tools or utilities used by developers and removed footstep This is a TON Footstep issue Infrastructure Task related to system or technology integration labels Oct 12, 2023
@howardpen9
Copy link

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

Can you optimize it?

@ilyjs
Copy link
Author

ilyjs commented Jan 15, 2024

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

@ilyjs
Copy link
Author

ilyjs commented Jan 25, 2024

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

@ilyjs
Copy link
Author

ilyjs commented Feb 9, 2024

Hey, sending a friendly follow up on this issue.

@howardpen9
Copy link

where is the link for testing?

@ilyjs
Copy link
Author

ilyjs commented Feb 10, 2024

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

@ilyjs
Copy link
Author

ilyjs commented Feb 18, 2024

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

@delovoyhomie
Copy link
Collaborator

@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
Copy link
Author

ilyjs commented Feb 19, 2024

@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
Copy link
Author

ilyjs commented Mar 11, 2024

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

1 similar comment
@ilyjs
Copy link
Author

ilyjs commented Mar 18, 2024

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

@ilyjs
Copy link
Author

ilyjs commented Mar 25, 2024

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

@ilyjs
Copy link
Author

ilyjs commented Apr 8, 2024

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

@ilyjs
Copy link
Author

ilyjs commented Apr 15, 2024

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

@ilyjs
Copy link
Author

ilyjs commented May 8, 2024

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

@ilyjs
Copy link
Author

ilyjs commented May 13, 2024

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

@ilyjs
Copy link
Author

ilyjs commented May 27, 2024

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

@ilyjs
Copy link
Author

ilyjs commented Jul 3, 2024

@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
Copy link
Author

ilyjs commented Jul 22, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers
Projects
None yet
Development

No branches or pull requests

8 participants