IPFS implementation status Legend: 💚 Done  💛 In Progress  💔 Missing  ➖ Not planned Bitswap CLI Command Go JS ipfs ledger
💚 💛 ipfs reprovide
💚 💔 ipfs bitswap stat
💚 💚 ipfs bitswap unwant
💚 💚 ipfs bitswap wantlist
💚 💚
HTTP Endpoint Go JS /api/v0/bitswap/ledger
💚 💛 /api/v0/bitswap/reprovide
💚 💔 /api/v0/bitswap/stat
💚 💚 /api/v0/bitswap/unwant
💚 💚 /api/v0/bitswap/wantlist
💚 💚
Core See bitswap (opens new window) .
Block CLI Command Go JS ipfs block get
💚 💚 key
💚 💚 ipfs block put
💚 💚 data
💚 💚 format
💚 💚 mhtype
💚 💚 mhlen
💚 💚 ipfs block rm
💚 💚 hash
💚 💚 force
💚 💚 ipfs block stat
💚 💚 key
💚 💚
HTTP Endpoint Go JS /api/v0/block/get
💚 💚 /api/v0/block/put
💚 💚 format=
💚 💚 mhtype=
💚 💚 mhlen=
💚 💚 /api/v0/block/rm
💚 💚 force=
💚 💚 /api/v0/block/stat
💚 💚
Core See block (opens new window) .
Bootstrap CLI Command Go JS ipfs bootstrap add
💚 💚 default=
💚 💚 ipfs bootstrap list
💚 💚 ipfs bootstrap rm
💚 💚 all=
💚 💚
HTTP Endpoint Go JS /api/v0/bootstrap/add
💚 💚 default=
💚 💚 /api/v0/bootstrap/add/default
💚 💚 /api/v0/bootstrap/list
💚 💚 /api/v0/bootstrap/rm
💚 💚 all=
💚 💚 /api/v0/bootstrap/rm/all
💚 💚
Core See bootstrap (opens new window) .
Config CLI Command Go JS ipfs config edit
💚 💚 ipfs config
💚 💚 bool=
💚 💚 json=
💚 💚 ipfs config replace
💚 💚 ipfs config show
💚 💚 ipfs log level
💚 ➖ ipfs log ls
💚 ➖ ipfs log tail
💚 ➖
HTTP Endpoint Go JS /api/v0/config/edit
💚 ➖ /api/v0/config
💚 💚 bool=
💚 💚 json=
💚 💚 /api/v0/config/replace
💚 💚 /api/v0/config/show
💚 💚 /api/v0/log/level
💚 ➖ /api/v0/log/ls
💚 ➖ /api/v0/log/tail
💚 ➖
Core See config (opens new window) .
DAG CLI Command Go JS ipfs dag export
💚 💔 ipfs dag get
💚 💚 ipfs dag import
💚 💔 ipfs dag put
💚 💚 ipfs dag resolve
💚 💚
HTTP Command Go JS /api/v0/dag/export
💚 💔 /api/v0/dag/get
💚 💚 /api/v0/dag/import
💚 💔 /api/v0/dag/put
💚 💚 /api/v0/dag/resolve
💚 💚
Core See dag (opens new window) .
Stats and diagnostics CLI Command Go JS ipfs stats bitswap
💚 💚 ipfs stats bw
💚 💚 peer
💚 💚 proto
💚 💚 poll
💚 💚 interval
💚 💚 ipfs stats repo
💚 💚 ipfs diag cmds
💚 ➖ ipfs diag cmds clear
💚 ➖ ipfs diag cmds set-time
💚 ➖ time
💚 ➖ ipfs diag sys
💚 ➖
HTTP Endpoint Go JS /api/v0/stats/bitswap
💚 💚 /api/v0/stats/bw
💚 💚 peer=
💚 💚 proto=
💚 💚 poll=
💚 💚 interval=
💚 💚 /api/v0/stats/repo
💚 💚 /api/v0/diag/cmds
💚 ➖ /api/v0/diag/cmds/clear
💚 ➖ /api/v0/diag/cmds/set-time
💚 ➖ arg=
💚 ➖ /api/v0/net
💚 ➖ vis
💚 ➖ /api/v0/sys
💚 ➖
Core See stats (opens new window) .
DHT CLI Command Go JS ipfs dht findpeer
💚 💚 verbose=
💚 💔 ipfs dht findprovs
💚 💚 verbose=
💚 💔 num-providers=
💚 💚 ipfs dht get
💚 💚 verbose=
💚 💔 ipfs dht provide
💚 💚 verbose=
💚 💔 recursive=
💚 💔 ipfs dht put
💚 💚 verbose=
💚 💔 ipfs dht query
💚 💔 verbose=
💚 💔
HTTP Endpoint Go JS /api/v0/dht/findpeer
💚 💚 verbose=
💚 💔 /api/v0/dht/findprovs
💚 💚 verbose=
💚 💔 num-providers=
💚 💚 /api/v0/dht/get
💚 💚 verbose=
💚 💔 /api/v0/dht/provide
💚 💚 verbose=
💚 💔 recursive=
💚 💔 /api/v0/dht/put
💚 💚 verbose=
💚 💔 /api/v0/dht/query
💚 💚 verbose=
💚 💔
Core See dht (opens new window) .
Files CLI Command Go JS ipfs add
💚 💚 file
💚 💚 recursive
💚 💚 quiet
💚 💚 quieter
💚 💚 silent
💚 💚 progress
💚 💚 trickle
💚 💚 only-hash
💚 💚 wrap-with-directory
💚 💚 hidden
💚 💔 chunker
💚 💚 pin
💚 💚 raw-leaves
💚 💚 nocopy
💚 💔 fscache
💚 💔 cid-version
💚 💚 hash
💚 💚 ipfs cat
💚 💚 ipfs ls
💚 💚 headers
💚 💛 resolve-type
💚 💛 ipfs file ls
💚 💚 ipfs files cp
💚 💚 flush
💚 💚 ipfs files flush
💚 💚 ipfs files ls
💚 💚 ipfs files mkdir
💚 💚 parents
💚 💚 flush
💚 💚 ipfs files mv
💚 💚 flush
💚 💚 ipfs files read
💚 💚 offset
💚 💚 count
💚 💚 ipfs files rm
💚 💚 recursive
💚 💚 ipfs files stat
💚 💚 format
💚 💔 hash
💚 💚 size
💚 💚 with-local
💚 💚 ipfs files write
💚 💚 offset
💚 💚 create
💚 💚 parents
💚 💚 truncate
💚 💚 count
💚 💚 raw-leaves
💚 💚 cid-version
💚 💚 hash
💚 💚
HTTP Endpoint Go JS /api/v0/add
💚 💚 recursive=
💚 💚 quiet=
💚 💚 quieter=
💚 💚 silent=
💚 💚 progress=
💚 💚 trickle=
💚 💚 only-hash=
💚 💚 wrap-with-directory
💚 💚 hidden
💚 💔 chunker
💚 💚 pin
💚 💚 raw-leaves
💚 💚 nocopy
💚 💔 fscache
💚 💔 cid-version
💚 💚 hash
💚 💚 /api/v0/cat
💚 💚 /api/v0/ls
💚 💚 headers=
💚 💛 resolve-type=
💚 💛 /api/v0/file/ls
💚 💚 /api/v0/files/cp
💚 💚 flush=,f=
💚 💚 /api/v0/files/flush
💚 💚 /api/v0/files/ls
💚 💚 l=
💚 💚 flush=,f=
💚 💚 /api/v0/files/mkdir
💚 💚 parents=,p=
💚 💚 flush=,f=
💚 💚 /api/v0/files/mv
💚 💚 flush=,f=
💚 💚 /api/v0/files/read
💚 💚 offset=,o=
💚 💚 count=,n=
💚 💚 flush=,f=
💚 💚 /api/v0/files/rm
💚 💚 recursive=,r=
💚 💚 flush=,f=
💚 💚 /api/v0/files/stat
💚 💚 flush=,f=
💚 💚 /api/v0/files/write
💚 💚 offset=,o=
💚 💚 create=,e=
💚 💚 truncate=,t=
💚 💚 count=,n=
💚 💚 flush=,f=
💚 💚
Core See files (opens new window) .
File store (IPFS pack) Note: Implementation in js-ipfs is not planned for now.
CLI HTTP Core Key management CLI Command Go JS ipfs key gen
💚 💚 type=
💚 💚 size=
💚 💚 ipfs key list
💚 💚 l=
💚 💚 ipfs key rename
💚 💚 force=
💚 💚 ipfs key rm
💚 💚 l=
💚 💚 ipfs key rm
💚 💚 ipfs key export
💔 💚 ipfs key import
💔 💚
HTTP Endpoint Go JS /api/v0/key/gen
💚 💚 type=
💚 💚 size=
💚 💚 /api/v0/key/list
💚 💚 l=
💚 💚 /api/v0/key/rename
💚 💚 force=
💚 💚 /api/v0/key/rm
💚 💚 l=
💚 💚 /api/v0/key/export
💔 💚 /api/v0/key/import
💔 💚
Core See key (opens new window) .
Miscellaneous CLI Command Go JS ipfs ping
💚 💚 count
💚 💚 ipfs update
âž– âž– ipfs version
💚 💚 ipfs commands
💚 💚 ipfs id
💚 💚 format
💚 💚 ipfs mount
💚 ➖ ipfs-path=
💚 ➖ ipns-path=
💚 ➖
HTTP Endpoint Go JS /api/v0/ping
💚 💚 count=
💚 💚 /api/v0/update
âž– âž– /api/v0/version
💚 💚 /api/v0/commands
💚 💚 /api/v0/id
💚 💚 format=
💚 💚 /api/v0/mount
💚 ➖ ipfs-path=
💚 ➖ ipns-path=
💚 ➖
Core See misc (opens new window) .
Naming Note: Implementation in js-ipfs is blocked until DHT is finished.
CLI Command Go JS ipfs name publish
💚 💚 resolve=
💚 💚 lifetime=
💚 💚 ttl=
💚 💚 key=
💚 💚 ipfs name resolve
💚 💚 recursive=
💚 💚 nocache=
💚 💚 ipfs name pubsub
💚 💚 ipfs name resolve
💚 💚 ipfs resolve
💚 💚 recursive=
💚 💚 ipfs dns
💚 💚 recursive=
💚 💚
HTTP Endpoint Go JS /api/v0/name/publish
💚 💚 resolve=
💚 💚 lifetime=
💚 💚 ttl=
💚 💚 key=
💚 💚 /api/v0/name/resolve
💚 💚 recursive=
💚 💚 nocache=
💚 💚 /api/v0/name/pubsub
💚 💚 /api/v0/resolve
💚 💚 recursive=
💚 💚 /api/v0/dns
💚 💚 recursive=
💚 💚
Core See name (opens new window) and misc (opens new window) .
Object CLI Endpoint Go JS ipfs object data
💚 💚 ipfs object diff
💚 💔 ipfs object get
💚 💚 encoding
💚 💚 ipfs object links
💚 💚 ipfs object new
💚 💚 ipfs object patch append-data
💚 💚 ipfs object patch add-link
💚 💚 create
💚 💔 ipfs object patch rm-link
💚 💚 ipfs object patch set-data
💚 💚 ipfs object put
💚 💚 inputenc
💚 💚 datafieldenc
💚 💔 pin
💚 💔 ipfs object stat
💚 💚
HTTP Endpoint Go JS /api/v0/object/data
💚 💚 /api/v0/object/diff
💚 💔 /api/v0/object/get
💚 💚 encoding=json,enc=json
💚 💚 encoding=protobuf,enc=protobuf
💚 💚 encoding=xml,enc=xml
💚 💚 /api/v0/object/links
💚 💚 /api/v0/object/new
💚 💚 /api/v0/object/patch/append-data
💚 💚 /api/v0/object/patch/add-link
💚 💚 create=
💚 💚 /api/v0/object/patch/rm-link
💚 💚 /api/v0/object/patch/set-data
💚 💚 /api/v0/object/put
💚 💚 inputenc
💚 💚 /api/v0/object/stat
💚 💚
Core See object (opens new window) .
p2p (libp2p exposed API) This is blocked until there is a formalized interface-libp2p
. Currently, js-ipfs exposes libp2p directly while go-ipfs exposes a subset of commands that use libp2p.
CLI HTTP Core See core (opens new window) .
Pinning CLI Command Go JS ipfs pin add
💚 💚 recursive
💚 💚 progress
💚 💔 ipfs pin ls
💚 💚 type
💚 💚 quiet
💚 💚 ipfs pin rm
💚 💚 recursive
💚 💚 ipfs pin update
💚 💔 ipfs pin verify
💚 💔 verbose
💚 💔 ipfs refs
💚 💚 format
💚 💚 edges
💚 💚 unique
💚 💚 recursive
💚 💚 ipfs refs local
💚 💚
HTTP Endpoint Go JS /api/v0/pin/add
💚 💚 recursive=
💚 💚 /api/v0/pin/ls
💚 💚 type=
💚 💚 quiet=
💚 💚 /api/v0/pin/rm
💚 💚 recursive=
💚 💚 /api/v0/pin/update
💚 💔 unpin=
💚 💔 /api/v0/pin/verify
💚 💔 verbose=
💚 💔 /api/v0/refs
💚 💚 format=
💚 💚 edges=
💚 💚 unique=
💚 💚 recursive=
💚 💚 /api/v0//refs/local
💚 💚
Core See pin (opens new window) and refs (opens new window) .
PubSub CLI Command Go JS ipfs pubsub ls
💚 💚 ipfs pubsub peers
💚 💚 ipfs pubsub pub
💚 💚 ipfs pubsub sub
💚 💚 discover
💚 💔
HTTP Endpoint Go JS /api/v0/pubsub/ls
💚 💚 /api/v0/pubsub/peers
💚 💚 /api/v0/pubsub/pub
💚 💚 /api/v0/pubsub/sub
💚 💚 discover=
💚 💔
Core See pubsub (opens new window) .
Repo CLI Command Go JS ipfs repo fsck
💚 ➖ ipfs repo gc
💚 💚 ipfs repo stat
💚 💚 ipfs repo verify
💚 ➖ ipfs repo version
💚 💚
HTTP Endpoint Go JS /api/v0/repo/fsck
💚 ➖ /api/v0/repo/gc
💚 💚 /api/v0/repo/stat
💚 💚 /api/v0/repo/verify
💚 ➖ /api/v0/repo/version
💚 💚
Core See repo (opens new window) .
Swarm CLI Command Go JS ipfs swarm addrs
💚 💚 ipfs swarm addrs listen
💚 💔 ipfs swarm addrs local
💚 💚 ipfs swarm connect
💚 💚 ipfs swarm disconnect
💚 💚 ipfs swarm filters
💚 💔 ipfs swarm filters add
💚 💔 ipfs swarm filters rm
💚 💔 ipfs swarm peers
💚 💚 verbose=
💚 💚 latency=
💚 💚 streams=
💚 💚
HTTP Endpoint Go JS /api/v0/swarm/addrs
💚 💚 /api/v0/swarm/addrs/listen
💚 💔 /api/v0/swarm/addrs/local
💚 💚 /api/v0/swarm/connect
💚 💚 /api/v0/swarm/disconnect
💚 💚 /api/v0/swarm/filters
💚 💔 /api/v0/swarm/filters/add
💚 💔 /api/v0/swarm/filters/rm
💚 💔 /api/v0/swarm/peers
💚 💚 verbose=
💚 💚 latency=
💚 💚 streams=
💚 💚
Core See swarm (opens new window) .