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

Share this project: