We present to you: TerrAble, the world's first intuitive coding platform for those building on Terra.
For the entire duration of the hackathon, we asked participants what a smart contract is. Time and time again, we were met with the same confused blank stare, leading into the deep abyss of their confusion. We did not stand for it. We decided to create the solution: TerrAble.
What it does
In essence, it is basically scratch but for smart contracts with Terra. It's a block-based coding language that transpiles the blocks into Rust, which has special compatibility with Terra methods to easily write and deploy smart contracts.
How we built it
Initially, we began with a research phase. We are people that believe it is essential to measure twice and cut once, which is the exact design philosophy we applied. Implementing test-driven-development, we integrated Google's open-source Blockly frontend that allowed us to create an intuitive UI. We continued to improve user experience using classic ReactJS methodologies. We then translated these code blocks into rust and implemented specific smart contract code taught in this hackathon's workshops. Lastly, we created an automated pipeline to integrate the outputted code with our own Terra Smart Contract scaffold, and used Bash scripting to deploy it to the Terra testnet.
Challenges we ran into
Despite having a basic understanding of web3 and crypto we were coming into this hackathon relatively blind. The Terra Framework is not well documented or intuitive to newcomers, despite this ,our team persevered and, in fact, enjoyed the challenge of being pioneers in creating an intuitive space for blockchain newcomers to learn.
Accomplishments that we're proud of
- Implementing web-based code transpiler into rust
- Understanding what smart contracts are, and their essential functions
- Designing an automated pipeline using Bash scripting to deploy generated smart contracts
What we learned
- Hackathons are fun: explore, dream, create, cry, and grow an appreciation for the world we have created for ourselves
- Paper airplanes go far sometimes
What's next for TerrAble
Currently, TerrAble does not have sufficient error handling and often says deployed even when it is not. Implementing error handling in our deployment pipeline would solve this problem and create a more robust architecture to extend off of in the future. We would also like to add more smart contract functions, features, and templates for people to learn and use across the world.