dCBOR (Deterministic CBOR) Library from Blockchain Commons
As part of our work on Gordian Envelope, Blockchain Commons has embraced deterministic CBOR (dCBOR), which is the foundation of Envelope. dCBOR is an optional variant of CBOR that lies in §4.2 of the IETF RFC-8949 spec, but hasn’t been widely supported. As determinism is very important for the hashing that we use at the center of Gordian Envelope, we’ve created and released what we believe are the only reference libraries focused on dCBOR subset of CBOR as part of our support of interoperability standards with reference code. dCBOR is a set of libraries and tools that focuses on writing and parsing "deterministic" CBOR per §4.2 of RFC-8949. It does not support parts of the spec forbidden by deterministic CBOR (such as indefinite length arrays and maps). It is strict in both what it writes and reads: in particular, it will throw decoding errors if variable-length integers are not encoded in their minimal form, or CBOR map keys are not in lexicographic order, or there is extra data past the end of the decoded CBOR item. Also see: * Gordian Developer Meetings: https://github.com/BlockchainCommons/Gordian-Developer-Community/tree/master/meetings#readme * Meeting Presentation: https://github.com/BlockchainCommons/Gordian-Developer-Community/blob/master/meetings/2023/03-01/presentation-dcbor.pdf * Meeting Transcript: https://github.com/BlockchainCommons/Gordian-Developer-Community/blob/master/meetings/2023/03-01/transcript-dcbor.md See also "Why CBOR": * Article: https://www.blockchaincommons.com/introduction/Why-CBOR/ * Video: https://www.youtube.com/watch?v=uoD5_Vr6qzw dCBOR Source & Documentation: * dCBOR Library for Rust https://github.com/BlockchainCommons/bc-dcbor-rust * dCBOR Library for Swift https://github.com/BlockchainCommons/BCSwiftDCBOR * dCBOR-CLI Reference App https://github.com/BlockchainCommons/dcbor-cli This is an excerpt from our monthly meeting of the Gordian Developer Community on 2023-03-01 — for the full meeting, see https://www.youtube.com/watch?v=WekNVLdvNvM For other details about our Gordian Developer meetings, including audio archives, presentation pdfs, transcripts, etc, see https://github.com/BlockchainCommons/Gordian-Developer-Community/tree/master/meetings#readme Lead Speaker: Wolf McNally
Download
0 formatsNo download links available.