Flares is designed as a payment network. It supports multiple assets and multiple payment scenarios, such as games, dapps, DEX, DeFi, etc.
- It is intended to discover the value of all crypto assets.
- It's an IBC network.
- It's a no-tokens-binding blockchain.
- It's a value consensus.
- It's a multi to multi contract or module.
What it does
Flares with Game: Sealed Monsters
Flares with Payment&Auctions: Name Service
How I built it
I use Starport to create the project, and I study cosmos SDK at the same time. Referring to Gaia and other cosmos and tendermint open source projects, and according to the examples (Nameservice and scavenge) on https://tutorials.cosmos.network/, I create a sample project for the flares to show interesting usage scenarios. According to the open closed principle of design pattern, I extend module function by wrapping replacement without modifing the underlying code of cosmos SDK directly. Finally,I use BDD test on https://github.com/onsi/ginkgo, to do some basic test cases for future development and maintenance.
Challenges I ran into
The development goal of the project is to automatically trigger the automatic operation of flares contract when users transfer money or confirm block height through cosmos SDK. Therefore, it takes me some time to study some cosmos code. And finally, according to the Open closed principle of design pattern, I choose wrap to expand the module function. During the devepopment process, I find that the competition time is not enough. There is a lot to learn for me. I need more time to design, to develope and to debug. Tools such as Starport is useful, but I need more time to practice. I'm not very familiar with photobuf, but thanks to the support of Starport and the generated scripts. /Scripts/protocgen help me a lot also.
Accomplishments that I'm proud of
It's great to achieve my goals. Flares implements the fuctions of basic payments, auctions. In this project, the multi-currency shares the the same game through value consensus . Being able to learn so much in such a short period of time also made me feel very fulfilled. Solving every problem is exciting.
What I learned
Although the project was not able to use rust (I chose stargate and IBC), I studied cosmwasm for a while before the game and developed my own simple program and deployed debugging based on the sample project (https://github.com/CosmWasm/cosmwasm-template.git). I practice to use starport and study the architecture of cosmos-sdk during the race. I learn more about the modules and structure of the cosmos-sdk during the development process. Finally, in order to complete the test cases of automated testing, I learned the behavior-driven test framework (BDD test https://github.com/onsi/ginkgo) and assembled the code according to the applied module, created a preliminary test case.
What's next for Flares
At first,I hope to implement the fuction of flares to develop an end wallet app that supports multiple crypto assets and can play contract games, support CosmWasm and Ethermint,and launch a test network. In the second phase, I hope to support IBC, DEX, DeFi, and many other decentralization services. I prepare to go online on the production network and provide users with richer, more interesting games and services. Continuously improve the user experience. Farther goals, Is to provide users with rich, interesting games and dapps, for developers to provide easy to maintain the development management platform. I hope to provide developers and users with a secure and decentralized payment network.