Core library for the Mosaic protocol
  • Rust 99.8%
  • Shell 0.2%
Find a file
2025-09-11 07:56:21 +12:00
.github/workflows Github workflow: Create rust.yml 2025-04-05 00:30:06 +01:00
examples Update rand crates and simplify: 2025-08-17 11:53:13 +12:00
src Improve hashing and signature code 2025-09-11 07:56:21 +12:00
.gitignore gitignore IDE directory 2025-09-07 13:54:19 +12:00
Cargo.lock Partial work towards 0.9.0 [blob, result codes, messages, but NOT keyschedule yet] 2025-09-09 07:50:07 +12:00
Cargo.toml Partial work towards 0.9.0 [blob, result codes, messages, but NOT keyschedule yet] 2025-09-09 07:50:07 +12:00
LICENSE.txt copyright update 2025-08-30 11:33:18 +12:00
makedocs.sh Document re-exported dependencies 2025-08-17 08:49:15 +12:00
README.md 0.4.3 - Update README 2025-08-27 11:58:37 +12:00

Mosaic Core

This library is a reference implementation for the Mosaic protocol.

About versions

Until version 1.0.0, the version of this software will match the version of the Mosaic spec that it implements, except for the patch level.

The patch level will increment on every commit regardless of the kind of change. But it will reset to 0 when the minor version increments along with the spec version.

After version 1.0.0 Semantic Versioning rules will be in force. (Strictly speaking they already are because semver specifies "4. Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable."

Features

  • serde: enables serde support for data types. Note that they serialize into human readable formats, not binary compact formats. Serde doesn't give us any way to specify what we really want here when implementing Serialize and Deserialize, and we can't do it both ways. Since most data structures are implemented as sequences of bytes, they are sort-of already serialized compactly as bytes.
  • json: enables functions to convert data types to and from JSON format. Also enables serde.