13 releases (4 stable)

2.0.0 Jul 27, 2023
2.0.0-rc.2 Jul 18, 2023
1.1.0 May 3, 2023
1.0.2 Nov 16, 2022
0.1.0 Jul 29, 2020

#925 in Magic Beans

Download history 1201/week @ 2023-12-12 1155/week @ 2023-12-19 342/week @ 2023-12-26 740/week @ 2024-01-02 1361/week @ 2024-01-09 1746/week @ 2024-01-16 1474/week @ 2024-01-23 1387/week @ 2024-01-30 1725/week @ 2024-02-06 2094/week @ 2024-02-13 2738/week @ 2024-02-20 1741/week @ 2024-02-27 2175/week @ 2024-03-05 1690/week @ 2024-03-12 1635/week @ 2024-03-19 1400/week @ 2024-03-26

7,440 downloads per month
Used in 9 crates (via iota_stronghold)

Apache-2.0

255KB
6K SLoC

Engine

Engine is the collection of low-level module with which application architects can build higher-level implementations of Strongholds for a variety of purposes. It is platform agnostic, in that it should run anywhere a Rust Compiler will work.

It is composed of 4 primary module:

  • snapshot
  • vault
  • store
  • runtime

Snapshot

The snapshot protocol follows a fairly simple transparent pattern. Each Snapshot file follows a simple structure:

Header
Magic Bytes
Version Bytes
Body
Ephemeral Key
xchacha20 tag
Cipher Text

lib.rs:

A system for securely managing secrets.

This top-level crate contains references to the others that make up the IOTA Stronghold's low-level crates known as "Stronghold-Engine".

Layout

This framework is divided into the following crates:

  • vault: logic and abstractions for the storage layer
  • snapshot: method for storing the state of the vault in a file
  • store: a simple unencrypted storage protocol

WARNING

This library has not yet been audited for security, so use at your own peril. Until a formal third-party security audit has taken place, the IOTA Foundation makes no guarantees to the fitness of this library for any purposes.

Dependencies

~21–51MB
~557K SLoC