Current Version: v0.1.0
The Elixir library that is used to communicate with the IPFS REST endpoint.
The documentation is posted at hexdocs
The package is published on Hex. Add the elixir_ipfs_api as follow
defp deps do
[
...
{:elixir_ipfs_api, "~> 0.1.0"}
...
]
end
Start the IPFS daemon by running the following in terminal
$ ipfs daemon
This will start the ipfs daemon with the API endpoint at localhost:5001. If you want to start the API endpoint at a different address then add to the config
$ ipfs config Addresses.API /ipfs/127.0.0.1/tcp/5007
The IpfsConnection entity contains the information of the IPFS API endpoint. By default it will try to connect to http://localhost:5001/api/v0
conn = %IpfsConnection{host: "127.0.0.1", base: "api/v0", port: 5007}
iex> conn = %IpfsConnection{}
iex> IpfsApi.add(conn, "Hello world from Elixir-Ipfs-Api")
{:ok,
%{"Hash" => "QmTcCZJEW1kUcYU1bKQk9SMGRsTisMMWXuxJ1AQerHwyaA",
"Name" => "QmTcCZJEW1kUcYU1bKQk9SMGRsTisMMWXuxJ1AQerHwyaA"}}
iex> conn = %IpfsConnection{}
iex> IpfsApi.get(conn, "QmTcCZJEW1kUcYU1bKQk9SMGRsTisMMWXuxJ1AQerHwyaA")
<<81, 109, 84, 99, 67, 90, 74, 69, 87, 49, 107, 85, 99, 89, 85, 49, 98, 75, 81, 107, 57, 83, 77, 71, 82, 115, 84, 105, 115, 77, 77, 87, 88, 117, 120, 74, 49, 65, 81, 101, 114, 72, 119, 121, 97, 65, 0, 0, 0, 0, ...>>
- [] Add stream for adding & getting files to and from IPFS
- [] Add a pool to request from multiple different IPFS nodes