- Introduction to Eternum
- Open World Philosophy
- Eternum's Client Approach
- Eternum Roadmap
- Prerequisites for Getting Started
- Vision for Development
- Project Structure
- Local Client Building Instructions
- Local Contracts Building Instructions
Eternum serves as one of the pioneering nodes in the Realms Autonomous World, constructed atop the dojo platform. Its primary objective is to establish the foundational economic layer of the Realms Autonomous World, with its structure built around the original Realm NFTs.
Eternum represents an ambitious endeavor to forge an open and composable world, one that is collectively owned and governed by its user community. More than just a collection, Eternum encompasses a suite of smart contracts, crafted to be both composable and extensible. These contracts are not only designed to be utilized by various other contracts and applications but also to encourage a versatile and innovative ecosystem.
As a developer you could deploy a set of systems in this world and ecourage players to use these systems, and in the process earn a small fee in resources or the native token lords.
The term 'open' in this context means anyone can deploy a dojo system in Eternum, expanding its functionality or even adjusting its governing rules. For an in-depth understanding of its mechanics and ideology, consider delving into the dojo book.
Eternum operates in a headless manner. The provided client in this repository is just a reference. There's no obligation to use it. Instead, we champion the development of various clients, promoting diverse interactions with the contracts. You can choose your preferred client or even interact directly with the contracts.
Below are the key goals for Eternum, but they're adaptable:
- Trading and Hyperstructures
- Banking
- Combat
- World Governance
To begin, familiarize yourself with the dojo and react.
From a high-level perspective, we envision:
- Guilds
- Player opt-in communism
- Player-operated casinos
- Balancing chaos and order
- Introducing resources external to Eternums
To build the client locally:
- Clone the repo.
- Install dependencies with
bun
. - Use bun workspaces. Install bun using
curl -fsSL https://bun.sh/install | bash
. - From the main directory:
- Install dependencies:
bun install
- Build the packages:
bun run build-packages
- Run the client:
cd client && bun run dev
- Install dependencies:
To build contracts locally:
- Terminal 1 - Katana:
cd dojo-starter && katana --disable-fee
- Terminal 2 - Contracts:
cd clients && sozo build && sozo migrate
This project is licensed under the MIT License. See the LICENSE file for more information.