The documentation and support for Chialisp are great, but while learning it for this hackathon, I couldn't help but think... Hmm, there are a lot of people I know who would think that chia's concept of coins is super cool. However, not all of the people that came to mind know how to program. Currently, the use of coins on the chia network is limited to those who can program in a functional paradigm. If there was a way to open this up to people who don't know how to program, it would make the network more inclusive and accessible.
What it does
It is a small web application that allows users to develop chia coins without using any code. Instead, they use inputs to determine the components of the coin's solution, puzzle, and conditions. The application then generates the puzzlehash for the coin and can store this information for later reference. The ability to deploy the coin to the network is also in the works.
How we built it
I started by defining a subset of actions that would allow people to create coins and decided to narrow the scope down to allow infinite nested conditionals (if statements). I then designed a basic JSON format that I could follow. This JSON would be built by the client-side and then interpreted by the server and turned into Chialisp.
You can take a look at an example of this if you go to the nocode_interface_example.json file in the repo.
The server itself followed the flask framework while the client was built with react. The database used for storing coin metadata was PostgreSQL. To keep everything running smoothly I opted to containerize it using docker.
Challenges we ran into
Building the server and the code that generates the chialisp from JSON was super fun and rewarding, but ate up a lot of time. This left little time for the user interface which was equally challenging. The UI currently has a few bugs and needs a few added security measures, but works as a minimum viable product.
If you take a look at the repo and can run the docker setup, you can experiment with more complex coins by posting JSON to the localhost:8000/createcoin endpoint
Accomplishments that we're proud of
I'm proud that Chia No Code can generate valid Chialisp!
What we learned
I've learned a whole lot about the Chia ecosystem and Chialisp. All this new knowledge motivates me to continue with this project and get more involved with the Chia community.
What's next for Chia No Code
Development on the repo is continuing after the hackathon!
Here are a few of the features that are on the horizon:
- Ability to share metadata about a coin (solution args and how they are supposed to be used)
- No code spend bundle creation
- Wallet interface, allow users to send mojos to a coin they built on the platform with a button
- Potential Direction: Currying an endpoint’s public certificate, allowing for API responses to be used in solutions. This could mean “oracle” smart contracts on the chia network!