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.
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...
Closing this issue and moving remaining suggestions to the playground repo.