25个版本

0.8.0 2024年3月19日
0.7.5 2023年2月28日
0.7.3 2022年1月24日
0.7.2 2021年7月29日
0.0.4 2019年7月30日

#836解析器实现


用于 2 crates

MIT 许可证

220KB
6K SLoC

Molecule

License GitHub Actions

另一个序列化系统:最小化和规范。

文档

功能

  • default — 默认功能: std,利用 faster-hex 进行十六进制操作并启用 bytes 标准功能。
  • std(默认启用) — 默认功能: std,利用 faster-hex 进行十六进制操作并启用 bytes 标准功能。
  • bytes_vec - 自0.8版引入,0.8版的分子默认使用 bytes,这对在CKB运行时使用有影响。 bytes_vec 功能为用户提供了一种兼容选项,以保持与先前版本的兼容性。

在CKB脚本中使用

在CKB脚本中使用时,需要指定 no-std。

molecule = { version = "0.7", default-features = false }

特别是,对于0.8版以后的版本,您还需要指定 bytes_vec 功能。

molecule = { version = "0.8.0", default-features = false, features = ["bytes_vec"] }

工具

模式编译器和代码生成器

安装

官方模式编译器和代码生成器是用 Rust 编写的,因此您可以通过 Cargo 安装它

cargo install moleculec --locked

注意:官方代码生成器仅支持两种语言: RustC

用法

  • 您可以使用以下命令生成代码

    moleculec --language <language> --schema-file <schema-file>
    
  • 更多详细信息可以通过以下命令找到

    moleculec --help
    

其他语言

Molecule的参考实现是Rust和C。

其他语言的实现由各自的作者维护。

编辑器插件

基准测试

支持的Rust版本

最低支持版本为1.56.1。当前Molecule版本不一定能在低于最低支持版本的Rust版本上构建。

许可证

本软件受MIT 许可证许可。

依赖项

~3–12MB
~131K SLoC