identity_account 0.6.3

High-level interface for managing IOTA DID Documents.
Documentation
# IOTA Identity - Account

The [`Account`](crate::account::Account) is an interface for creating and managing identities on the IOTA Tangle, handling publishing and secure storage automatically. It provides convenience functions for:

- Creating and publishing a new IOTA DID.
- Updating DID Document contents:
  - Verification Methods.
  - Verification Relationships.
  - Services.
- Managing private cryptographic keys securely.
- Signing credentials.
- Encrypting messages.

## Account Creation

Creating an [`Account`](crate::account::Account) is done through the [`AccountBuilder`](crate::account::AccountBuilder).

```rust,ignore
let account: Account = Account::builder()
  .create_identity(IdentitySetup::default())
  .await?;
```


## Update Operations

Updating a DID Document can be performed through the [`update_identity`](crate::account::Account::update_identity) function on the [`Account`](crate::account::Account). For example, adding a new verification method to the DID Document:

```rust,ignore
account
  .update_identity()
  .create_method()
  .content(MethodContent::GenerateEd25519)
  .fragment("my-next-key")
  .apply()
  .await?;
```

The above code generates a new Ed25519 keypair, writes it to [`Storage`](identity_account_storage::storage::Storage), embeds it in a new verification method, and publishes the updated DID Document to the Tangle. 

See the [`IdentityUpdater`](crate::types::IdentityUpdater) for a list of provided update operations.