Create our first Metaverse application with VR technology with NFT minting capability. The rationale is that the one who gets to mint a space object has the utility to get a related place named after her/him/them. For example, if a canyon gets discovered on the planet Mars the minter of planet Mars would get a chance to get a name after the minter.

What it does

The application is basically a space metaverse mimicking the natural universe with the same physics and patterns. There are all the planets and the James Webb telescope in the space metaverse. There are 8 planets and the James Webb Space Telescope in the space metaverse to be minted. To enter the metaverse you have to connect your wallet. To do so you need to enter your email a magic link will be sent to your email. Through the magic link, you can connect to your metamask account and do the signing. After that, your metamask account would be automatically connected to your metaverse agent in the VR app. Entering the metaverse you can explore our universe and click on the space object for closer inspection. In your dashboard, you will be shown which space object is the closest and how far away it is from your current position. The “show” info button will show the details of the selected space object. For planets, the info is a short description, the force of gravity, mass, radius, velocity, distance, temperature, how many days in a month, and how many days in a year. You can check if the space object is minted and if not you can mint yourself by clicking “Mint NFT” button. After you have minted you can check the NFT owner by clicking “Get NFT owner” button.

How we built it

We developed the smart contract in solidity with related js tools and hardhat. Hardhat was used for compilation (along with generating the ABI) and deployment on the Rinkeby testnet. The VR application was built with Unity and for the bridging of the web2 and web3 part, we used next js backend with web3 js library and fusedVR. We deployed the backend live on vercel.

Challenges we ran into

The main challenge we faced was twofold: building the VR app in such a short time and two integrating the web3 part with the Unity VR app. We wanted to make the VR space experience as real as possible, so we kept the functionality minimal. To integrate the web3 part with the VR app we had to go through multiple options, through trial and error finally be able to make the VR app web3 compatible.

Accomplishments that we're proud of

Basically to overcome the two challenges that we were not sure we would pull off - depicting a realistic vision of our universe in the space metaverse and interacting with the web3 functionalities like associating the agent with the metamask account, mint NFT against the connected metamask account.

What we learned

We learned integrating web3 functionalities with a unity-based metaverse is quite challenging. We learn on a higher level how we can integrate the web2 part with web3 identity through magic link architecture. We learn we can mint NFT on behalf of another user with some modification to the NFT contract. For multi-player support and payment support, we have lined up multiple ways to do some trial and error. Hoping to learn more through it.

What's next for Aliena 255

  • Add payment for minting.
  • More space objects
  • Gamify the minting journey

Built With

Share this project: