Upstream issue: https://github.com/ipfs/ipfs/issues/337
Below table is tracking work related to move to CIDv1.
- π = Not started
- π = In progress
- π = Complete
Scope | PR/Issue | Status | Owner | P |
---|---|---|---|---|
RFC | ||||
Handling of Alternative Multibases | ipfs/kubo#5349 | π | @kevina | |
How to handle CIDv0 as we migrate to CIDV1 | ipfs/kubo#5291 | π | ? | |
Do not return string CIDs from core | ipfs-inactive/interface-js-ipfs-core#394 | π | @alanshaw | |
Handling of CidV1/V0 at the bitswap level | ipfs/kubo#5378 | π | ? | |
Updates to the blockstore interface | https://github.com/ipfs/go-ipfs-blockstore/issues/8 | π | ? | |
Config option for specifying full default cidv1 parameters (AKA Reproducible CIDs) | ipfs/kubo#5230 | π | ? | |
RFC 0001: Text Peer Ids as CIDs | libp2p/specs#209 | π | @lidel | |
Tracking issue for peer IDs as cidv1b32 in libp2p | libp2p/specs#216 | π | ? | |
GO | ||||
META for go-ipfs | ipfs/kubo#5358 | π | ? | |
Allow add to IPFS and get base32 CIDv1 back via an option to specify base encoding (defaults do not change) | ||||
Provide new "cid" sub-command | ipfs/kubo#5385 | π | @kevina | P0 |
Add global option to specify the multibase encoding (server side) | ipfs/kubo#5789 | π | @kevina | P0 |
Retrieve blocks even if given using a different CID version (compatibility) | ||||
Add ability to retrieve blocks even if given using a different CID version | ipfs/kubo#5285 | π | @kevina | P0 |
Switch CIDv1 to Base32 | ||||
Switch CIDv1 from Base58 to Base32 (go-ipfs) | ipfs/kubo#6220 | π | @Stebalien | P0 |
default cidv1 to base32 | ipfs/go-cid#85 | π | @Stebalien | P1 |
Origin isolation for HTTP websites | ||||
Act as HTTP PROXY for http://<cidv1b32>.ipfs.localhost |
ipfs/kubo#5982 | π | ? | P1 |
Subdomain Gateway | ipfs/kubo#6498 | π | @Stebalien | |
Feat/gateway subdomains | ipfs/kubo#6096 | π | @Stebalien | |
IPNS/PeerID | ||||
IPNS: should work with case-insensitive identifiers (Base32) | ipfs/kubo#5287 | π | @lidel | P0 |
multicodec: add IPLD codec for libp2p public keys | multiformats/multicodec#131 | π | @Stebalien | |
Add support for libp2p-key multicodec to go-cid | ipfs/go-cid#86 | π | @lidel | |
feat: support encoding/decoding peer IDs as CIDs in text | libp2p/go-libp2p-core#41 | π | @Stebalien | |
Refactor blockstore + DHT to work with bare multihashes instead of CIDs | ||||
META | ||||
Refactor blockstore to work with bare multihashes instead of CIDs | ipfs/kubo#5231 | π | ? | |
RFC: Handling of CidV1/V0 at the bitswap level | ipfs/kubo#5378 | π | ? | |
RFC: Handling of CidV1/V0 at the bitswap level | ipfs/kubo#5378 | π | ? | |
WIP: Use new blockstore that stores Multihashes and not CIDs | ipfs/kubo#5510 | π | ? | |
RFC: Change Blockstore to work with Multihashes instead of CIDs. | ipfs/go-ipfs-blockstore#13 | π | ? | |
WIP: Modify blockservice to work with Multihashes instead of CIDs. | ipfs/go-blockservice#8 | π | ? | |
WIP: Modify dag service to work with new multihash based blockservice. | ipfs/go-merkledag#17 | π | ? | |
WIP: Datastore keys are now based on Multihash not Cid. | ipfs/go-ipfs-ds-help#4 | π | ? | |
WIP: Change ContentRouting interface to work with Multihash's not CIDs. | libp2p/go-libp2p-routing#33 | π | ? | |
WIP: Changes to reflect the fact that Provide/FindProviders use multihashes | libp2p/go-libp2p-kad-dht#203 | π | ? | |
WIP: Changes to reflect the fact that Provide/FindProviders use multihashes | libp2p/go-libp2p-pubsub-router#14 | π | ? | |
WIP: Changes to reflect the fact that Provide/FindProviders now use multhases. | libp2p/go-libp2p-routing-helpers#13 | π | ? | |
WIP: Changes to reflect the fact that Provide/FindProviders use multhases. | ipfs/go-bitswap#18 | π | ? | |
WIP: Changes to reflect the fact that Provide/FindProviders use multihashes. | ipfs/go-ipfs-routing#15 | π | ? | |
Make CIDv1 the default | ||||
JS | ||||
META for js-ipfs: Make js-ipfs capable of working with cidv1b32 | ipfs/js-ipfs#1440 | π | @alanshaw | P0 |
Allow add to IPFS and get base32 CIDv1 back via an option to specify base encoding (defaults do not change) | ||||
feat: adds --cid-base argument to stringify cids in different bases | ipfs-inactive/js-ipfs-mfs#4 | π | @achingbrain | P0 |
feat: add cid command | ipfs/js-ipfs#1560 | π | @alanshaw | P0 |
feat: cid base option | ipfs/js-ipfs#1552 | π | @alanshaw | P0 |
Retrieve blocks even if given using a different CID version (compatibility) | ||||
feat: cid agnostic blockstore .get and .has | ipfs/js-ipfs-repo#184 | π | @alanshaw | P0 |
Switch to using multihashes for DHT queries | libp2p/js-libp2p-kad-dht#163 | π | @achingbrain | P2 |
Switch CIDv1 to Base32 | ||||
Switch CIDv1 from Base58 to Base32 (js-ipfs) | ipfs/js-ipfs#1995 | π | @alanshaw | P0 |
chore: update cids and ipld | ipfs/js-ipfs#2050 | π | @alanshaw | P0 |
refactor: default to base32 encoding for v1 CIDs | multiformats/js-cid#89 | π | @alanshaw | P0 |
Origin isolation for HTTP websites | ||||
Subdomain Gateway: support Host header |
ipfs/js-ipfs#2248 | π | ? | P0 |
Act as HTTP PROXY for http://<cidv1b32>.ipfs.localhost |
ipfs/js-ipfs#1877 | π | ? | P2 |
feat: act as HTTP PROXY | ipfs/js-ipfs#2246 | π | @alanshaw | |
IPNS/PeerID | ||||
feat: add libp2p-key and garlic32 to js-multicodec | multiformats/js-multicodec#45 | π | @lidel | P0 |
Make CIDv1 the default | ||||
multiformats/js-cid#73 | π | @alanshaw | ||
ipld/js-ipld#193 | π | @alanshaw | ||
ipld/js-ipld-bitcoin#43 | π | @alanshaw | ||
ipld/js-ipld-dag-pb#115 | π | @alanshaw | ||
ipld/js-ipld-dag-cbor#96 | π | @alanshaw | ||
ipld/js-ipld-ethereum#47 | π | @alanshaw | ||
ipld/js-ipld-git#42 | π | @alanshaw | ||
ipld/js-ipld-raw#28 | π | @alanshaw | ||
ipld/js-ipld-zcash#35 | π | @alanshaw | ||
ipfs-inactive/js-ipfs-unixfs-importer#21 | π | @alanshaw | ||
ipfs-inactive/js-ipfs-unixfs-engine#235 | π | @alanshaw | ||
ipfs-inactive/js-ipfs-mfs#38 | π | @alanshaw | ||
ipfs/js-ipfs#1868 | π | @alanshaw | ||
multiformats/js-cid-tool#7 | π | @alanshaw | ||
ipfs/js-ipfs-bitswap#188 | π | @alanshaw | ||
ipfs/js-ipfs-bitswap#188 | π | @alanshaw | ||
ipld/js-ipld-block#44 | π | @alanshaw | ||
ipfs/js-ipfs-http-response#17 | π | @alanshaw | ||
ipfs/js-ipfs-repo#192 | π | @alanshaw | ||
ipfs-inactive/js-ipfs-http-client#949 | π | @alanshaw | ||
ipfs-shipyard/is-ipfs#29 | π | @alanshaw | ||
libp2p/js-libp2p-kad-dht#84 | π | @alanshaw | ||
INTEROP | ||||
Multicodec for libp2p keys | multiformats/multicodec#130 | π | @lidel | |
CIDv1 Base32 Interop Tests | ipfs/interop#58 | π | @lidel | |
META | ||||
docs: add cid-base and missing ls options for mfs operations | ipfs-inactive/interface-js-ipfs-core#334 | π | @achingbrain | |
test: cidBase option in resolve | ipfs-inactive/interface-js-ipfs-core#396 | π | @alanshaw | |
test: add CID version agnostic tests | ipfs-inactive/interface-js-ipfs-core#413 | π | @alanshaw | |
refactor: tests for CIDv1 base32 | ipfs-inactive/interface-js-ipfs-core#444 | π | @alanshaw | |
Tests specific to special handling on go-ipfs side / datastore/dht | π | ? | ||
ipfs-companion | ||||
META | ipfs/ipfs-companion#527 | π | @lidel | |
Detect CID in subdomains | ipfs/ipfs-companion#537 | π | @lidel | |
ipfs-cluster | ||||