Inspiration
When we talk about blockchain + gaming, everybody thinks about in-game item portability but what about reputation portability? Gamers build reputation in one game but can't take it to another game with them!
Inspired by the notorious Warcraft 3 app "WC3 Banlist", we want to build a game agnostic whitelist / blacklist app and unbundle reputation from game publishers & merge it back with the user.
What it does
User logs in, sees a list of players they've interacted with in a game. User can honor them with badges, adding them to a whitelist or marks them with "toxic mark" to add them to a blacklist. The lists are privately stored on Cosmos storage. A friend of user can read the list if the user allows him to.
How we built it
We had a web system as code base of this challenge. It has one Backend REST-API server with Relational database written by Go language, and one Frontend web application written by Javascript+React.
We developed the followings with in 2 days;
- New REST-API server with using Cosmos SDK.
- This is pretty new code by referring sdk-tutorial "nameservice".
- And we added new functions, they are not implemented yet even in Cosmos SDK.
- Sign Transaction function in Rest SDK API of cosmos SDK.
- Broadcast Transaction function in REST SDK API of Cosmos SDK,
- Enhancement a "gift honor prize" function with GUI into Frontend web application.
- Update model in backend system (updated user table to keep several parameters of blockchain)
Challenges we ran into
- We investigated the tutorial of Cosmos SDK.
- We implemented new REST API server with using Cosmos SDK.
- We Enhanced "one click" functionality to create transaction, and sign to it, broadcast it.
- Create transaction exists as Cosmos REST API at this moment, but sign and broadcast function only exist as Cosmos CLI SDK.
- We hacked deep inside of the CLI codes of SignTx and BroadcastTx, and implement into our server.
Accomplishments that we're proud of
- Our team members are pretty new for Cosmos SDK, but we create new REST API server with using Blockchain and Cosmos SDK.
- We added new functions to sign transaction and broadcast transaction
What we learned
- How to create blockchain REST API Sever.
- How to design new model(KV store) into Cosmos blockchain node.
- There are many good documents and tutorial codes in Cosmos github. ;-)
- But several functions of go are not available for REST api server.
What's next for BoR
- Build a client for PC that keeps track of users' Minecraft gaming-sessions and who they play with.
- Push it to Minecraft players to validate the idea.
- Explore Cosmos NFT's & IBC more in-depth.
- Implement a Keybase-like identity protocol, so gamers can create a meta-identity tying their discord, twitch and game accounts together.
Built With
- blockchain
- cosmos
- go
- react
Log in or sign up for Devpost to join the conversation.