/wired

An open metaverse platform

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Wired Logo

The Wired

An open and decentralized web-based metaverse platform.

Docs Vercel License Discord Twitter

🔥 Features

  • Decentralized identity + content distribution over Ethereum
  • Open backend, anyone can run their own servers
  • Custom multi-threaded, glTF-based game engine
  • VRM avatar support
  • Visual editor for creating spaces

📦 What's inside?

This turborepo uses Yarn as a package manager. It includes the following apps / packages:

Apps

  • client: the main website used to access the Wired
  • docs: a documentation website
  • host: dockerized server for hosting spaces

Packages

  • contracts: generated contract types
  • engine: a multi-threaded 3D game engine
  • eslint-config-custom: custom eslint config used throughout the repo
  • protocol: types describing the interface between client and host
  • tsconfig: tsconfigs used throughout the repo

Utilities

🐋 Docker

The client can be run locally using Docker. To do so, run the following command:

yarn docker:prod

This will start the client on port 3000. You can then access it at http://localhost:3000.

To stop the client, run the following command:

yarn docker:stop

⚙️ Development

Install

To install all apps and packages, run the following command:

yarn install

⚠️ If you run into issues installing, it's probably mediasoup. Follow the steps on their installation guide to get it to work (pay attention to the versions very carefully). Mediasoup tends to be easier to install on Linux, so if you're on Windows, consider using Windows Subsystem for Linux (WSL).

Build

To build all apps and packages, run the following command:

yarn build

Develop

To work on the client, you will need to use Docker to run services it relies on (such as the database). To do so, run the following command:

yarn docker:dev

If you don't need that, you can run all apps and packages in development mode using the following command:

yarn dev