Inspiration

HyperEdge is a service that game developers can use to automatically generate and deploy custom ETH smart contracts and, with no code, generate the backend for their web3 games.

We believe in a Metaverse that gives users more freedom, interaction, and sharing of assets between applications and games. We don't think there will be a generic metaverse, but instead, we believe several specialized metaverses will serve different purposes, similar to a metropolis connected with another metropolis. The core of this metropolis will be built by small developers that lay the chore infrastructure and give the initial state to it. Then users will build on that metropolis by seemingly contributing to it. The assets of these games will be interpolable between each other and the ecosystem as a whole. Users can vote on which content gets added, and popular content creators will own and be rewarded for the content they create. And we believe in giving the power to anyone to create fun web3 games, seemingly by abstracting away a lot of the complexity of the backend - yet give game creators full control to customize or leave it depending on their needs.

What it does

The prototype consists of CRUD-microservice to store smart contracts data and a microservice to generate Solidity code, compile it, and deploy it to Ethereum-compatible blockchain (private/public). Test script submits contract data to the backend using REST API. Then it calls deploy APIs to generate, compile and push to blockchain contract bytecode. Used contract types are based on ERC-20, ERC-721, and ERC-1155. Generated Solidity code includes structures and functions to represent some data entities (e.g., game items, character stats, etc)

How we built it

There is a lot we want to build, so after a lot of meetings, we finally landed on our first steps towards our goal, and once we all agreed on it. We made the first iteration of HyperEdge using Go/C# for the backend and some clever python scripts that automatically generate custom backend code and smart contracts for the users' game. We are using Maria DB as our Data Base. On the front end, we used next.js, react, and typescript.

Challenges we ran into

The biggest challenge we faced was coordinating the time between us, since we live in 3 different time zones. It became more challenging as the two of us had full-time internships during the summer, and the third team member also worked full-time. However, we found enough time to meet and also spent a lot of time to ensure great outcome. Another obstacle we encountered was picking what we wanted to build and what the MVP for the hackathon should be, designing it, and making sure it worked as planned.

Accomplishments that we're proud of

We are proud to have committed to a vision, delivering regardless of the many obstacles we faced and building a tool that lets you create custom smart contracts and backend code for your game with no code. We know this will help unique artists focus on making games and not building the backend. In addition, we lay the groundwork for what HyperEdge will be in the future.

What we learned

All three of us had different learnings. For example, we learned to work and organize meetings across three different time zones as a group and hold collaborative written-down meetings. Individually some of us learned to work with Docker and MariaDB and how to implement user center design, and how to pick what to build among a big effectively backlog

What's next for HyperEdge

The layers of our proposed solution are an identity provider, allowing users to spin their chains and semi-centralized logic to glue these chains that will serve as a backbone of any "Metaverse". Metaverse refers to the interoperability of these various worlds "Metaverses." Ex: being able to use your character from one game in another, take some of your items' skins to another, etc. We worked mainly on allowing users to spin their chains and some basic identity-providing features. Moving forward, we will work on the logic part that helps all these chains and the physics logic needed to make different game parts truly interoperable.

Share this project:

Updates