The reference/educational implementation of the Decentraland protocol.
This implementation uses the babylon.js framework and runs entirely on web browsers.
This project's goals are to:
- document current and future protocol standards
- experiment with changes to the protocol
- guide new contributors into how Decentraland works
- enable easy prototyping of new features
This repository is the companion material for the implementation guide (still work in progress, check out this design doc and ongoing documentation of the protocol).
Status: Proof of Concept, does not run
- This commit sets up the tooling to build the project. It uses Typescript as language,
esbuild
to compile and build the project,npm
for package management,jest
for tests, and GitHub actions for continuous integrattion.
- Clone the repo using
git clone https://github.com/decentraland/hammurabi
cd hammurabi
to move into the repomake watch
to start the development web server- Open
https://localhost:7081
Additionally, make build
builds the project into the ./static
folder, and make test
executes all tests.
make test
executes all the testsmake test-watch
executes all the tests and watches for file changes to run the tests againmake test-watch TESTARGS='test/file.spec.ts'
runs the tests oftest/file.spec.ts
This repository includes a "testing realm". It is a set of scenes compiled and served statically as a regular realm. The file structure is generated by running the sdk-commands export-static
command of the Decentraland SDK.
Since it uses the SDK out of the box, it is also possible to run the scenes in the embedded official Decentraland Explorer for compliance testing. You can do that by running make sdk-watch
, it will first build the scenes and then launch a web server to use the explorer. It is important to notice that the babylon exlorer does not work with the "sdk-watch" mode yet, it only works with static the files generated by make build-testing-realm