4 releases

0.6.2 Mar 9, 2023
0.6.1 Jun 30, 2022
0.6.0 Jun 15, 2022
0.1.0 Aug 8, 2020

#966 in Magic Beans

Download history 9/week @ 2022-12-02 16/week @ 2022-12-09 7/week @ 2022-12-16 11/week @ 2022-12-23 3/week @ 2022-12-30 14/week @ 2023-01-06 40/week @ 2023-01-13 64/week @ 2023-01-20 52/week @ 2023-01-27 41/week @ 2023-02-03 11/week @ 2023-02-10 41/week @ 2023-02-17 14/week @ 2023-02-24 32/week @ 2023-03-03 89/week @ 2023-03-10 83/week @ 2023-03-17

224 downloads per month
Used in 2 crates

Apache-2.0

1MB
20K SLoC

IOTA Identity - Account

The 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 is done through the AccountBuilder.

let account: Account = Account::builder()
  .create_identity(IdentitySetup::default())
  .await?;

Update Operations

Updating a DID Document can be performed through the update_identity function on the Account. For example, adding a new verification method to the DID Document:

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, embeds it in a new verification method, and publishes the updated DID Document to the Tangle.

See the IdentityUpdater for a list of provided update operations.

Dependencies

~17–27MB
~577K SLoC