dti 0.1.2

A library to handle digital token identifiers as defined in ISO 24165
Documentation
# DTI Rust library

[![Crates.io](https://img.shields.io/crates/v/dti.svg)](https://crates.io/crates/dti)
[![Documentation](https://docs.rs/dti/badge.svg)](https://docs.rs/dti/)

`dti` is a Rust library to handle digital token identifiers as defined in ISO 24165.

To learn more about DTI visit [Digital Token Identifier Foundation](https://dtif.org/).

## Example

```rust
fn main() {
    let data = dti::DTIData::new().unwrap();
    let r: &dti::Record = dti::by_dti(&data, "4H95J0R2X").unwrap();
    assert_eq!(
        r.normative
            .as_ref()
            .unwrap()
            .genesis_block_hash
            .clone()
            .unwrap_or_default(),
        "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"
    );
}
```

## Usage

Add `dti` to your `Cargo.toml`:

```sh
cargo add dti
```

## ToDos

- Implement auxiliary_mechanism as enum
- Implement genesis_block_hash_algorithm as enum
- Implement underlying_asset_external_identifier_type as enum
- Implement DTIExternalIdentifiers (this is currently not used in any token definition)
- Implement test for OrigLangLongName -> Currently there is no asset with a OrigLangLongName
- underlying_asset_external_identifiers -> Currently there is no asset with more than one UnderlyingAssetExternalIdentifier

## Authors

This crate is developed and maintained by [21 Analytics](https://21analytics.ch).

## License

This project is licensed under the GNU Affero General Public license.