A new way to play distributed, consensus games across federated social networks.
Consensus Chess has reached MVP. It can launch and manage simple move-lock* games.
*When a player participates in a game, they are then locked to the side that they move for.
- International Consensus Games (explainer)
- Consensus chess 2022 (Trello board)
- Set up some Mastodon accounts, and developer apps for each account, as described in: accounts
- Add config files to
environmentsdirectory, as described in: config
- for each engine and node
- for the integration testing service
- For each database instance
- Launch your choice of environment...
eg. Launch and run the feature tests:
./feature-tests.shor, eg. Launch and run all containers for the int environment:
./run.sh -e int| Environment | Name | Description |
|---|---|---|
int |
Integration | Runs a non-production postgres database instance. Nodes attach to non-production social media accounts. |
prod |
Production | Nodes attach to social media production accounts, and a production postgres database instance. |
The following scripts will launch and run tests for you in containers:
| Script | Description |
|---|---|
feature-tests.sh |
Launches the feature tests in a single container, with supporting sqlite db and mocked social network connections. Runs the unit tests during build. |
integration-tests.sh |
Launches the db, engine, a node, and the integration test runner for the int environment. Runs the unit and feature tests during build. |
See the testing documentation for more information about these tests.
The following scripts exist for common operations:
| Script | Description |
|---|---|
run.sh |
Launches the db, engine and all nodes defined for environment specified. Runs the unit and feature tests during build. |
start-db.sh |
Starts the database (only) for the environment specified. |
stop.sh |
Stop all running containers in the environment specified. |
erase.sh |
Use carefully! This clears down your docker compose project - erasing all containers and volumes for the environment specified. |
If you don't provide any parameters, these scripts will halt and display their parameter options.
For the common operation scripts, you must specify the environment with the -e or --environment option.
Choices of environment: int, prod
eg.
./run.sh --environment intThe run.sh and start-db.sh scripts can run your services in the background. Set the -d or --detach option.
eg.
./run.sh --environment prod --detach
