Juvix interop: Local environment flow

Here’s the diagram, will write more later:

2 Likes

There are some glaring problems with the green existing flow, namely:

  • leaving the system to do basic operations
  • writing horrible things like shell scripts rather than writing Juvix, caused by having to leave the system to do basic operations

These problems will be fixed by the arrival of the principled local execution environment. It runs Nock programs, and can therefore be programmed in Juvix, not by terrible things like shell scripts. Arbitrary user data can be put into and read from it; replicated data must be fetched by read-only transaction.

The Juvix program entrypoint is something with rough type Env \to (List(Action), Value), Env being useful environment items injected by the local environment (e.g., the current timestamp, or some entropy seed which lets functional PRNGs be used, or other useful runtime information), and Action being something the local environment knows to act on, like “store value v under key k in the local data map”, or “prove and submit value tc”.

4 Likes