Skip to content

Another serialization system: minimalist and canonicalization.

License

Notifications You must be signed in to change notification settings

nervosnetwork/molecule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Molecule

License GitHub Actions

Another serialization system: minimalist and canonicalization.

Documents

Features

  • default — Default features: std, utilizes faster-hex for hexadecimal operations and enables bytes standard features.
  • std (enabled by default) — Default features: std, utilizes faster-hex for hexadecimal operations and enables bytes standard features.
  • bytes_vec - Introduced in version 0.8, the 0.8 molecule defaults to bytes, which has implications for use in the CKB runtime. The bytes_vec feature provides users with a compatibility option to maintain consistency with previous versions.

Use in CKB scripts

When used in CKB scripts, no-std needs to be specified.

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

Particularly, for versions later than 0.8, you need to additionally specify the bytes_vec feature.

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

Tools

Schema Compiler and Code Generator

Install

The official schema compiler and code generator are written in Rust, so you can install it via Cargo:

cargo install moleculec --locked

Note: the official code generator is only support two languages: Rust and C.

Usage

  • You can use the follow command to generate the code:

    moleculec --language <language> --schema-file <schema-file>
  • More details can be found by the follow command:

    moleculec --help

Other Languages

Molecule's reference implementation is in Rust and C.

Implementations in other languages are maintained by respective authors.

Plugins for Editors

Benchmark

Supported Rust Versions

The minimum supported version is 1.75.0. The current Molecule version is not guaranteed to build on Rust versions earlier than the minimum supported version.

License

Licensed under MIT License.

About

Another serialization system: minimalist and canonicalization.

Resources

License

Stars

Watchers

Forks

Packages

No packages published