Skip to content
This repository has been archived by the owner on May 2, 2022. It is now read-only.

Implement ink! Playground #57

Open
Robbepop opened this issue Feb 3, 2021 · 1 comment
Open

Implement ink! Playground #57

Robbepop opened this issue Feb 3, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@Robbepop
Copy link

Robbepop commented Feb 3, 2021

Inspired by: https://ink-playground.com/

Unfortunately they are not upgrading it anymore.
Having a stable and up-to-date ink! playground would allow the community to have a zero-setup workspace for writing and teaching ink! smart contracts.
This is very much needed in the future where we are refocusing on community building and teaching ink!.
Also it would be a fantastic base for a lightweight ink! tutorial.

Unlike the original ink! playground we should, however, make sure that contracts compile quickly or simply as fast as possible to be comparable in compilation speed to native compilation. For this we are going to be in need of proper pre-caching of the environment in which the ink! contracts are going to be build. This has been proposed for the original ink! playground but was never implemented unfortunately.


As additional features the ink! playground should not only have proper syntax highlighting but also proper built-in IDE-like features provided by the well established rust-analyzer. This could be implemented as a follow up.


Further future additions could be an improved setup where we allow for editing multiple projects at once and improve organization in between them for a real in-browser development experience. It might make sense to have both, ink! playground as well as the fully integrated IDE experience ink! studio as different products since they serve different purposes.

@Robbepop Robbepop added the enhancement New feature or request label Feb 3, 2021
@cmichi
Copy link

cmichi commented May 4, 2021

What I think would be quite helpful is:

  • The possibility to quickly share a public permalink to some contract code without any log-in/instance spawn procedure.
  • The aspect of being able to do this quickly and publicly accessible, without log-in/waiting time overhead, is important as to not pose any friction.
  • The permalink should be permanently valid.
  • So just like with https://play.rust-lang.org/, where you can quickly share a permalink to some code which can be executed.

We often have the thing that people post contract code as part of some issue in the channel or in a ticket. Or we post a code snippet as part of a reply. It would be much more elegant if this could be done with a link to a proper execution environment. Also it would make tickets more readable, preventing long contract and Cargo.toml snippets.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants