#run-time #zinnia #p2p #module #deno #isolate #ipfs

app zinnia

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

37 releases (22 breaking)

new 0.22.2 Apr 24, 2025
0.21.1 Mar 14, 2025
0.20.3 Sep 4, 2024
0.20.2 Jul 9, 2024
0.6.0 Mar 30, 2023

#148 in Development tools

MIT/Apache

160KB
3K SLoC

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


🌼

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.

Rust version requirement: Zinnia requires Rust toolchain version 1.85. If you have rustup installed, you can install this specific version using:

rustup install 1.85
rustup default 1.85

In addition to the Rust build toolchain, you also need Go installed. See Go Downloads. The minimum required version of Go is 1.22.

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

~7–58MB
~1M SLoC