Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Network Layer
  3. ipfs

ipfs

NOASSERTIONJavaScriptv42.0.0

A JavaScript HTTP client library for interacting with IPFS daemons via their HTTP API.

GitHubGitHub
1.0k stars290 forks0 contributors

What is ipfs?

js-ipfs-http-client is a JavaScript library that provides a client for the IPFS HTTP API, allowing applications to interact with IPFS daemons. It enables developers to perform IPFS operations like adding files, retrieving content, and managing the network programmatically. The library solves the problem of integrating IPFS functionality into JavaScript applications without running a full node directly.

Target Audience

JavaScript developers building decentralized applications, tools, or services that need to interact with IPFS nodes via HTTP. It's suitable for both frontend and backend developers working with IPFS.

Value Proposition

Developers choose js-ipfs-http-client because it offers a standardized, spec-compliant interface to IPFS, supports both browser and Node.js environments, and provides utility functions that simplify common tasks like adding files from various sources.

Overview

[ARCHIVED] now part of the https://github.com/ipfs/js-ipfs repo

Use Cases

Best For

  • Building web applications that interact with IPFS nodes
  • Creating CLI tools for IPFS file management
  • Developing decentralized apps (dApps) with IPFS storage
  • Integrating IPFS into existing JavaScript backends
  • Prototyping IPFS-based features without embedding a full node
  • Accessing IPFS network functions like pubsub or DHT from JavaScript

Not Ideal For

  • New projects requiring active maintenance and the latest IPFS features
  • Applications needing embedded IPFS nodes without HTTP communication overhead
  • Teams prioritizing minimal bundle sizes over full API coverage
  • Environments where running a separate IPFS daemon is impractical

Pros & Cons

Pros

Interface Compatibility

Adheres to the interface-ipfs-core spec, enabling seamless switching between embedded and remote IPFS nodes, as highlighted in the README's API section.

Cross-Platform Support

Works in both browser and Node.js environments with configurable CORS and custom headers, supported via examples for Browserify, webpack, and CDN usage.

Helpful Utility Functions

Includes globSource and urlSource for easy file addition from local filesystems or URLs, simplifying common IPFS operations as shown in the static utils section.

Flexible Configuration

Supports global timeouts, custom HTTP headers, and additional options like AbortSignal, allowing fine-tuned control over HTTP requests per the README.

Cons

Archived and Deprecated

The library is no longer maintained independently; all development has moved to js-ipfs, meaning new issues or features require switching repositories, as stated at the top of the README.

HTTP Daemon Dependency

Requires a running IPFS daemon with correct port configuration, adding setup complexity and potential latency compared to embedded solutions.

Browser CORS Hurdles

Browser usage necessitates manual CORS configuration on the IPFS server, which can be a barrier for web apps, as acknowledged in the CORS section with commands to whitelist domains.

Frequently Asked Questions

Quick Stats

Stars1,043
Forks290
Contributors0
Open Issues1
Last commit6 years ago
CreatedSince 2014

Tags

#ipfs#decentralized-storage#distributed-systems#javascript-library#content-addressed-storage#javascript#browser-support#node-js#p2p#http-client

Built With

J
JavaScript
N
Node.js

Included in

Network Layer579
Auto-fetched 1 day ago

Related Projects

hypercorehypercore

Hypercore is a secure, distributed append-only log.

Stars2,806
Forks203
Last commit6 days ago
bittorrent-trackerbittorrent-tracker

🌊 Simple, robust, BitTorrent tracker (client & server) implementation

Stars1,929
Forks330
Last commit3 days ago
bittorrent-dhtbittorrent-dht

🕸 Simple, robust, BitTorrent DHT implementation

Stars1,276
Forks207
Last commit3 days ago
mdnsmdns

mdns/zeroconf/bonjour service discovery add-on for node.js

Stars877
Forks145
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub