-
Notifications
You must be signed in to change notification settings - Fork 90
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Content for create did, replit improvements (#372)
* Content for create did, replit improvements * md * Improved phrasing based on suggestions
- Loading branch information
Jelle Femmo Millenaar
authored
Sep 8, 2021
1 parent
76e3b0f
commit b755a40
Showing
6 changed files
with
75 additions
and
41 deletions.
There are no files selected for viewing
36 changes: 36 additions & 0 deletions
36
documentation/docs/getting-started/decentralized_identifiers/create.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
title: Creating a Decentralized Identity | ||
sidebar_label: Create and Publish | ||
description: DID Documents and publishing them to the Tangle | ||
image: /img/Identity_icon.png | ||
keywords: | ||
- Documents | ||
- DID | ||
- Tangle | ||
- Publish | ||
--- | ||
|
||
When someone or something wants to benefit from Self-Sovereign Identity, they must first create a Decentralized Identity. This identity consists of many parts that have different functions. This page will cover both the basics and the details about identity creation, storage, and publishing to the Tangle. | ||
|
||
The example below utilizes the high-level account module of the IOTA Identity framework to create an identity. The account is the easiest method of using IOTA Identity. It is recommended to use the account for your use cases, a lower-level API is also available, providing more flexibility at the cost of more complexity. | ||
|
||
### Creating an Identity using the Account | ||
|
||
:::tip Using Replit | ||
|
||
Select your programming language of choice and press the green play button to execute the example. | ||
|
||
::: | ||
|
||
import CodeSnippet from '../../../src/components/CodeSnippetComponent' | ||
|
||
<CodeSnippet nodeReplitLink="https://repl.it/@abdulmth/Create-did?lite=true" | ||
rustReplitLink="https://replit.com/@JelleMillenaar1/accountbasic?lite=true"></CodeSnippet> | ||
|
||
The first step in this example is the creation of an account. This acts as a stateful object that manages one or more identities. The account provides an interface to execute high-level operations on identities, such as creating, updating, and storing them. | ||
|
||
Next, the identity is created and published to the IOTA Tangle. This operation will generate a private key, storing it in the account, generating a DID, DID Document, and publishing it to the Tangle. Once it is uploaded to the Tangle, it becomes immutable, meaning that this version of the identity can never be altered or removed. The only way to update or delete an identity is by publishing a new version, which we will discuss in the next section. This immutability is what makes a Decentralized Identity solution based on Distributed Ledger Technology (DLT) trustworthy. The public keys inside the DID Document can never be changed without having access to the private key, allowing the users to completely control their own identities. The rest of the example shows how to retrieve (resolve) the identity from the Tangle and how it can be deleted. | ||
|
||
### Identity Generation Process | ||
|
||
The generation of an identity starts with a randomly generated asymmetric key pair. This can be generated by the IOTA Identity framework or can be provided as a parameter during the creation process. The public key is hashed using the `Blake2b-256` algorithm. This hash becomes the DID, creating a permanent and provable link between the initial keypair and the DID. The public key is then embedded into the initial DID Document and is used for verifying signatures created with the corresponding private key. This process can be observed and manipulated in depth by using the low-level API available for the IOTA Identity framework. This low-level API can be found here (TODO: Link) and is only recommended for complex use cases that require maximum flexibility in the framework. |
19 changes: 0 additions & 19 deletions
19
documentation/docs/getting-started/decentralized_identifiers/create.mdx
This file was deleted.
Oops, something went wrong.
6 changes: 6 additions & 0 deletions
6
documentation/docs/getting-started/decentralized_identifiers/manage.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
title: Secure DIDs | ||
sidebar_label: Secure | ||
--- | ||
|
||
TODO: Stronghold |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.