Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.

Create 2017-08-31--ipld-deep-dives.md #497

Merged
merged 2 commits into from
Oct 9, 2017
Merged

Conversation

jonchoi
Copy link
Contributor

@jonchoi jonchoi commented Aug 31, 2017

@diasdavid, @Stebalien, @Kubuxu please add to it :)

Copy link
Member

@Stebalien Stebalien left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

* would like to add a method for unmarshal into a struct
* dag nodes
* don't have consistent format?
* this need stems from go being statically typed
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is, dagNode in js-ipld don't have consistent types/interfaces. This doesn't work well (it can work, it just sucks) in statically typed languages so this interface isn't portable across languages.

* not convinced this is the best way forward (@diasdavid accurate?)
* javascript does not have interfaces, which is why we have separate interface tests
* that said, having consistent naming convention helps
* go, block level doesn't understand ipld, node level does, but ... (@stebalien to fill out)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In go, we have two levels, soon to be 3:

  1. Blocks: Raw data, carry CIDs, don't understand IPLD.
  2. Nodes: Serialized but traversable data, carry CIDs, understand IPLD.
  3. Objects (abstract nodes?): Not serialized, traversable data, don't carry CIDs with them, understand IPLD. (PROPOSED)

Basically, when working with IPLD, one will be able to "unmarshal"/"deserialize" Nodes into abstract Objects for editing and then serialize them back into nodes to commit them.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Stebalien please update the notes directly, remember that Jon is still picking up in a lot of these terms and it would be hard for him to write exactly what we would like to have in the notes with the links to what we know. He already did a great job of capturing the whole thread of the convo, now we can just tune it up for every follower and for ourselves :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah. Sorry, I forgot I could do that.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.

@daviddias daviddias merged commit ea7334a into ipfs:master Oct 9, 2017
dgrisham pushed a commit to dgrisham/pm that referenced this pull request Jan 29, 2018
* Create 2017-08-31--ipld-deep-dives.md

* 2017-08-31 IPLD Deep Dive: Fill out my (stebalien) parts.
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.

4 participants