Writing the counter solidity contract
Test cases failing for state reducer
Validations failing for counter contract
The Ethereum ecosystem is growing rapidly and there is still so much to learn and build. The projects built on Ethereum are constantly pushing the technical limits of developers. One area we need improvement in is education. We built the Aragon Building Block to help developers understand Aragon dApp development in a test-driven and project-based environment.
What it does
Challenges we ran into
We had difficulty running aragon client-side libraries within our code execution environment since we are executing it with node.js and the client-side utility assumes it is running within the context of WebWorker which is available to browser environments. We attempted a shim, but realized that the majority of the testable functionality can be abstracted into components with supporting files that show how it fit into the aragon context. We also had trouble deploying the AragonOS contracts within our Solidity environment. Unfortunately this was one challenge that we think requires more time and examination.
Accomplishments that we're proud of
This was our first attempt at integrate another platforms technology into ChainShot. The experience helped us gain a better understanding of what it will take to integrate Aragon, and other platforms, into ChainShot and how we can improve our platform to make that easier. In the end, we were proud to accomplish our goal of having an interactive tutorial for Aragon dApp development.
What's next for Aragon Building Block
1) Build an easy to use UI for the open source community allowing them to freely update the tasks, instructions, unit tests, and code files within the learning block.
2) Dig deeper into Aragon documentation to help explain key areas such permissions, forwarding, and upgradeability.
3) Upgrade our Code Execution Environment to be able to support custom migrations and multiple files. Doing this will fix our aragonOS deployment issue.