-
Notifications
You must be signed in to change notification settings - Fork 40
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
Make DAG-PB spec compliant #139
Comments
There is a JS implementation and a Go implementation that are both spec compliant which encode and decode the the Protocol Buffers manually. This would be the preferred way to fix this issue. Both can serve as a template for anyone wanting to tackle this issue. |
What's the actual failure? I suspect that protobuf field ordering is the problem, which is just bad design in the original spec and on the decoding side it shouldn't matter, and on encoding it only matters if you need exact hash matching |
This is what a spec compliant codec should support. I haven't looked into the details, I only know that the test fixtures don't pass. |
Then heads up, iroh will not be spec compliant. For the reason above about the spec wanting non standard protobuf encoding. |
No. The spec is just describing what the original Go implementation for DAG-PB was doing. It was using the usual Protocol Buffers implementation, so I'd call it standard protobuf encoding. |
The DAG-PB codec is now spec compliant. The fixtures at /~https://github.com/ipld/codec-fixtures pass. Closes #168,#139
This has long been resolved by #170! |
The DAG-PB codec isn't spec compliant yet. We have test fixtures at /~https://github.com/ipld/codec-fixtures which can be used to get there
(a Rust runner is in the works at ipld/codec-fixtures#25)(there is already a Rust test runner there that skips the DAG-PB tests at the moment).The text was updated successfully, but these errors were encountered: