Expand description
A library for working with BIP329 labels.
- The main data structure is the
Labels
struct, which is a list ofLabel
structs. - The
Label
enum containing all the different types of labels. - The
Labels
struct can be imported/exported to/from a JSONL file. - Supports encryption and decryption using the
encryption
module. - Supports the
uniffi
feature, for easy integration with other languages.
§Example Import:
use bip329::Labels;
let labels = Labels::try_from_file("tests/data/labels.jsonl").unwrap();
§Example Export:
use bip329::Labels;
// Create a Labels struct
let labels = Labels::try_from_file("tests/data/labels.jsonl").unwrap();
// Create a JSONL string
let jsonl = labels.export().unwrap();
§Example encryption:
use bip329::{Labels, encryption::EncryptedLabels};
let labels = Labels::try_from_file("tests/data/labels.jsonl").unwrap();
let encrypted = EncryptedLabels::encrypt(&labels, "passphrase").unwrap();
let encrypted = EncryptedLabels::read_from_file("tests/data/encrypted_labels.age").unwrap();
let decrypted = encrypted.decrypt("passphrase").unwrap();
assert_eq!(labels, decrypted);
Modules§
Structs§
- Address
Record - An address label.
- Extended
Public KeyRecord - An extended public key label.
- Input
Record - An input label.
- Labels
- A list of labels.
- Output
Record - An output label.
- Public
KeyRecord - A public key label.
- Transaction
Record - A transaction label.
Enums§
- Label
- The main data structure for BIP329 labels.
- Label
Ref - An enum representing all possible
Label::ref_