elixir_ipfs_api alternatives and similar packages
Based on the "Third Party APIs" category.
Alternatively, view elixir_ipfs_api alternatives based on common mentions on social networks and blogs.
-
google-cloud
Elixir client libraries for accessing Google APIs. -
gringotts
A complete payment library for Elixir and Phoenix Framework -
statix
Fast and reliable Elixir client for StatsD-compatible servers -
MongoosePush
MongoosePush is a simple Elixir RESTful service allowing to send push notification via FCM and/or APNS. -
commerce_billing
A payment processing library for Elixir -
sendgrid
Create and send composable emails with Elixir and SendGrid. -
mailchimp
A basic Elixir wrapper for version 3 of the MailChimp API -
sparkpost
SparkPost client library for Elixir https://developers.sparkpost.com -
diplomat
Elixir library for interacting with Google's Cloud Datastore -
elixtagram
:camera: Instagram API client for the Elixir language (elixir-lang) -
forcex
Elixir library for the Force.com / Salesforce / SFDC REST API -
google_sheets
Elixir library for fetching Google Spreadsheet data in CSV format -
pay_pal
:money_with_wings: PayPal REST API client for the Elixir language (elixir-lang) -
amazon_product_advertising_client
An Amazon Product Advertising API client for Elixir -
cashier
Cashier is an Elixir library that aims to be an easy to use payment gateway, whilst offering the fault tolerance and scalability benefits of being built on top of Erlang/OTP -
airbrake
An Elixir notifier to the Airbrake/Errbit. System-wide error reporting enriched with the information from Plug and Phoenix channels. -
dogstatsd
An Elixir client for DogStatsd https://www.datadoghq.com/
Elixir and Phoenix Application Security Platform
Do you think we are missing an alternative of elixir_ipfs_api or a related project?
README
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