π³ IPFS Newsletter 205: HTTP, P2P in browsers, Kubo speedup & more
Welcome back to the IPFS Newsletter! After a hiatus, we have many exciting updates to share.
More HTTP Support Across the IPFS Stack
Multiple IPFS libraries are embracing or adding support for HTTP (usually in addition to Bitswap). Benefits include lower data provision costs, easier integration with existing HTTP libraries and services, and seamless web compatibility.
- Kubo added support for trustless HTTP retrieval on an opt-in basis in v0.35.
- Rainbow, the high performance HTTP Gateway implementation, added support for trustless HTTP retrieval in v1.12.
- Helia, @helia/verified-fetch and the Service Worker Gateway already support trustless HTTP retrieval.
- RASL includes a simple HTTP-based retrieval method.
The next step is adding support for HTTP providing to the DHT (issue #496). This would let nodes announce themselves as HTTP providers alongside or instead of Bitswap.
Service Worker Gateway Provides P2P Capabilities in the Browser
The Service Worker Gateway is a browser-based IPFS gateway that uses Service Workers to handle p2p retrieval, hash verification, and other IPFS functionality. Try it out at inbrowser.link.
The Service Worker Gateway has been getting a lot of love recently: v1.12 includes configurable timeouts, better error pages, and a signed binary for local deployment. For a deep dive, check out the Service Workers for IPFS on the Web video. (Shipyard)
Drop-in Service Worker Example for App Developers
Here's a drop-in service worker example. It intercepts hardcoded requests to centralized gateways, using @helia/verified-fetch to retrieve and verify content directly from peers. (Shipyard)
IPNI Service Update
The IPNI, a content routing index for large content providers, suffered service degredation in April, disrupting the ability to find providers for CIDs. The IPNI team has made hardware and software improvements to avoid future disruptions, and service is improving as the newly-upgraded indexers catch up.
In the interim, a new feature in Someguy allows large content providers to run a self-hosted HTTP delegated routing endpoint, providing an immediate remedy until IPNI service was restored.
Join the #ipni
channel on the Filecoin Slack to follow along. A Content Routing WG will be meeting biweekly. More: background & latest notes.
20-40x Speedup for Data Onboarding in Kubo
In the past, adding data to Kubo with ipfs add
while Kubo was running was slow due to inefficient provider queue handling. A new optimization in Boxo yields a 20-40x speedup (higher for larger datasets), making it easier to onboard large data sets while Kubo is running. Available in Kubo v0.35. (Shipyard)
Protocol and Standards
DASL and IETF Draft for CBOR/c-42
DASL (Data-Addressed Structures & Links) is a small set of specs for working with content-addressed, linked data. First released in December 2024, DASL now includes sub-specs for encoding (CID and dCBOR42, which are strict subsets of IPFS CIDs and IPLD), metadata (MASL), and retrieval (RASL) of content addressed data.
The tag-42 profile of CBOR Core was submitted as an IETF Draft on 22 May, paving the way for web-wide standardization of CBOR/c-42 and CIDs. (IPFS Foundation)
Practical Interoperability for CIDs
The original CID specification was designed for flexibility and future-proofing, supporting various encodings, graph widths, and optimizations. In practice, this flexibility yields multiple CIDs for the same input, making it challenging to establish CID equivalency for the same data across implementations.
Efforts are underway to increase practical interop without losing futureproofing: IPIP-499: CID Profiles proposes a set of standard profiles for UnixFS, and Kubo v0.35 adds new config options towards this goal. For more context, see the lively forum thread.
Amino DHT Spec
The Amino DHT is a distributed key-value store used for peer and content routing records within IPFS Mainnet. It extends the libp2p Kademlia DHT with IPFS-specific features, such as CIDs and IPNS records. Until recently, it had no formal spec beyond the libp2p Kademlia DHT spec.
PR #497 addresses this gap with the goal of improving interoperability, security, and clarity across implementations. (Shipyard)
Code and Tools
π’ Releases
- kubo 0.35 & 0.34 β Lots of new features, including opt-in HTTP retrieval, new data import options that help with CID equivalency, easi, AutoTLS, and performance improvements to bitswap, providing, and data onboarding commands.
ipfs add
is now 20-40x faster. - helia 5.4.1 β New usability improvements to the
unixfs.stat
command, and a new option allowing finer control in how gateways are picked for block retrieval. Additionally, a bug fix in js-libp2p ensures abort signals passed to network operations are properly handled. - IPFS Cluster v1.1.4 β A maintenance release fixes the IPFS Cluster Docker image for arm64 architectures.
- Rainbow v1.13 & v1.12 β Support for HTTP retrieval and a new option to control http providers.
- Boxo v0.30.0 β The reference library shared by Kubo and Rainbow adds support for custom UnixFS DAG width and the ability to enable/disable the bitswap server.
- Someguy v0.9.1 β The Delegated Routing API server implementation adds support for probing HTTP gateway endpoints and returning those as providers.
- Service Worker Gateway v1.12 β Configurable timeouts, useful debug info on error pages, and more.
Ecosystem Spotlights
- Helia 101 examples for Node.js is overhauled with many new examples: getting started with Helia, pinning, IPNS, and more.
- iroh v0.35 β The last planned version before the 1.0 release candidate later this year.
- Seed Hypermedia, an open protocol and app for authorship and collaboration, published a new blog post describing core principles and new features in the Seed Hypermedia App, which features a clean, thoughtfully designed interface.
- Peergos 1.3 β the p2p, secure file storage, social network and application protocol releases a new sync gui and api for managing the sync client.
- Good news for WebTransport:
serverCertificateHashes
, a feature in the WebTransport spec, necessary for browsers to connect to IPFS nodes over WebTransport without CA-signed TLS certs, was considered for removal. After a lengthy discussion, the WebKit team agreed to implement it, which means Safari users will also benefit from direct WebTransport connections to IPFS nodes. - TeaTime is a static distributed library system powered by IPFS, SQLite and GitHub.
- js-blockstore-opfs is an Origin Private File System (OSPF) TS/JS blockstore implementation for use with Helia and js-libp2p in the browser. (@dozyio)
- Distributed Press, a publishing tool for the distributed web, is migrating to Helia.
Services and Providers
- Filebase launches IPFS RPC API Support with Kubo-compatible endpoints to simplify integration with existing tools -- no node management required. (Docs).
- Filebase launches Real-Time Gateway Activity Streams (v0), providing real-time visibility into IPFS gateway traffic, including IPs and status codes.
- Bluesky Backups by Storacha: This beta webapp saves regular snapshots of your ATProto data and installs a recovery key into your DID PLC profile, bringing true credible exit to Bluesky. Github repo.
Articles and Tutorials
- π₯ Deploy Static Apps and Websites to IPFS with Github Actions. Whether you're using React, Vuepress, Astro, Next.js, or any other static site generator, the IPFS Deploy Action will help you get your web application deployed on IPFS. Here's the docs page and video. (Daniel Norman, Shipyard)
- π₯ Service Workers for IPFS on the Web. Deep dive into Service Workers, how they help IPFS on the Web, and how to use Service Workers today for verified peer-to-peer retrieval on the Web. (Daniel Norman, Shipyard)
- π Setup a DNSLink Gateway to serve static sites on IPFS with Kubo and Caddy.
- Smaller Hash BTrees β Insightful blog post delving into optimization techniques to reduce the size of BTree indices when storing CIDs (using a real dataset from ATProto) in a PostgreSQL database. (Stellz)
Community & Events
- Grantees Announced for Spring 2025 IPFS Utility Grants β 3 grantees were selected:
rsky-satnav
CAR Explorer (Rudy Fraser, Blacksky), CAR Indexing Tools (Ben Lau, Basile Simon, & Yurko Jaremko, Starling Lab), and DASL Interop Testing (Cole Anthony Capilongo, Hypha Co-op), who will be presenting their work at CID Congress #3. - USER * AGENTS * BERLIN (May 29-30, Berlin) β Chat or cowork with people interested in maximizing user agency in everyday software, and meet long-time contributors to the IPFS ecosystem.
- Hashberg: A Content Addressing Architectures Summit (June 11, Berlin) β An intimate, 1-day event to collaborate on critical topics across the IPFS ecosystem.
- Protocol Berg v2 (June 12-13, Berlin) β Several talks on IPFS.
- JS Nation 2025 (June 16, Virtual) β "Demystifying IPFS: A Web Developer's Guide to Content Distribution"
- CID Congress #3 (June 25, Virtual)
If you made it this far, thanks for reading!
Π― ΠΡΠΊΠ΅Π±ΡΠ»Π½