Skip to content

Enhanced s5.js

A comprehensive TypeScript SDK for the S5 decentralized storage network. Path-based file operations, client-side media processing, directories that scale to millions of entries — in a 61 KB bundle.

Path-based API

Familiar filesystem-like operations — get, put, delete, list — with automatic CBOR encoding, cursor pagination, and Unicode paths. Learn more

Scales to millions of entries

Automatic HAMT sharding kicks in at 1,000+ entries per directory, keeping operations O(log n) where flat directories become impractical. Performance

Data safety, taken seriously

A typed error contract (S5DirectoryLoadError) distinguishes “temporarily unavailable” from “genuinely absent”, so transient network failures can never silently orphan your data. Error handling

Cross-identity sharing

Read another user’s public directory tree and subscribe to live updates over a shared public key — no identity required on the reader side. Cross-identity

Client-side media processing

Thumbnail generation and image metadata extraction in the browser, WASM-powered with Canvas fallback — lazy-loadable at just 9.79 KB. Media

Content-addressed storage

CID extraction, verification, and public download by CID with BLAKE3 hash checking, for power users building distributed systems. Advanced CID API

Terminal window
npm install @julesl23/s5js@beta
import { S5 } from '@julesl23/s5js';
const s5 = await S5.create({
initialPeers: ['wss://z2DWuPbL5pweybXnEB618pMnV58ECj2VPDNfVGm3tFqBvjF@s5.ninja/s5/p2p'],
});
await s5.recoverIdentityFromSeedPhrase(seedPhrase);
await s5.fs.put('home/hello.txt', 'Hello, S5!');
const content = await s5.fs.get('home/hello.txt');

Platformless AI

A decentralized peer-to-peer network for accessing AI models without trusting a centralized company — trustless, private, censorship-resistant, with storage built on Enhanced s5.js. platformlessai.org

Chi Voice

A Sia Foundation grant project building a community-collected audio dataset of underrepresented and indigenous languages, using Enhanced s5.js for content-addressed uploads to Sia. chivr.tech · GitHub

Building something with Enhanced s5.js? Open an issue to get it listed here.


Enhanced s5.js is created and maintained by Jules Lai, founder of Fabstir. Developed under a Sia Foundation grant and actively maintained — see the changelog for the full release history, currently at v0.9.0-beta.50 with 581 tests passing.

Built on SiaBuilt on Sia