Skip to content

keorn/clj-ipfs-http-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IPFS API wrapper in Clojure

A simple wrapper for interacting with IPFS API

Get it

[clj-ipfs-api "1.2.3"]

;; In your ns statement:
(ns my.ns
  (:require [clj-ipfs-api.core :as ipfs]))

Usage

Launch the IPFS Daemon.

;; for default daemon settings use just like cli
;; commands are joined with dashes
(ipfs/swarm-peers)
;; arguments are strings
(ipfs/cat
  "QmShWPeTZL5px2YGvgJD99C4SuHEqry1u1RoNu1bAVDkM1"
  "QmbRdyLXiFWrKc5hW1NbvpUxF9tLovWCPgiz4BDhjD9k3j")
;; flags go in a map
(ipfs/swarm-peers {:type "indirect"}) 

Custom API server address has to be set up.

(ipfs/set-api-url! "http://127.0.0.1:55555")

Everything is decoded from json, except cat. To change request options use a map under :request key.

;; different API server
(ipfs/swarm-peers {:request {:url "http://127.0.0.1:55555"}})

;; for big files use a stream, no json parsing is done in this case
(ipfs/swarm-peers {:request {:as :stream}})

For more options that are taken by the :request map, look at the second argument of request function in clj-http.

About

Simple Clojure wrapper for IPFS API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published