THC stands for:
- Treasure Hunt Creator, a framework to create Treasure Hunt Challenges (THCs).
- Treasure Hunt Challenge, a Treasure Hunt Campaign made with Treasure Hunt Creator.
- Treasure Hunt Campaign, a Treasure Hunt Challenge made with Treasure Hunt Creator.
- Treasure Hunt Controller, the smart contract that manages the game.
- Treasure Hunt Contract, see Treasure Hunt Controller.
- Treasure Hunt Cadet, someone who just started playing a THC.
- Treasure Hunt Champion, someone who finished a THC.
- Treasure Hunt Chad, see Treasure Hunt Champion.
This is the monorepo of THC, a framework to create decentralized treasure hunts. Planetscape, a dystopian escape game for 36C3 gives a good overview of what it can be used for.
The directory structure is the following:
app
: (short for application) frontend application.eth
: (short for ethereum) smart contracts and migrations to deploy on some network.gen
: (short for generator) compile and encrypts the chapters of the story.srv
: (short for server) centralized component to distribute ether to players.try
: (short for try) a test story that can be used to test the framework.
Each directory has its own dependencies. To install all of them run:
make install-deps
THC requires two services to be up and running:
Now you have everything you need to develop THC.
Compile and deploy the chapters and the smart contract with:
make backend
Then go to the app
directory and run:
npm start
Go to the eth
directory and do something there like adding code and tests.
Run:
make game