IPFS RPC API client for Elixir

This library is still a work in progress

The reason for starting a new IPFS module is that none of the others seem to work at all.

All commands added, but not verified. For your everyday IPFS operations the module should work by now. But no guarantees. :-) Please, please, please - file issues and feature requests.

Version 0.1.0 is substantially better than version 0.0.1 and not compatible at all.

Install

Add myspace_ipfs to your mix.exs dependencies:

def deps do
[
    {:myspace_ipfs, "~> 0.1.0"},
]
end

and run $ mix deps.get to install the dependency.

Configuration

Add something like the following to your config:

config :myspace_ipfs,
  baseurl: "http://localhost:5001/api/v0",
  debug: false

Documentation

The documentation is very unbalanced. I am feeling my way forward as to how much I should document here. Each command will receive a link to the official documentation at least.

Usage

Make sure ipfs is running. Then you can start using the module. If ipfs isn’t running, you may try MyspaceIPFS.daemon().

To use do:

alias MyspaceIPFS, as: IPFS
IPFS.id()

MyspaceIPFS.Refs.refs("/ipns/myspace.bahner.com")

alias MyspaceIPFS.Refs
Refs.local()

The basic commands are in the MyspaceIPFS module. The grouped ipfs commands each have their separate module, eg. MyspaceIPFS.Refs, MyspaceIPFS.Blocks etc.