PROPOSAL [draft]
Note: It’s “draft” because I first would like to hear other people’s opinion here on whether I might have forgotten something important. After a feedback period, I will eventually add/remove/change things and change the state to final.
… … … … … … … … … … … … … … … … … … … … …
People familiar with programming know it’s essential to have an IDE that allows to quickly test and debug functionalities and issues that are specific to a language and/or system you are building on. This editor allows to quickly write error-free contracts, deploy, interact with and debug them. Features like error highlighting, individually generated GUI for every contratedact and console for transaction details are just a few features to mention here. You can even have a boilerplate-dAepp generated, which deploys your contract and calls the function of your choice (thereby showing how to build on aeternity without reading long docs). Around 98,9% of the codebase was written by me, honorable mentions go to @bruteforce.chain for the syntax highlighting.
As now every AE project requires explicit permission to spend work on (just as an info to non-AE people in here), I was asked to put together a list of To-Dos for a release I would consider a 1.0. Here are the things I would like to propose:
- Finalizing the already almost done user registration feature to provide everyone his own dummy testnet accounts (at least as long as we / because we don’t have a sandbox client yet like Cardano or Ethereum)
- That allows me to implement the transaction parameters for value, gas and gas price (not done now because people would empty the public accounts then - still possible though currently if anyone really wants though)
- Supporting all SDKs in the code generator, so we can have them finally easily accessible to the user vs. the current un-unified documentations for all SDKs
- Type Breakdown - Example: If a contract requires input of the datatype “tip”, it’s not easily clear that the input must be, say, an object consisting of an address, a name and an amoun. Currently the editor would show as a hint the
tip
type, afterwards it would tell you what is actually expected:{"recipient": address, "name": string, "amount": int }
and you know what to do. - Fixing two known issues: 1. In case of an error, not always the “best plausible” cause of the error is highlighted, 2. Some data types require to be explicitly wrapped in quotation marks, for no reasonable reason. (thanks @martingrigorov.chain for finding this).
- Adding Waellet support, so people can use the Editor for Mainnet operations (purposefully not supported in status quo for obvious reasons), or whatever other (private testing) network, and with their own accounts. This allows for easy interacting with and debugging of live production daepps. I did it like this a ton of times during the old Ethereum days.
- @philipp.chain rightfully asked about implementing the feature to dry-run contract calls, one of our coolest features in aeternity.
For this, the amount of 15 working days will suit.
Additionally: As I put more focus on the functionality, the UI can look / behave unwieldy every here and there. As I talked this over with @keno.chain already and gave him a brief overview on the code structure, I would like to propose that he writes a proposal on polishing the UI’s behaviour and make it state of the art.
Can everyone give a quick feedback on whether this Editor makes building on aeternity easier for you and which features you would like to see ?
AND ALSO: We’re looking for a new name! Please suggest ideas !
AEditor is unfortunately taken.