← Back to home

MetaMask Gate-In

Concept of allowing MetaMask to user login to a mutliplayer game with native code.

Screenshots

MetaMask Gate-In screenshot 1
MetaMask Gate-In screenshot 2
MetaMask Gate-In screenshot 3
MetaMask Gate-In screenshot 4

Problem Statement

Allows MetaMask users to sign a text from a multiplayer server to prove their identity without needing native code in the Unity3D project or exposing private key. The concept is to avoid native code in Unity that are often a majors issue to deal with on a rainbow of situation possible, while allowing to use the power of asymmetric cryptography and Ethereum.

Solution

Server sends a message to sign to the Unity client.Unity client opens a browser on a static JavaScript page on GitHub.The page contacts MetaMask, requesting to sign the message.The message, public address, and the signed message are concatenated in the clipboard.By coming back to the Unity application, the proof of his identity from the GUID is sent to the server.The server uses a local validation tool to validate that the message is signed by the user.It sends back a message to the player that it was validated or refused.And like that, we have a server that can identify an anonymous player in a tournament based on his public key without risking the user accidentally exposing his private key.

Hackathon

ETHGlobal Brussels

2024

Contributors