A sandboxed and resource-limited runtime for distributed workers.
Powering 🛰️ Filecoin Station.
See CLI Installation.
while (true) {
const start = new Date();
const res = await fetch(
"https://ipfs.io/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/",
);
console.log(`TTFB: ${new Date() - start}ms`);
await new Promise((resolve) => setTimeout(resolve, 1000));
}
$ zinnia run example.js
TTFB: 235ms
...
See also example modules.
See Building Modules.
- JS/WASM engine: deno_core, see the decision record for Switching to Deno Core
- Non-blocking I/O: Async Rust, Tokio
- Networking: deno_fetch, rust-libp2p
- IPFS: Rusty Lassie for retrievals. TBD: Publish content to IPFS
- Block (K/V) storage: TBD
The roadmap and issue tracker are great places to check out for your first time to contribute! You can also look up some past decisions in docs/architecture-decisions-records/.
If you see something broken or missing, please create a new issue.
Finally, don't forget to stop by and say hi 👋 in #filecoin-station-module-builders-wg on Filecoin Slack!
Zinnia was named after the first flower to blossom in space.