Developer guide · Start

Overview

For developers who need to verify, build, integrate or maintain the project themselves.

Criteria

There are three criteria: the law texts and code in the repository, the bytes of the release, and the contract on chain. This guide, the Wiki and the website are restatement and explanation; where they differ from the criteria, the criteria prevail.

Two layers

Every product has two layers, with entirely different rules for change.

The law
The product’s law texts and their frozen cores. Once written they only gain new versions, and old versions stay valid for good; anyone can compute their digests with one command.
The tooling
Everything else: the app, the command line, the tests, the documents and this site. It can be changed, rewritten or dropped at any time, provided it agrees with the cores of the law byte for byte.

Before you start, work out which layer your change belongs to. To change tooling, open a pull request; to object to the law, open an issue, which leads to the next version of the law.

Find by task

This site

This site is static files in the repository. To mirror it, clone the repository and serve it from any static host. The pages make two kinds of request: the site’s own static files, and fonts from Google Fonts.