Balazs Komuves 7a269e8b70
extremely early WIP beginnings of state management
(committing only because i'm leaving for the most of the next two weeks)
2026-06-23 23:37:05 +02:00
2026-06-23 16:27:57 +02:00
2026-04-26 16:20:00 +02:00
2026-04-26 16:20:00 +02:00
2026-04-26 16:20:00 +02:00
2026-06-23 16:27:57 +02:00

Transport over Mix

This is intended to become a specification and reference implementation of a transport abstraction layer over the Mix Protocol.

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):

cabal update      # update the package directory

Then:

cabal clean       # start from a clean state
cabal build       # build the library
cabal repl        # read-eval-print loop
Description
Transport layer abstraction over Mix (spec + reference implementation)
Readme
Languages
Haskell 100%