Skip to content

instantiator/consensus-chess-engine

Repository files navigation

Consensus Chess

A new way to play distributed, consensus games across federated social networks.

network diagram

Project status

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.

a board rendered using the pixel chess asset pack

Documentation

Attribution

Blog posts

Roadmap

Prerequisites

Getting started

  1. Set up some Mastodon accounts, and developer apps for each account, as described in: accounts
  2. Add config files to environments directory, as described in: config
  • for each engine and node
  • for the integration testing service
  • For each database instance
  1. Launch your choice of environment...

eg. Launch and run the feature tests:

./feature-tests.sh

or, eg. Launch and run all containers for the int environment:

./run.sh -e int

Environments

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.

Scripts

Testing scripts

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.

Common operation scripts

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.

Environment parameter

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 int

Run in background

The 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

About

WIP - an engine for running consensus chess games

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published