Go to file
Daira Emma Hopwood a1641c8dc9
Merge pull request #22 from daira/bft-abstractions
Prototype of BFT abstractions and Streamlet; add static type checking
2023-12-07 11:32:57 +00:00
.github/workflows Enforce type checking in CI. Also run `poetry check`. 2023-12-06 14:56:37 +00:00
.vscode Add `.vscode/settings.json` to enable testing support in VS Code. 2023-10-23 21:37:29 +01:00
doc Add type annotations and document their use in `doc/patterns.md`. 2023-12-06 14:56:37 +00:00
simtfl Add type annotations and document their use in `doc/patterns.md`. 2023-12-06 14:56:37 +00:00
.flake8 Add type annotations and document their use in `doc/patterns.md`. 2023-12-06 14:56:37 +00:00
.gitignore Add `apidoc/` to `.gitignore` and clarify README on generating docs. 2023-10-20 21:56:27 +01:00
LICENSE Initial commit: readme, license, poetry boilerplate, and a minimal example 2023-09-24 10:39:27 +01:00
README.md Enforce type checking in CI. Also run `poetry check`. 2023-12-06 14:56:37 +00:00
check.sh Enforce type checking in CI. Also run `poetry check`. 2023-12-06 14:56:37 +00:00
gendoc.sh Add dependencies and script for generating API documentation. 2023-10-20 21:56:27 +01:00
poetry.lock Add type annotations and document their use in `doc/patterns.md`. 2023-12-06 14:56:37 +00:00
pyproject.toml Add type annotations and document their use in `doc/patterns.md`. 2023-12-06 14:56:37 +00:00

README.md

Trailing Finality Layer Simulator

This is an experimental simulator for research into a potential Trailing Finality Layer for Zcash.

Note the caveats: experimental, simulator, research, potential.

Instructions

  1. Install poetry:

    sudo apt install python3-poetry
    

    or see poetry's installation docs if not on Debian/Ubuntu.

  2. Install dependencies:

    poetry install
    
  3. Run the demo (currently just an example of message passing):

    poetry run demo
    

Documentation

Design documentation is under the doc/ directory:

You can also generate API documentation by running ./gendoc.sh. This assumes that you have run poetry install as shown above. The starting point for the generated documentation is <apidoc/simtfl.html>.

Contributing

Please use ./check.sh before submitting a PR. This currently runs flake8, pyanalyze, and the unit tests locally.

You can use ./check.sh -k <substring> to run flake8, pyanalyze, and then only tests with names matching the given substring. This will not suppress output to stdout or stderr (but ./check.sh -bk <substring> will).

To see other options for running unit tests, use poetry run python -m unittest -h.

License

This software is provided under the terms of the MIT License.