Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.

chore: update to ipld-dag-cbor 0.13 #877

Merged
merged 1 commit into from
Oct 30, 2018
Merged

Conversation

vmx
Copy link
Contributor

@vmx vmx commented Oct 25, 2018

No further changes are needed as js-ipfs-api is getting the raw blocks
from IPFS and does the whole parsing client-sided in JavaScript.

BREAKING CHANGE: dag-cbor nodes now represent links as CID objects

The API for dag-cbor changed.
Links are no longer represented as JSON objects ({"/": "base-encoded-cid"},
but as CID objects. ipfs.dag.get() and
now always return links as CID objects. ipfs.dag.put() also expects links
to be represented as CID objects. The old-style JSON objects representation
is still supported, but deprecated.

Prior to this change:

const cid = new CID('QmXed8RihWcWFXRRmfSRG9yFjEbXNxu1bDwgCFAN8Dxcq5')
// Link as JSON object representation
const putCid = await ipfs.dag.put({link: {'/': cid.toBaseEncodedString()}})
const result = await ipfs.dag.get(putCid)
console.log(result.value)

Output:

{ link:
   { '/':
      <Buffer 12 20 8a…> } }

Now:

const cid = new CID('QmXed8RihWcWFXRRmfSRG9yFjEbXNxu1bDwgCFAN8Dxcq5')
// Link as CID object
const putCid = await ipfs.dag.put({link: cid})
const result = await ipfs.dag.get(putCid)
console.log(result.value)

Output:

{ link:
   CID {
     codec: 'dag-pb',
     version: 0,
     multihash:
      <Buffer 12 20 8a…> } }

See ipld/ipld#44 for more information on why this
change was made.

@vmx vmx requested a review from alanshaw October 25, 2018 14:27
@ghost ghost assigned vmx Oct 25, 2018
@ghost ghost added the in progress label Oct 25, 2018
No further changes are needed as js-ipfs-api is getting the raw blocks
from IPFS and does the whole parsing client-sided in JavaScript.

BREAKING CHANGE: dag-cbor nodes now represent links as CID objects

The API for [dag-cbor](https://github.com/ipld/js-ipld-dag-cbor) changed.
Links are no longer represented as JSON objects (`{"/": "base-encoded-cid"}`,
but as [CID objects](https://github.com/ipld/js-cid). `ipfs.dag.get()` and
now always return links as CID objects. `ipfs.dag.put()` also expects links
to be represented as CID objects. The old-style JSON objects representation
is still supported, but deprecated.

Prior to this change:

```js
const cid = new CID('QmXed8RihWcWFXRRmfSRG9yFjEbXNxu1bDwgCFAN8Dxcq5')
// Link as JSON object representation
const putCid = await ipfs.dag.put({link: {'/': cid.toBaseEncodedString()}})
const result = await ipfs.dag.get(putCid)
console.log(result.value)

```

Output:

```js
{ link:
   { '/':
      <Buffer 12 20 8a…> } }
```

Now:

```js
const cid = new CID('QmXed8RihWcWFXRRmfSRG9yFjEbXNxu1bDwgCFAN8Dxcq5')
// Link as CID object
const putCid = await ipfs.dag.put({link: cid})
const result = await ipfs.dag.get(putCid)
console.log(result.value)
```

Output:

```js
{ link:
   CID {
     codec: 'dag-pb',
     version: 0,
     multihash:
      <Buffer 12 20 8a…> } }
```

See ipld/ipld#44 for more information on why this
change was made.
@alanshaw
Copy link
Contributor

Waiting on CI for merge

@daviddias
Copy link
Contributor

only single (schrondinger) test failing is not related to this PR

image

Good to merge and release

@daviddias daviddias merged commit 0652ac0 into master Oct 30, 2018
@daviddias daviddias deleted the update-dag-cbor-0.13 branch October 30, 2018 11:57
@ghost ghost removed the in progress label Oct 30, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants