Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ipfs-mfs

Package Overview
Dependencies
Maintainers
1
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ipfs-mfs

JavaScript implementation of the IPFS Mutable File System

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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

Keywords

FAQs

Package last updated on 23 Jan 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc