#cbor #serialization #binary-format #binary #format

无std dcbor

为Rust的确定性CBOR ("dCBOR")

35个版本 (14个破坏性更新)

新版本 0.15.2 2024年8月20日
0.15.1 2024年7月18日
0.14.1 2024年5月19日
0.13.1 2024年3月31日
0.6.0 2023年3月21日

#884 in 编码

Download history 166/week @ 2024-05-03 25/week @ 2024-05-10 214/week @ 2024-05-17 47/week @ 2024-05-24 27/week @ 2024-05-31 29/week @ 2024-06-07 34/week @ 2024-06-14 17/week @ 2024-06-21 184/week @ 2024-06-28 124/week @ 2024-07-05 98/week @ 2024-07-12 68/week @ 2024-07-19 30/week @ 2024-07-26 10/week @ 2024-08-02 16/week @ 2024-08-09 154/week @ 2024-08-16

每月216次下载
用于 9 crates

BSD-2-Clause-Patent

140KB
3K SLoC

Blockchain Commons Deterministic CBOR ("dCBOR") for Rust

由 Wolf McNally


dcbor 是一个专注于编写和解析“确定性”CBOR的 CBOR 编解码器,按照 RFC-8949 §4.2。它不支持确定性CBOR禁止的部分(例如不定长数组和映射)。它在写入和读取方面都非常严格:特别是如果变长整数不是以最小形式编码,或者CBOR映射键不是按字典顺序排列,或者解码CBOR项之后有额外数据,它将返回解码错误。

入门

[dependencies]
dcbor = "0.15.2"

规范

目前指导和创建此实现的规范和实践的当前规范可以在以下IETF互联网草案中找到: draft-mcnally-deterministic-cbor

状态 - 社区评审

dcbor 目前处于社区评审阶段。我们非常欢迎您考虑和使用这些库。当然,如果您发现任何错误或问题,请让我们知道。但也要让我们知道API是否满足您的需求,功能是否易于使用,Rust的使用是否得到了适当的标准化,以及这个库是否解决了您在编写此类代码时遇到的问题。还要让我们知道如何改进以及您还需要什么才能使其完全符合您的使用。评论可以发布到 Gordian 开发者社区

由于此库仍处于社区评审阶段,因此在使用之前应进行进一步的测试和审计,不应将其用于生产任务。

请参阅Blockchain Commons的发展阶段

财务支持

dcborBlockchain Commons的项目。我们自豪地是一家“非营利性”社会公益公司,致力于开源和开放发展。我们的工作完全由捐赠和与您这样的人的协作伙伴关系资助。每一笔捐赠都将用于构建开放的工具、技术和方法,以维护和推进区块链和互联网安全基础设施,并促进开放网络。

为了资助dcbor和其他项目的进一步发展,请考虑通过GitHub Sponsor的持续月度赞助成为Blockchain Commons的赞助者。您也可以通过我们的BTCPay Server使用比特币支持Blockchain Commons。

贡献

我们鼓励通过问题和拉取请求进行公开贡献!请查阅CONTRIBUTING.md以获取有关我们开发过程的详细信息。本存储库的所有贡献都需要签署贡献者许可协议

讨论

讨论Blockchain Commons及其项目的最佳场所是我们的GitHub讨论区。

Gordian开发者社区。对于希望讨论互操作钱包规范的标准和开源开发者,请使用Gordian开发者社区存储库的讨论区。这里是您讨论Gordian规范(如Gordian Envelopebc-shamirSharded Secret Key Reconstructionbc-ur)以及更大的Gordian架构、其独立、隐私、弹性和开放的原则,以及其宏架构思想(包括断网,这个社区的原始名称)的地方。

Gordian用户社区。对于Gordian参考应用的用户,包括Gordian CoordinatorGordian Seed ToolGordian ServerGordian WalletSpotBit以及我们的整个CLI应用系列。这是一个讨论错误报告和功能请求以及探索我们的参考应用如何体现Gordian原则的地方。

区块链社区论坛。对于区块链社区的开发者、实习生和赞助商,请使用社区仓库的讨论区域来讨论一般性的区块链社区问题、实习生项目或非Gordian 开发者社区Gordian 用户社区涵盖的话题。

其他问题 & 故障

作为一个开源、开放开发的社区,区块链社区没有资源直接支持我们的项目。请将讨论区视为可能获得答案的地方。另外,请使用本仓库的问题功能。不幸的是,我们无法保证响应时间。

如果您的公司需要支持使用我们的项目,请直接联系我们了解选项。我们可能能为您提供我们贡献者之一的支持合同,或者我们可能能指给您另一个可以提供您所需合同支持的组织。

致谢

以下人员直接参与了此仓库。您可以通过参与来在此处添加您的名字。第一步是学习如何从我们的CONTRIBUTING.md文档中了解如何贡献。

姓名 角色 Github Email GPG 指纹
Christopher Allen 主要架构师 @ChristopherA <[email protected]> FDFE 14A5 4ECB 30FC 5D22 74EF F8D3 6C91 3574 05ED
Wolf McNally 首席研究员/工程师 @WolfMcNally <[email protected]> 9436 52EE 3844 1760 C3DC  3536 4B6C 2FCF 8947 80AE

负责任披露

我们希望确保我们的所有软件对每个人都安全。如果您发现了安全漏洞,我们感谢您以负责任的方式向我们披露。遗憾的是,我们目前无法提供漏洞赏金。

我们要求您诚实地与我们合作,并尽最大努力不要泄露信息或损害任何用户、他们的数据或我们的开发者社区。在您发布之前,请给我们合理的时间来修复问题。在发现过程中,不要欺骗我们的用户或我们。我们承诺,只要研究人员尽最大努力遵循这些指南,就不会对指出问题的人采取法律行动。

报告漏洞

请通过电子邮件以私密方式报告疑似安全漏洞至[email protected](不要为此邮箱提供支持)。请勿为疑似安全漏洞创建公开可查看的问题。

以下密钥可用于向开发者传达敏感信息

姓名 指纹
Christopher Allen FDFE 14A5 4ECB 30FC 5D22 74EF F8D3 6C91 3574 05ED

您可以通过运行以下命令导入密钥: gpg --recv-keys "<fingerprint>" 确保在包含空格的指纹周围加上引号。

依赖关系

~2–2.8MB
~73K SLoC