A first draft of the spec can be found in spec.
The sequence diagram that we created at the workshop in Zug can be found in the diagrams subdirectory here.
Additional sequence diagrams can be found here.
Generate the spec's pdf by running typst c spec.typ
, continually update
throughout development by running typst w spec.typ
.
All the diagrams can be either built alltogether by running nix build .#diagrams
or individually. To build them individually please follow the following subsection.
In order to build the *.puml
diagrams, we use PlantUML. For installation, see Local Installation notes or enter the devShell
of this project by running nix develop
. The package in the nixpkgs
set is called plantuml
. Once installed, *.puml
diagrams can be converted to svg by running:
plantuml diagrams/transfer_sequence_diagram_client_submit.puml -tsvg
In order to build the *.dot
diagrams, we use Graphviz. For installation, see Downloads or enter the devShell
of this project by running nix develop
. The package in the nixpkgs
set is called graphviz
. Once installed, *.puml
diagrams can be converted to svg by running:
dot -Tsvg diagrams/merkle-tree.dot > merkle-tree.svg
To format Nix and Typst run:
nix fmt
More formatters can be added by adding more formatters to the treefmt.settings.formtatters
attribute-set analogous to typst-fmt
.