Crate bip329

Source
Expand description

A library for working with BIP329 labels.

  • The main data structure is the Labels struct, which is a list of Label 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§

error
Module for all error types used in this crate.
from

Structs§

AddressRecord
An address label.
ExtendedPublicKeyRecord
An extended public key label.
InputRecord
An input label.
Labels
A list of labels.
OutputRecord
An output label.
PublicKeyRecord
A public key label.
TransactionRecord
A transaction label.

Enums§

Label
The main data structure for BIP329 labels.
LabelRef
An enum representing all possible Label::ref_