All Projects → ipfs-inactive → js-ipfs-mfs

ipfs-inactive / js-ipfs-mfs

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

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to js-ipfs-mfs

Js Ipfs
IPFS implementation in JavaScript
Stars: ✭ 6,129 (+22600%)
Mutual labels:  peer-to-peer, ipfs, js-ipfs
Peergos
A p2p, secure file storage, social network and application protocol
Stars: ✭ 895 (+3214.81%)
Mutual labels:  peer-to-peer, ipfs
Rust Ipfs
The InterPlanetary File System (IPFS), implemented in Rust.
Stars: ✭ 739 (+2637.04%)
Mutual labels:  peer-to-peer, ipfs
Js Dag Service
Library for storing and replicating hash-linked data over the IPFS network.
Stars: ✭ 81 (+200%)
Mutual labels:  peer-to-peer, ipfs
Arbore
Friend-to-friend filesharing app to save the world from dystopia
Stars: ✭ 270 (+900%)
Mutual labels:  peer-to-peer, ipfs
Orbit Db
Peer-to-Peer Databases for the Decentralized Web
Stars: ✭ 6,381 (+23533.33%)
Mutual labels:  peer-to-peer, ipfs
Ipfd
An imageboard, but images are stored in a peer-to-peer network
Stars: ✭ 77 (+185.19%)
Mutual labels:  peer-to-peer, ipfs
pop
Run a point-of-presence within Myel, the community powered content delivery network.
Stars: ✭ 28 (+3.7%)
Mutual labels:  peer-to-peer, ipfs
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (+511.11%)
Mutual labels:  peer-to-peer, ipfs
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (+566.67%)
Mutual labels:  peer-to-peer, ipfs
trystero
🤝 Serverless WebRTC matchmaking for painless P2P — Make any site multiplayer in a few lines — Use BitTorrent, IPFS, or Firebase
Stars: ✭ 512 (+1796.3%)
Mutual labels:  peer-to-peer, ipfs
pacman.store
Pacman Mirror via IPFS for ArchLinux, Endeavouros and Manjaro
Stars: ✭ 65 (+140.74%)
Mutual labels:  peer-to-peer, ipfs
orbit-db-cli
CLI for orbit-db
Stars: ✭ 60 (+122.22%)
Mutual labels:  peer-to-peer, ipfs
Pcp
📦 Command line peer-to-peer data transfer tool based on libp2p.
Stars: ✭ 687 (+2444.44%)
Mutual labels:  peer-to-peer, ipfs
field-manual
The Offical User's Guide to OrbitDB
Stars: ✭ 178 (+559.26%)
Mutual labels:  peer-to-peer, ipfs
Ipfspics Server
Content-addressable, peer-to-peer method of storing and sharing images on the internet.
Stars: ✭ 1,071 (+3866.67%)
Mutual labels:  peer-to-peer, ipfs
Ipfs
Peer-to-peer hypermedia protocol
Stars: ✭ 20,128 (+74448.15%)
Mutual labels:  ipfs, js-ipfs
Js Libp2p
The JavaScript Implementation of libp2p networking stack.
Stars: ✭ 1,686 (+6144.44%)
Mutual labels:  ipfs, js-ipfs
Partyshare
A free, open source file sharing application, built on the peer-to-peer hypermedia protocol IPFS.
Stars: ✭ 131 (+385.19%)
Mutual labels:  peer-to-peer, ipfs
geesome-node
🦈 Your self-hosted decentralized Messenger, Social network, Media file storage on top of IPFS! Freely communicate in encrypted chat groups, share images, video, text or any data without a risk of censorship or blocking.
Stars: ✭ 90 (+233.33%)
Mutual labels:  peer-to-peer, ipfs

🔒 Archived

The contents of this repo have been merged into ipfs/js-ipfs.

Please open issues or submit PRs there.

MFS (Mutable File System) JavaScript Implementation

standard-readme compliant Build Status Code Coverage Dependency Status js-standard-style

JavaScript implementation of the IPFS Mutable File System

The MFS spec can be found inside the ipfs/specs repository

Lead Maintainer

Alex Potsides

Table of Contents

Install

npm

> npm i ipfs-mfs

Use in Node.js

const mfs = require('ipfs-mfs')

Use in a browser with browserify, webpack or any other bundler

The code published to npm that gets loaded on require is an ES5 transpiled version with the right shims added. This means that you can require it and use with your favourite bundler without having to adjust asset management process.

const mfs = require('ipfs-mfs')

Use in a browser using a script tag

Loading this module through a script tag will make the mfs obj available in the global namespace.

<script src="https://npmcdn.com/ipfs-mfs/dist/index.min.js"></script>
<!-- OR -->
<script src="https://npmcdn.com/ipfs-mfs/dist/index.js"></script>

A note on concurrency

The mfs works by storing a reference to the root node's CID in LevelDB. LevelDB does not support concurrent access so there are read/write locks around bits of the code that modify the the root node's CID.

A lock is kept on the main thread and any requests to read/write from workers or the main thread itself are queued pending release of the lock by the existing holder.

Reads are executed together, writes are executed sequentially and prevent any reads from starting.

If you are using IPFS in a single process or with the node cluster module this should be completely transparent.

If you are using Web Workers there is no way to globally listen to messages sent between workers and the main thread so you will need to also use the observable-webworkers module to ensure the right message transports are set up to allow requesting/releasing the locks.

Contribute

All are welcome, please join in!

This repository falls under the IPFS Code of Conduct.

Open an issue or send a PR - see CONTRIBUTING.md for how to make sure your branch is ready for PRing.

Changelog

See CHANGELOG.md for details of what has changed between releases.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].