Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPLD Prime In IPFS: Target Merge Branch #7976

Merged
merged 85 commits into from
Aug 17, 2021
Merged

IPLD Prime In IPFS: Target Merge Branch #7976

merged 85 commits into from
Aug 17, 2021

Conversation

hannahhoward
Copy link
Contributor

@hannahhoward hannahhoward commented Mar 12, 2021

This feature branch updates a number of dependencies to directly make use of go-ipld-prime under the hood. The major exception is the unixfs subsystem, which remains the same via the go-ipld-legacy shim.

Before this branch is feature complete, a known / remaining sub-conversation that is ongoing is "How should we directly expose the newer ipld-prime node interface to programs making use of IPFS?". This conversation is occurring in #8046 which will merge into this branch when ready.

hannahhoward and others added 8 commits March 25, 2021 17:34
License: MIT
Signed-off-by: hannahhoward <[email protected]>
This should fix a sharness test failure which we fixed by changing
PBNode decoding to allow any field order.
License: MIT
Signed-off-by: hannahhoward <[email protected]>
License: MIT
Signed-off-by: hannahhoward <[email protected]>
License: MIT
Signed-off-by: hannahhoward <[email protected]>
License: MIT
Signed-off-by: hannahhoward <[email protected]>
Add fetcher config top level dependency
implement a node interface that provides direct access to go-ipld-prime tools

License: MIT
Signed-off-by: hannahhoward <[email protected]>
License: MIT
Signed-off-by: hannahhoward <[email protected]>
Update to latest fetcher/dag-writer and fix node api

License: MIT
Signed-off-by: hannahhoward <[email protected]>
@BigLep
Copy link
Contributor

BigLep commented Aug 17, 2021

2021-08-17 update on outstanding items:

@aschmahmann: create issues for the following to fix during the release phase:

  1. Missing test for hang when doing dag get: 9339e82
  2. Bugs related to codecs that return EOF on encode/decode (EOF error are ignored by CLI so we would need to either fix that or wrap the errors)
    • echo "test" | ipfs dag put --input-enc=git-raw doesn't error or return a CID
    • echo "" | ipfs dag put --input-enc=dag-json --format=dag-json
  3. Bug where can only get raw bytes using the git codec but not round trip it. It should not do the first or also do the second.
❯ echo '{"foo" : 5}' | ipfs dag put --input-enc=raw
bafyreigg3nfoc7bnomgpdmziymlhhy3tgsistf2s36js2nwsfrumtjirba
🏠/workspace
❯ ipfs dag get --format=git-raw bafyreigg3nfoc7bnomgpdmziymlhhy3tgsistf2s36js2nwsfrumtjirba
{"foo" : 5}
🏠/workspace took 5s
❯ echo '{"foo" : 5}' | ipfs dag put --input-enc=git-raw
Error: unrecognized object type: {"foo"

Copy link
Contributor

@aschmahmann aschmahmann left a comment

Choose a reason for hiding this comment

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

Merging as this seems good enough for go-ipfs v0.10.0-rc1. There are a few outstanding issues linked above that we'll need to deal with before the final release.

Thanks everyone who helped push this over the finish line 🙇‍♂️, this was a huge and much needed endeavor to start upgrading our IPLD library usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

9 participants