Starstream is a VM concept that uses delimited continuations as its core primitive. The end goal is a language and VM that can be used across any blockchain that chooses to include it.
Unique features of Starstream:
- Native folding scheme support for both on variable updates & function application (only VM that provides both)
- UTXO-based (only zkVM in development with this property)
- Delimited continuations as its core primitive (only blockchain VM that does this)
Basic overview: slides and video
Technical slides: https://docs.google.com/presentation/d/127mS6K3XBkWJOmctxfDi2HrSQl3Zbr3JBBwWay9xHGo/edit
Starstream Working Group on Discord: https://discord.gg/9eZaheySZE
make
to build everythingcargo build
to build Rust crates
./starstream
to run Starstream compiler CLI./test
to run the VM in test/example configurationstarstream_vscode/install_dev
to install extension working directory into VSC- Reload VSC after running
- Uninstall with
rm ~/.vscode/extensions/starstream-dev
starstream_compiler
: Compiler from Starstream language to WASMstarstream_cli
: Command-line interface to the compiler- Binary name is
starstream
- Binary name is
starstream_sys
: WASM-side Rust bindings for Starstream VM exportsstarstream_vm
: Host and example/test code- Uses wasmi as WASM interpreter
starstream_vscode
: Visual Studio Code extension for Starstream language support
example_contract
example_coordination
Note that a single WASM file can contain any combination of coordination scripts, UTXOs, and tokens. This allows them to ship together as a unit. The limitations on what each type of contract can do are enforced dynamically.