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

Building a playground website for OpShin #346

Closed
nielstron opened this issue Mar 4, 2024 · 8 comments
Closed

Building a playground website for OpShin #346

nielstron opened this issue Mar 4, 2024 · 8 comments
Labels
bb: major Major issue according to bug bounty categorization bug bounty This issue is prized out as part of the Bug Bounty Program enhancement New feature or request

Comments

@nielstron
Copy link
Contributor

nielstron commented Mar 4, 2024

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

@nielstron nielstron added the enhancement New feature or request label Mar 4, 2024
@nielstron nielstron added bug bounty This issue is prized out as part of the Bug Bounty Program bb: major Major issue according to bug bounty categorization labels Apr 7, 2024
@pcjordan
Copy link
Contributor

pcjordan commented Jul 3, 2024

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!

@nielstron
Copy link
Contributor Author

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

@nielstron
Copy link
Contributor Author

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.

@pcjordan
Copy link
Contributor

pcjordan commented Jul 3, 2024

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

@nielstron
Copy link
Contributor Author

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.

@pcjordan
Copy link
Contributor

pcjordan commented Jul 3, 2024

Cool, here is my address, thanks! addr1qynj2y5h2v4kq0r98lg35kec3djwc8xkh5x3m9apruan67qte589n8ad3n2erek4sgm8fvp04mn5mcc7gjvrgavtvkqqwv4lep

Yes, I will request the transfer...

@nielstron
Copy link
Contributor Author

Bug Bounty has been rewarded

@nielstron
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bb: major Major issue according to bug bounty categorization bug bounty This issue is prized out as part of the Bug Bounty Program enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants