Try out CashBlocks here: https://cashblocks.vercel.app/
If you want to send us votes for the Block Party prize, that's here:
SLP wallet: simpleledger:qzsmp3zyxuyxzdc9xdx2z2ys7vuprehvtvqs0kg8t5
If you want to send us some BCH, it's here:
BCH wallet: qqq9tf8rh353yy0rdpgn6pkpcqnhtggggqn5299a0n
CashBlocks is a visual interface for non-technical users to easily build smart contracts, which in turn will grow the adoption of ₿itcoin Cash 🚀
Imagine if you could create smart contracts as a flowchart without having to learn a lot about smart contract technology?
For instance, maybe you just want to split incoming funds into multiple wallets at the same time. Or you want to wait for the BCH price to drop to buy more of it. We realised that there is no user-friendly way to split payments or more generally, to build a simple smart contract.
That’s how we came up with the idea of CashBlocks: a simple and visual way to create a smart contract and decide how your Bitcoin Cash should behave.
- Problem: At the moment, if you want to create a smart contract, you first have to go deep into learning smart contract technology (libraries, blockchain, white-papers, etc). So in the end, for a simple automatic split, anyone would have to become an expert in smart contracts. Blockchain-based smart contracts have huge potential and potential real-world applications. However, the broader public adoption is impacted by the complexity of learning blockchain technical aspects.
- Solution: we make it simple for non-technical people to build BCH smart contracts through a visual layer. That way, the user only focuses on the logic of its smart contract, while we abstract the technical aspects.
🤖What it does
CashBlocks is a simple visual layer where you can drag and drop logic blocks to build a smart contract. You just have to create a few blocks and connect them. We focused on splitting a payment as a first use case, as shown below:
However, CashBlocks has many more possible applications. As endless as the scope of smart contracts in the real world. Anyone could use the platform to create smart contracts and do more interesting things with their BCH rather than just send and receive from one wallet to another. For instance, for every payment made to a specific route, you can send a part of it to an emergency fund, the other part to a retirement savings accounts and the rest to a personal wallet for daily use. The fact that non-technical users would be able to build smart contracts could really improve the adoption of Bitcoin Cash.
🤓How we built it
The most relevant tools that we have used so far (with links attached):
- Vue: Framework for building static sites
- Vue Cli: A full system for rapid Vue.js development
- Vuetify: Framework UI
- Vercel: Cloud platform for static sites
- PHPStorm: IDE (Integrated Development Environment) for development
- Notion: Workspace for project management
- Ezgif.com: Tool for creating GIFs
- Loom: Screen video recording
- Sublime Text: Text editor
- Kapwing: Online video editor
- Gitlab & Github: Web-based Git repository
All of our own work was built during the Hackaton, nothing was existing.
Existing work of others that we have used:
😐Challenges we ran into
We were first exploring Bitcoin Computer Library, however we had to switch to mainnet.cash because Bitcoin Computer Library is feeding from Bitcoin.com's redundant API. We also realised that the diagram libraries on React do not have events. This was a big problem because we need the events to be able to trigger the generation of contracts based on user actions on the diagram. We therefore switched to Vue, which has a library called Drawflow that has events.
💱💻Accomplishments and what we've learned
We have built a functioning PoC for splitting payments across a multitude of wallets, through a visual layer that can be used by a non-technical user. We have created a backend system for the simple creation of smart contracts that forward funds automatically across multiple wallets. Suffice to say, we are super proud about it!
During the Hackathon, we learned that BCH is fun to work with. That we can go back to the basics of cryptocurrencies as dreamed by Satoshi Nakamoto: a true peer-to-peer electronic cash system.
We also learned that there is plenty of room for improvements for the BCH ecosystem, because all the tools out there for development are still in their infancy yet. Unfortunately, there isn't a good library to make interactive flow charts, all of them have poor docs and the code needed to do some useful stuff with the decent ones is quite a lot of work for a quick test.
Most importantly, the community is awesome! They all have incredible ideas to make this world a more interesting place.
🦄What's next for CashBlocks
We think that we have a great idea here, so will continue building up the platform and use cases. We have had excellent feedback so far, so we think that we can take it further. As immediate next steps, we will focus on a few selected use cases to get started. We will also think about monetization and the potential business model.