Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - zabirauf/elixir-ipfs-api: The Elixir library that is used to communicate with the IPFS REST endpoint.
The Elixir library that is used to communicate with the IPFS REST endpoint. - zabirauf/elixir-ipfs-api
Visit SiteGitHub - zabirauf/elixir-ipfs-api: The Elixir library that is used to communicate with the IPFS REST endpoint.
The Elixir library that is used to communicate with the IPFS REST endpoint. - zabirauf/elixir-ipfs-api
Powered by 0x5a.live ๐
Current Version: v0.1.0
Elixir-Ipfs-Api
The Elixir library that is used to communicate with the IPFS REST endpoint.
Documentation
The documentation is posted at hexdocs
How to use it
1. Add the library to mix.exs
The package is published on Hex. Add the elixir_ipfs_api as follow
defp deps do
[
...
{:elixir_ipfs_api, "~> 0.1.0"}
...
]
end
2. Start the IPFS Daemon
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
3. Create the IpfsConnection in your code
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}
Examples
Adding content to IPFS
iex> conn = %IpfsConnection{}
iex> IpfsApi.add(conn, "Hello world from Elixir-Ipfs-Api")
{:ok,
%{"Hash" => "QmTcCZJEW1kUcYU1bKQk9SMGRsTisMMWXuxJ1AQerHwyaA",
"Name" => "QmTcCZJEW1kUcYU1bKQk9SMGRsTisMMWXuxJ1AQerHwyaA"}}
Getting content from IPFS
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, ...>>
TODO
- [] Add stream for adding & getting files to and from IPFS
- [] Add a pool to request from multiple different IPFS nodes
Elixir Resources
are all listed below.
Made with โค๏ธ
to provide different kinds of informations and resources.