IPFS Implementation Status
Legend: π Done Β π In Progress Β π
Missing Β π° Not planned
Command
Go Impl
JS Impl
ipfs ledger
π
π
peer
π
π
ipfs reprovide
π
π
ipfs bitswap stat
π
π
ipfs bitswap unwant
π
π
key
π
π
ipfs bitswap wantlist
π
π
peer
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/bitswap/ledger
π
π
arg=
π
π
GET /api/v0/bitswap/reprovide
π
π
GET /api/v0/bitswap/stat
π
π
GET /api/v0/bitswap/unwant
π
π
arg=
π
π
GET /api/v0/bitswap/wantlist
π
π
peer=
π
π
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs block get
π
π
key
π
π
ipfs block put
π
π
data
π
π
format
π
π
mhtype
π
π
mhlen
π
π
ipfs block rm
π
π
hash
π
π
force
π
π
ipfs block stat
π
π
key
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/block/get
π
π
arg=
π
π
POST /api/v0/block/put
π
π
arg=
π
π
format=
π
π
mhtype=
π
π
mhlen=
π
π
GET /api/v0/block/rm
π
π
arg=
π
π
force=
π
π
GET /api/v0/block/stat
π
π
arg=
π
π
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs bootstrap add
π
π
arg=
π
π
default=
π
π
ipfs bootstrap list
π
π
ipfs bootstrap rm
π
π
arg=
π
π
all=
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/bootstrap/add
π
π
arg=
π
π
default=
π
π
GET /api/v0/bootstrap/add/default
π
π
GET /api/v0/bootstrap/list
π
π
GET /api/v0/bootstrap/rm
π
π
arg=
π
π
all=
π
π
GET /api/v0/bootstrap/rm/all
π
π
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs config edit
π
π°
ipfs config
π
π°
key
π
π
value
π
π
bool=
π
π
json=
π
π
ipfs config replace
π
π
file
π
π
ipfs config show
π
π
ipfs log level
π
π°
subsystem
π
π°
level
π
π°
ipfs log ls
π
π°
ipfs log tail
π
π°
Endpoint
Go Impl
JS Impl
GET /api/v0/config/edit
π
π°
POST /api/v0/config
π
π°
arg1=
π
π
arg2=
π
π
bool=
π
π
json=
π
π
POST /api/v0/config/replace
π
π
arg=
π
π
GET /api/v0/config/show
π
π
POST /api/v0/log/level
π
π°
arg1=
π
π°
arg2=
π
π°
GET /api/v0/log/ls
π
π°
GET /api/v0/log/tail
π
π°
See interface-ipfs-core .
Blocked until the following are resolved:
See interface-ipfs-core .
Command
Go Impl
JS Impl
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
π
π°
Endpoint
Go Impl
JS Impl
GET /api/v0/stats/bitswap
π
π
POST /api/v0/stats/bw
π
π
peer=
π
π
proto=
π
π
poll=
π
π
interval=
π
π
GET /api/v0/stats/repo
π
π
GET /api/v0/diag/cmds
π
π°
GET /api/v0/diag/cmds/clear
π
π°
GET /api/v0/diag/cmds/set-time
π
π°
arg=
π
π°
GET /api/v0/net
π
π°
vis
π
π°
GET /api/v0/sys
π
π°
See interface-ipfs-core .
Note: This is blocked by core implementation of DHT itself. Follow ipfs/js-ipfs#856
Command
Go Impl
JS Impl
ipfs dht findpeer
π
π
peer ID
π
π
verbose=
π
π
ipfs dht findprovs
π
π
key
π
π
verbose=
π
π
num-providers=
π
π
ipfs dht get
π
π
key
π
π
verbose=
π
π
ipfs dht provide
π
π
key
π
π
verbose=
π
π
recursive=
π
π
ipfs dht put
π
π
key
π
π
value
π
π
verbose=
π
π
ipfs dht query
π
π
peer ID
π
π
verbose=
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/dht/findpeer
π
π
arg=
π
π
verbose=
π
π
GET /api/v0/dht/findprovs
π
π
arg=
π
π
verbose=
π
π
num-providers=
π
π
GET /api/v0/dht/get
π
π
arg=
π
π
verbose=
π
π
GET /api/v0/dht/provide
π
π
arg=
π
π
verbose=
π
π
recursive=
π
π
GET /api/v0/dht/put
π
π
arg1=
π
π
arg2=
π
π
verbose=
π
π
GET /api/v0/dht/query
π
π
arg=
π
π
verbose=
π
π
See interface-ipfs-core .
Command
Go Impl
JS Impl
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
π
π
arg
π
π
ipfs ls
π
π
arg
π
π
headers
π
π
resolve-type
π
π
ipfs file ls
π
π°
path
π
π°
ipfs files cp
π
π
src
π
π
dst
π
π
flush
π
π
ipfs files flush
π
π
path
π
π
ipfs files ls
π
π
path
π
π
level
π
π
flush
π
π
ipfs files mkdir
π
π
path
π
π
parents
π
π
flush
π
π
ipfs files mv
π
π
src
π
π
dst
π
π
flush
π
π
ipfs files read
π
π
path
π
π
offset
π
π
count
π
π
flush
π
π
ipfs files rm
π
π
path
π
π
recursive
π
π
flush
π
π
ipfs files stat
π
π
path
π
π
flush
π
π
ipfs files write
π
π
path
π
π
data
π
π
offset
π
π
create
π
π
truncate
π
π
count
π
π
flush
π
π
ipfs get
π
π
path
π
π
archive
π
π
compress
π
π
compression-level
π
π
Endpoint
Go Impl
JS Impl
POST /api/v0/add
π
π
arg=
π
π
recursive=
π
π
quiet=
π
π
quieter=
π
π
silent=
π
π
progress=
π
π
trickle=
π
π
only-hash=
π
π
wrap-with-directory
π
π
hidden
π
π
chunker
π
π
pin
π
π
raw-leaves
π
π
nocopy
π
π
fscache
π
π
cid-version
π
π
hash
π
π
GET /api/v0/cat
π
π
arg=
π
π
GET /api/v0/ls
π
π
arg=
π
π
headers=
π
π
resolve-type=
π
π
GET /api/v0/file/ls
π
π°
arg=
π
π°
GET /api/v0/files/cp
π
π
arg=
π
π
arg2=
π
π
flush=,f=
π
π
GET /api/v0/files/flush
π
π
arg=
π
π
GET /api/v0/files/ls
π
π
arg=
π
π
l=
π
π
flush=,f=
π
π
GET /api/v0/files/mkdir
π
π
arg=
π
π
parents=,p=
π
π
flush=,f=
π
π
GET /api/v0/files/mv
π
π
arg=
π
π
arg2=
π
π
flush=,f=
π
π
GET /api/v0/files/read
π
π
arg=
π
π
offset=,o=
π
π
count=,n=
π
π
flush=,f=
π
π
POST /api/v0/files/rm
π
π
arg=
π
π
recursive=,r=
π
π
flush=,f=
π
π
GET /api/v0/files/stat
π
π
arg=
π
π
flush=,f=
π
π
POST /api/v0/files/write
π
π
arg=
π
π
arg2=
π
π
offset=,o=
π
π
create=,e=
π
π
truncate=,t=
π
π
count=,n=
π
π
flush=,f=
π
π
POST /api/v0/get
π
π
arg=
π
π
archive=
π
π
compress=
π
π
compression-level=-1
π
π
compression-level=0
π
π
compression-level=1
π
π
compression-level=2
π
π
compression-level=3
π
π
compression-level=4
π
π
compression-level=5
π
π
compression-level=6
π
π
compression-level=7
π
π
compression-level=8
π
π
compression-level=9
π
π
See interface-ipfs-core .
Note: Implementation in js-ipfs is not planned for now.
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs key gen
π
π°
name
π
π°
type=
π
π°
size=
π
π°
ipfs key list
π
π°
l=
π
π°
ipfs key rename
π
π°
name
π
π°
newName
π
π°
force=
π
π°
ipfs key rm
π
π°
name
π
π°
l=
π
π°
Endpoint
Go Impl
JS Impl
GET /api/v0/key/gen
π
π°
arg=
π
π°
type=
π
π°
size=
π
π°
GET /api/v0/key/list
π
π°
l=
π
π°
GET /api/v0/key/rename
π
π°
arg=
π
π°
arg=
π
π°
force=
π
π°
GET /api/v0/key/rm
π
π°
arg=
π
π°
l=
π
π°
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs ping
π
π
peer ID
π
π
count
π
π
ipfs update
π°
π°
ipfs version
π
π
ipfs commands
π
π
ipfs id
π
π
peerid
π
π
aver
π
π
pver
π
π
pubkey
π
π
addrs
π
π
ipfs mount
π
π°
ipfs-path=
π
π°
ipns-path=
π
π°
ipfs mount
π
π°
Endpoint
Go Impl
JS Impl
GET /api/v0/ping
π
π
arg=
π
π
count=
π
π
GET /api/v0/update
π°
π°
GET /api/v0/version
π
π
GET /api/v0/commands
π
π
POST /api/v0/id
π
π
arg=
π
π
GET /api/v0/mount
π
π°
ipfs-path=
π
π°
ipns-path=
π
π°
GET /api/v0/mount
π
π°
See interface-ipfs-core .
Note: Implementation in js-ipfs is blocked until DHT is finished.
Command
Go Impl
JS Impl
ipfs name publish
π
π
ipfs-path
π
π
resolve=
π
π
lifetime=
π
π
ttl=
π
π
key=
π
π
ipfs name resolve
π
π
name
π
π
recursive=
π
π
nocache=
π
π
ipfs resolve
π
π
name
π
π
recursive=
π
π
ipfs dns
π
π
domain
π
π
recursive=
π
π
Endpoint
Go Impl
JS Impl
POST /api/v0/name/publish
π
π
arg=
π
π
resolve=
π
π
lifetime=
π
π
ttl=
π
π
key=
π
π
GET /api/v0/name/resolve
π
π
arg=
π
π
recursive=
π
π
nocache=
π
π
GET /api/v0/resolve
π
π
arg=
π
π
recursive=
π
π
GET /api/v0/dns
π
π
arg=
π
π
recursive=
π
π
See interface-ipfs-core .
Endpoint
Go Impl
JS Impl
ipfs object data
π
π
key
π
π
ipfs object diff
π
π
key1
π
π
key2
π
π
ipfs object/get
π
π
key
π
π
encoding
π
π
GET /api/v0/object/links
π
π
key
π
π
GET /api/v0/object/new
π
π
template
π
π
GET /api/v0/object/patch/append-data
π
π
root
π
π
data
π
π
POST /api/v0/object/patch/add-link
π
π
root
π
π
name
π
π
ref
π
π
create
π
π
POST /api/v0/object/patch/rm-link
π
π
root
π
π
link
π
π
POST /api/v0/object/patch/set-data
π
π
root
π
π
data
π
π
GET /api/v0/object/put
π
π
data
π
π
inputenc
π
π
datafieldenc
π
π
pin
π
π
GET /api/v0/object/stat
π
π
root
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/object/data
π
π
arg=
π
π
GET /api/v0/object/diff
π
π
arg1=
π
π
arg2=
π
π
POST /api/v0/object/get
π
π
arg=
π
π
encoding=json,enc=json
π
π
encoding=protobuf,enc=protobuf
π
π
encoding=xml,enc=xml
π
π
GET /api/v0/object/links
π
π
arg=
π
π
GET /api/v0/object/new
π
π
arg=unixfs-dir
π
π
GET /api/v0/object/patch/append-data
π
π
arg1=
π
π
arg2=
π
π
POST /api/v0/object/patch/add-link
π
π
arg1=
π
π
arg2=
π
π
arg3=
π
π
create=
π
π
POST /api/v0/object/patch/rm-link
π
π
arg1=
π
π
arg2=
π
π
POST /api/v0/object/patch/set-data
π
π
arg1=
π
π
arg2=
π
π
GET /api/v0/object/put
π
π
arg=
π
π
inputenc
π
π
GET /api/v0/object/stat
π
π
arg=
π
π
See interface-ipfs-core .
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.
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs pin add
π
π
hash
π
π
recursive
π
π
progress
π
π
ipfs pin ls
π
π
type
π
π
quiet
π
π
ipfs pin rm
π
π
hash
π
π
recursive
π
π
ipfs pin update
π
π
hash
π
π
unpin
π
π
ipfs pin verify
π
π
verbose
π
π
ipfs refs
π
π
hash
π
π
format
π
π
edges
π
π
unique
π
π
recursive
π
π
ipfs refs local
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/pin/add
π
π
arg=
π
π
recursive=
π
π
POST /api/v0/pin/ls
π
π
type=
π
π
quiet=
π
π
GET /api/v0/pin/rm
π
π
arg=
π
π
recursive=
π
π
GET /api/v0/pin/update
π
π
arg=
π
π
unpin=
π
π
GET /api/v0/pin/verify
π
π
verbose=
π
π
GET /api/v0/refs
π
π
arg=
π
π
format=
π
π
edges=
π
π
unique=
π
π
recursive=
π
π
GET /api/v0//refs/local
π
π
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs pubsub ls
π
π
ipfs pubsub peers
π
π
topic
π
π
ipfs pubsub pub
π
π
topic
π
π
data
π
π
ipfs pubsub sub
π
π
topic
π
π
discover
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/pubsub/ls
π
π
GET /api/v0/pubsub/peers
π
π
arg=
π
π
GET /api/v0/pubsub/pub
π
π
arg=
π
π
arg=
π
π
GET /api/v0/pubsub/sub
π
π
arg=
π
π
discover=
π
π
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs repo fsck
π
π°
ipfs repo gc
π
π
ipfs repo stat
π
π
ipfs repo verify
π
π°
ipfs repo version
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/repo/fsck
π
π°
GET /api/v0/repo/gc
π
π
GET /api/v0/repo/stat
π
π
GET /api/v0/repo/verify
π
π°
GET /api/v0/repo/version
π
π
See interface-ipfs-core .
Command
Go Impl
JS Impl
ipfs swarm addrs
π
π
ipfs swarm addrs listen
π
π
ipfs swarm addrs local
π
π
id=
π
π
ipfs swarm connect
π
π
arg=
π
π
ipfs swarm disconnect
π
π
arg=
π
π
ipfs swarm filters
π
π
ipfs swarm filters add
π
π
arg=
π
π
ipfs swarm filters rm
π
π
arg=
π
π
ipfs swarm peers
π
π
verbose=
π
π
latency=
π
π
streams=
π
π
Endpoint
Go Impl
JS Impl
GET /api/v0/swarm/addrs
π
π
GET /api/v0/swarm/addrs/listen
π
π
GET /api/v0/swarm/addrs/local
π
π
id=
π
π
GET /api/v0/swarm/connect
π
π
arg=
π
π
GET /api/v0/swarm/disconnect
π
π
arg=
π
π
GET /api/v0/swarm/filters
π
π
GET /api/v0/swarm/filters/add
π
π
arg=
π
π
GET /api/v0/swarm/filters/rm
π
π
arg=
π
π
GET /api/v0/swarm/peers
π
π
verbose=
π
π
latency=
π
π
streams=
π
π
See interface-ipfs-core .