#filecoin #untrusted #run-time #module #worker #station #sandboxed

app zinnia

Zinnia is a runtime for Filecoin Station modules. It provides a sandboxed environment to execute untrusted code on consumer-grade computers.

31 releases (20 breaking)

new 0.20.2 Jul 9, 2024
0.19.1 May 13, 2024
0.17.0 Feb 6, 2024
0.16.0 Dec 12, 2023
0.6.0 Mar 30, 2023

#407 in Development tools

MIT/Apache

140KB
2.5K SLoC

JavaScript 1.5K SLoC // 0.1% comments Rust 1.5K SLoC // 0.1% comments


🌼

Zinnia CLI


crates

Zinnia is a sandboxed and resource-limited runtime for distributed workers. This crate provides the zinnia executable to run modules locally, e.g. while developing.

Installation

You can download the zinnia binary from our GitHub Releases.

OS Platform Filename
Windows Intel, 64bit zinnia-windows-x64.zip
macOS Intel, 64bit zinnia-macos-x64.zip
macOS Apple Silicon zinnia-macos-arm64.zip
Linux Intel, 64bit zinnia-linux-x64.tar.gz
Linux ARM, 64bit zinnia-linux-arm64.tar.gz

Build from source

If you have Rust tooling installed on your machine (see Install Rust), you can build & install Zinnia from the source code.

In addition to the Rust build toolchain, you also need Go installed. See Go Downloads.

On Windows, Go uses gcc to create C libraries. Go recommends installing TDM GCC.

$ cargo install zinnia

Basic use

Run a JavaScript module

zinnia run my-module.js

See Building Modules for how to write new modules for Filecoin Station.

Run a Rust module

We have decided to put Rust/WASM modules on hold for now.

Dependencies

~171MB
~3.5M SLoC