mirror of
https://github.com/logos-storage/transport-over-mix.git
synced 2026-07-24 20:03:16 +00:00
37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
Transport over Mix
|
|
------------------
|
|
|
|
This is intended to become a specification and reference implementation of
|
|
a transport abstraction layer over the [Mix Protocol](https://lip.logos.co/ift-ts/raw/mix.html).
|
|
|
|
The idea is to hide the packet size and other limitations of Mix behind a nice
|
|
abstraction layer, so applications can pretend they are communicating over
|
|
a "normal" network not unlike TCP (a very slow, and moderately reliable,
|
|
but otherwise pretty normally behaving network socket).
|
|
|
|
Furthermore, we also take the opportunity to document (including an executable
|
|
specification) both the Sphinx mix packet format, and SURBs (Single Use Reply Blocks).
|
|
|
|
### Repo layout
|
|
|
|
- `docs/`: specification and other documentation (eg. Sphinx)
|
|
- `reference/`: Haskell reference implementation
|
|
|
|
### Quick Start
|
|
|
|
Install Haskell and Cabal (preferably via `ghcup`).
|
|
|
|
First time (you normally only need to do this at most once):
|
|
|
|
```bash
|
|
cabal update # update the package directory
|
|
```
|
|
|
|
Then:
|
|
|
|
```bash
|
|
cabal clean # start from a clean state
|
|
cabal build # build the library
|
|
cabal repl # read-eval-print loop
|
|
```
|