OpShin/opshin

Building a playground website for OpShin

Closed this issue · 8 comments

It would be great for onboarding to have a simple playground website where users can get to know opshin in a very low investment way.
It should feature

  • a single file editor with syntax highlighting and future LSP support (i.e. Monaco Editor)
  • a button to build the contract, sending the file to a server that runs opshin and 1) runs a linter 2) attempts building the contract and provides all artefacts and the linting output to the user
  • (optional/future work) a button to connect the user wallet and deploy the smart contract using a reference script, or even build a simple transaction using datastructures defined in the contract.

Bug bounty: 4000 ADA

A basic version is implemented here: https://github.com/pcjordan/opshin-playground

Some potential improvements include:

  • adding an interface for some compiler options, most importantly for choosing between minting, spending, rewarding
  • loading animation (or at least text) during compilation
  • addresses as links to cardanoscan

Any additional suggestions / minimum requirements for bounty eligibility? Thanks!

This looks great!

All of the potential improvements sound sensible but I don't deem any of them neccessary for eligbility.

Please do add a "download script.cbor" and one for the blueprint file for the Translucent/Lucid users.
Also, how (if at all) are compilation errors shown on the playground? If not fully integrated via the LSP they should at least be shown in a console-like interface below or next to the editor

Oh and please do add an endpoint to the server that returns the opshin version running on the server + display the version somewhere near the title - to avoid confusion and help users debug if there is any unexpected error.

Ah yes good suggestions, just added the additional download options and the opshin version in the navbar.

Errors are currently shown as in the screenshot below.

Screenshot 2024-07-03 at 18 36 14

Great. Since there is no PR for this please post your Cardano payment address in this thread.

If you prefer to have the playground managed by opshin from now on, please request a repository transfer to the opshin organization.

Cool, here is my address, thanks! addr1qynj2y5h2v4kq0r98lg35kec3djwc8xkh5x3m9apruan67qte589n8ad3n2erek4sgm8fvp04mn5mcc7gjvrgavtvkqqwv4lep

Yes, I will request the transfer...

Bug Bounty has been rewarded

Closing this issue and moving remaining suggestions to the playground repo.