Playground - a tool to experiment and showcase æpps that make use of State Channels.
To make State Channels more attractive for developers to experiment with, we have decided to develop Playground. Playground will function as a tool to help anyone that wants to build an æpp using State Channels. Through this blog post, the team is happy to give you insight into the development process of Playground as we invite you to create along with us!
The Purpose of Playground
We would like for æpp developers who want to make use of State Channels, to be able to fully concentrate on the development of their applications. Therefore the goal of Playground is to create a tool that can:
- Function as a test environment for æpps making use of State Channels
- Showcase æpps already making use of State Channels
A Test Environment
Playground, as the name suggests, will enable æpp developers to "play", or in other words- to experiment with their application. The tool will allow users to simulate various scenarios so that a new æpp can be optimized or bugs can be detected within it. Here you can see the first draft of how this testing environment is currently being envisioned:
In the image above, you can see the request from Bob to Alice to create a State Channel. After Alice accepts Bob's request, Alice can make use of the State Channel within the æpp.
The tool facilitates two AE accounts that make use of the State Channel: Alice and Bob. With Alice and Bob as the two users, you will be able to test the basic features of the State Channel. You can let Alice and Bob open and close a channel, and deposit and withdraw money from the chain into the State Channel. This will enable you to perform basic functionality testing of your æpp. The tool will also let you test different scenarios, such as dispute resolution. Playground lets you test various malicious acts and gives you the option to bring the off-chain state onto the main chain to verify and resolve the dispute.
Showcasing your æpp
In addition to functionality testing, Playground will also give you the opportunity to showcase your æpp. This tool has been developed with intuitive design in mind, aiming to make it easier for anyone who doesn't know about State Channels to understand what is going on.
Above you can see an example of someone who showcases a game making use of State Channels. As you can see in the screens, Bob has lost to Alice. His 10 AE tokens have been won by Alice who now has a total of 20 AE tokens. After the game has concluded, in order for this transaction to take effect, the channel has to be closed and must be signed by both Alice and Bob.
The MVP
The chosen work process for the Playground tool is to work in several iterations, the first of which will be a very basic Minimal Viable Product (MVP). For the MVP, we would like to start by focusing on State Channels being used as payment channels, which allows instant fee-free payments to be sent directly between two parties. Within our first iteration, we have created a list of features we would like to implement. These features are:
- Providing two user accounts
- Opening a channel and closing a channel
- Depositing and withdrawing AE tokens from the chain into the State Channel
- Showing transaction history, on-chain and off-chain
- Tracking balances on-chain and off-chain
We would love to hear from you in the dedicated topic regarding Playground in the Forum if you think there are certain features missing that should definitely be in the MVP. Also, we would not only love to discuss the core features of the MVP with you, but also features that we would like to implement in further iterations.
Possible Future Iterations
In future iterations we would like to:
- Display æternity node logs
- Deploy contracts in the channel
- Integrate a sequence chart in order to view the State Channel states
- Save projects in order to share simulations with other people
As always, your input is essential as we like to develop many more features. Community ideas and feedback allow us to know what is needed and help us to prioritize what is most valuable. We are looking forward to hearing from you!
UPDATE: As of December 10th, 2019, the Playground integrated development environment will no longer be supported. The æternity blockchain's development community has decided to invest efforts into the improvement and maintenance of the Fire Editor instead. Learn more:
Interested in æternity? Get in touch:
No Comments.