Skip to content

Commit cb6c501

Browse files
committed
fix: rebuild links and reformat docs
1 parent 8c223da commit cb6c501

28 files changed

+371
-210
lines changed

blog/2021-04-27-new-release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ those for best compatibility.
4040
## Some changes to the CLI configuration
4141

4242
There are some slight changes to the `@veramo/cli` configuration, mostly around the `veramo server`. options. Check out
43-
the [veramo docs](https://veramo.io/docs/veramo_agent/configuration_internals) to see how the CLI configuration file
43+
the [veramo docs](../docs/veramo_agent/configuration_internals.md) to see how the CLI configuration file
4444
works.
4545

4646
### Ngrok is no longer included

blog/2021-07-14-veramo-2.0-release.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ using `Veramo` you might be impacted by some breaking changes that had to be add
2222
Our `@veramo/did-comm` package got a boost of functionality with new support for DIDComm v2 over HTTP. This plugin now
2323
exports 3 new methods:
2424

25-
- [`packDIDCommMessage()`](/docs/api/did-comm.didcomm.packdidcommmessage.md) - encrypt and/or sign a message for
25+
- [`packDIDCommMessage()`](../docs/api/did-comm.didcomm.packdidcommmessage) - encrypt and/or sign a message for
2626
sending.
27-
- [`sendDIDCommMessage()`](/docs/api/did-comm.didcomm.senddidcommmessage.md) - send a packed message to a recipient DID.
28-
- [`unpackDIDCommMessage()`](/docs/api/did-comm.didcomm.unpackdidcommmessage.md) - decode stored messages.
27+
- [`sendDIDCommMessage()`](../docs/api/did-comm.didcomm.senddidcommmessage) - send a packed message to a recipient DID.
28+
- [`unpackDIDCommMessage()`](../docs/api/did-comm.didcomm.unpackdidcommmessage) - decode stored messages.
2929

3030
As you may have guessed, the existing `sendMessageDIDCommAlpha1()` method should no longer be used. We hope that the
3131
name of the method already suggested instability. This will be removed in Veramo 4.x.
@@ -80,16 +80,16 @@ stores, or find DIDs by keys or by .well-known/did-config matches... you name it
8080

8181
The `@veramo/key-manager` now exports 2 new methods:
8282

83-
- [`keyManagerSign()`](/docs/api/key-manager.keymanager.keymanagersign.md) - support all signing algorithms that lower
83+
- [`keyManagerSign()`](../docs/api/key-manager.keymanager.keymanagersign.md) - support all signing algorithms that lower
8484
level key management systems provide.
85-
- [`keyManagerSharedSecret()`](/docs/api/key-manager.abstractkeymanagementsystem.sharedsecret.md) - compute shared
85+
- [`keyManagerSharedSecret()`](../docs/api/key-manager.abstractkeymanagementsystem.sharedsecret.md) - compute shared
8686
secrets between a locally managed secret key and an external public key.
8787

8888
These are supposed to start phasing out the previous methods `keyManagerSignJWT()`, `keyManagerSignEthTX()`
8989
and `keyManagerEncryptJWE()`/`keyManagerDecryptJWE()`.
9090

9191
The new signer can accommodate multiple algorithms implemented by
92-
your [`AbstractKeyManagementSystem`](/docs/api/kms-local.md) implementations:
92+
your [`AbstractKeyManagementSystem`](../docs/api/kms-local.md) implementations:
9393

9494
Example 1. signing JWT:
9595

@@ -123,8 +123,8 @@ const rawTx = await agent.keyManagerSign({
123123

124124
## Get `DIDComm v2` out of the box with `@veramo/remote-server` & `did:web`
125125

126-
If you are using [`@veramo/remote-server#WebDidDocRouter`](/docs/api/remote-server.webdiddocrouter.md)
127-
and [`@veramo/did-provider-web`](/docs/api/did-provider-web.md) it is now easier than ever to receive DIDComm messages.
126+
If you are using [`@veramo/remote-server#WebDidDocRouter`](../docs/api/remote-server.webdiddocrouter.md)
127+
and [`@veramo/did-provider-web`](../docs/api/did-provider-web.md) it is now easier than ever to receive DIDComm messages.
128128
The `did-provider-web` bootstraps your new `did:web` with Ed25519 and X25519 keys to be used for `keyAgreement` as well
129129
as listing an HTTP `DIDCommMessaging` endpoint by default.
130130

@@ -136,7 +136,7 @@ identifiers.
136136
`@veramo/kms-local-react-native` is not needed any more. It is now replaced by `@veramo/kms-local` which can be used in
137137
all environments. Some extra ceremony is still needed on react-native but the overall experience should be simpler.
138138

139-
Take a look at the [React-native tutorial](/docs/react_native_tutorials/react_native_setup_identifiers.md) to see how to
139+
Take a look at the [React-native tutorial](../docs/react_native_tutorials/react_native_setup_identifiers.md) to see how to
140140
set that up.
141141

142142
---

docs/basics/identifiers.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,17 @@ id: identifiers
33
title: Identifiers
44
---
55

6-
`Decentralized Identifier` or `DID` is a critical component of verifiable data. A `DID` is a new type of unique identifier which can be created independent of a central authority and that is designed to prove control over the DID using cryptographic proofs. In a verifiable data context, a DID can be used to verify the provenance and ownership of attested data by verifying the proof that is attached to the assertion.
6+
`Decentralized Identifier` or `DID` is a critical component of verifiable data. A `DID` is a new type of unique
7+
identifier which can be created independent of a central authority and that is designed to prove control over the DID
8+
using cryptographic proofs. In a verifiable data context, a DID can be used to verify the provenance and ownership of
9+
attested data by verifying the proof that is attached to the assertion.
710

811
## Decentralized Identifier
912

10-
Different flavors of `DIDs` exist today. The flavor of a `DID` or more accurately the `DID Method` defines how CRUD operations for a DID of that `DID Method` are executed. Each `DID Method` has different tradeoffs in specific use cases. For example, a web DID can be created without a Blockchain but `DID Methods` exist that have a dependency on a Blockchain. All of them are valid `DIDs` but have different guaranteees.
13+
Different flavors of `DIDs` exist today. The flavor of a `DID` or more accurately the `DID Method` defines how CRUD
14+
operations for a DID of that `DID Method` are executed. Each `DID Method` has different tradeoffs in specific use cases.
15+
For example, a web DID can be created without a Blockchain but `DID Methods` exist that have a dependency on a
16+
Blockchain. All of them are valid `DIDs` but have different guaranteees.
1117

1218
The example below shows how a web DID for veramo.dev might look like.
1319

@@ -17,15 +23,21 @@ did:web:veramo.dev
1723

1824
### DID Creation
1925

20-
When a `DID` is created, it is typically associated with a private and public key pair. The public key will be visible in the `DID Document`. This allows the controller/subject of the `DID` to generate proofs that are verifiable by anyone that has the corresponding `DID Document` for that `DID`. The process of retrieving the `DID Document` from a `DID` is called `DID Resolution`.
26+
When a `DID` is created, it is typically associated with a private and public key pair. The public key will be visible
27+
in the `DID Document`. This allows the controller/subject of the `DID` to generate proofs that are verifiable by anyone
28+
that has the corresponding `DID Document` for that `DID`. The process of retrieving the `DID Document` from a `DID` is
29+
called `DID Resolution`.
2130

2231
### DID Resolution
2332

24-
A `DID Resolver` can take `DID` as input and resolve the `DID Document`. This is an important concept in how data flows in verifiable data systems.
33+
A `DID Resolver` can take `DID` as input and resolve the `DID Document`. This is an important concept in how data flows
34+
in verifiable data systems.
2535

2636
### DID Document
2737

28-
Every `DID` has a `DID Document` that describes the `DID` subject. In the case of `did:web` the `DID Document` is hosted on the website in the following format. It contains essential cryptographic information and also services that the `DID` has available. This is the foundation of how `DIDs` can start to communicate with each other.
38+
Every `DID` has a `DID Document` that describes the `DID` subject. In the case of `did:web` the `DID Document` is hosted
39+
on the website in the following format. It contains essential cryptographic information and also services that the `DID`
40+
has available. This is the foundation of how `DIDs` can start to communicate with each other.
2941

3042
```json
3143
// 20201110152830
@@ -61,4 +73,4 @@ Every `DID` has a `DID Document` that describes the `DID` subject. In the case o
6173

6274
### DID Methods
6375

64-
Explainer on what a DID method is and links to supported [DID Methods](/docs/veramo_agent/did_methods) page
76+
Explainer on what a DID method is and links to supported [DID Methods](../veramo_agent/did_methods.md) page

docs/basics/introduction.md

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,55 @@ sidebar_label: Introduction
66

77
:::info
88

9-
Veramo is in a public beta. There will be some breaking changes in the coming months, and we endeavor to communicate these in advance via our blog. However, we expect the core APIs to remain relatively stable. You can keep up to date here and get involved in our growing community. We are excited to see what you build with Veramo!
9+
Veramo is in a public beta. There will be some breaking changes in the coming months, and we endeavor to communicate
10+
these in advance via our blog. However, we expect the core APIs to remain relatively stable. You can keep up to date
11+
here and get involved in our growing community. We are excited to see what you build with Veramo!
1012

1113
:::
1214

13-
Veramo is a JavaScript framework that makes it easy for anyone to use cryptographically verifiable data in their applications. It was designed to make it easy for developers who want to use DIDs, verifiable credentials, and data-centric protocols to bring next-generation features to their users.
15+
Veramo is a JavaScript framework that makes it easy for anyone to use cryptographically verifiable data in their
16+
applications. It was designed to make it easy for developers who want to use DIDs, verifiable credentials, and
17+
data-centric protocols to bring next-generation features to their users.
1418

15-
These docs are written for anyone wishing to learn more about the grounding principles behind verifiable data and develop a deeper understanding of the Veramo framework to build next-generation apps that leverage the many benefits of trust networks.
19+
These docs are written for anyone wishing to learn more about the grounding principles behind verifiable data and
20+
develop a deeper understanding of the Veramo framework to build next-generation apps that leverage the many benefits of
21+
trust networks.
1622

1723
### How to use these docs
1824

19-
If you are new to the concept of verifiable data, it would be best to read the fundamentals section linearly as each section builds on knowledge and terminology gained in the previous.
25+
If you are new to the concept of verifiable data, it would be best to read the fundamentals section linearly as each
26+
section builds on knowledge and terminology gained in the previous.
2027

21-
If you are more experienced with verifiable data concepts and/or development in general, you can dive into the architecture section where more specifics of how the internals work is covered. You can also jump over to the [API reference](/docs/api/core) section. Links and more info about these packages can also be found in the [Plugins](/docs/veramo_agent/plugins) section.
28+
If you are more experienced with verifiable data concepts and/or development in general, you can dive into the
29+
architecture section where more specifics of how the internals work is covered. You can also jump over to
30+
the [API reference](../api/index.md) section. Links and more info about these packages can also be found in
31+
the [Plugins](../veramo_agent/plugins.md) section.
2232

2333
### Mission
2434

2535
> Our mission is to empower developers to build better trust layers in their applications.
2636
27-
We obsess over standards and interop so developers and product owners can focus on building their next-generation applications that leverage verifiable data and their decentralized verification benefits.
37+
We obsess over standards and interop so developers and product owners can focus on building their next-generation
38+
applications that leverage verifiable data and their decentralized verification benefits.
2839

2940
### Why Veramo?
3041

31-
The verifiable data landscape has grown exponentially in the past few years and continues to grow at an accelerated rate. Where you have accelerated innovation, you will also have a lot of competing standards. This anomaly makes interoperability challenging. Veramo was designed to be flexible, modular, and scalable. It allows developers to orchestrate a custom system from a growing list of standards without worrying about interoperability and fast-changing specs.
42+
The verifiable data landscape has grown exponentially in the past few years and continues to grow at an accelerated
43+
rate. Where you have accelerated innovation, you will also have a lot of competing standards. This anomaly makes
44+
interoperability challenging. Veramo was designed to be flexible, modular, and scalable. It allows developers to
45+
orchestrate a custom system from a growing list of standards without worrying about interoperability and fast-changing
46+
specs.
3247

33-
Competing standards can create an unnecessary burden and confusion for product owners and developers who prefer not to be tied to a specific vendor or invest too much building on standards that will most likely change. There is a complex [dependency tree](/docs/advanced/data_flow) per platform on top of changing standards that requires considerable effort to manage.
48+
Competing standards can create an unnecessary burden and confusion for product owners and developers who prefer not to
49+
be tied to a specific vendor or invest too much building on standards that will most likely change. There is a complex
50+
dependency tree per platform on top of changing standards that requires considerable effort to manage.
3451

35-
However, this should not prevent businesses from bringing the immense value of verifiable data to their users. We envision an ecosystem of interoperable functionality made possible through specialized community plugins that respect open standards.
52+
However, this should not prevent businesses from bringing the immense value of verifiable data to their users. We
53+
envision an ecosystem of interoperable functionality made possible through specialized community plugins that respect
54+
open standards.
3655

37-
At Veramo, we work closely with the [W3C](https://www.w3.org/) and [DIF](https://identity.foundation/) to build compatibility across many projects and initiatives in the space.
56+
At Veramo, we work closely with the [W3C](https://www.w3.org/) and [DIF](https://identity.foundation/) to build
57+
compatibility across many projects and initiatives in the space.
3858

39-
Using Veramo, you can design your agent how you want it by using the [core plugins](/docs/veramo_agent/plugins). We have plugins for DID Methods, Messaging Protocols, Storage, Key Management, Authentication, and many more.
59+
Using Veramo, you can design your agent how you want it by using the [core plugins](../veramo_agent/plugins.md). We have
60+
plugins for DID Methods, Messaging Protocols, Storage, Key Management, Authentication, and many more.

docs/basics/signing_keys.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ id: signing_keys
33
title: Signing & Keys
44
---
55

6-
To understand how verifiable data works it is important to have an understanding public keys and signing. The following videos provide an excellent overview.
6+
To understand how verifiable data works it is important to have an understanding public keys and signing. The following
7+
videos provide an excellent overview.
78

89
Robert Miles PhD Student at University of Nottingham
910

docs/basics/verifiable_data.md

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,48 @@ id: verifiable_data
33
title: Verifiable Data
44
---
55

6-
Verifiable data is simply data that has been digitally signed using a cryptographic algorithm. If data has been signed in this way, someone can verify the signature. Here we can look a the most common standard of verifiable data - Verifiable Credentials.
6+
Verifiable data is simply data that has been digitally signed using a cryptographic algorithm. If data has been signed
7+
in this way, someone can verify the signature. Here we can look a the most common standard of verifiable data -
8+
Verifiable Credentials.
79

810
### W3C Verifiable Credential
911

10-
To summarise the W3C definition of a [Verifiable Credential](https://www.w3.org/TR/vc-data-model/#what-is-a-verifiable-credential), it is a piece of data that conforms to the `VerifiableCredential` type. It has attributes such as issuer, subject, proofs, and data being made verifiable. Like a physical credential, a verifiable credential is issued from one entity known as the `issuer` to another entity, the `subject`.
12+
To summarise the W3C definition of
13+
a [Verifiable Credential](https://www.w3.org/TR/vc-data-model/#what-is-a-verifiable-credential), it is a piece of data
14+
that conforms to the `VerifiableCredential` type. It has attributes such as issuer, subject, proofs, and data being made
15+
verifiable. Like a physical credential, a verifiable credential is issued from one entity known as the `issuer` to
16+
another entity, the `subject`.
1117

12-
Let's imagine a physical document such as a passport or driver's license; these documents can be issued by the government that asserts your personal information and 'permissions' such as the type of vehicle you can drive or if you can vote. A physical credential has encoded watermarks, which can be scanned to prove that the issuer is who is stated on the document. To trust the document, you would need to trust the issuer of the document. Some facilities will have the ability to scan these documents to verify the authenticity of the document. This would be considered a 'trust network'.
18+
Let's imagine a physical document such as a passport or driver's license; these documents can be issued by the
19+
government that asserts your personal information and 'permissions' such as the type of vehicle you can drive or if you
20+
can vote. A physical credential has encoded watermarks, which can be scanned to prove that the issuer is who is stated
21+
on the document. To trust the document, you would need to trust the issuer of the document. Some facilities will have
22+
the ability to scan these documents to verify the authenticity of the document. This would be considered a 'trust
23+
network'.
1324

14-
You trust the government and the scanner they approve; therefore, you will trust the person whose document is verified by the scanner. The same model exists here, except the verification or proof is purely digital and cryptographic. Also, it should be noted when anything moves from analog to digital, it usually has more applications outside of the traditional analog version.
25+
You trust the government and the scanner they approve; therefore, you will trust the person whose document is verified
26+
by the scanner. The same model exists here, except the verification or proof is purely digital and cryptographic. Also,
27+
it should be noted when anything moves from analog to digital, it usually has more applications outside of the
28+
traditional analog version.
1529

1630
This is the current v1 format for a W3C compliant Verifiable Credential:
1731

1832
```json
1933
{
2034
"@context": [
21-
"https://www.w3.org/2018/credentials/v1",
35+
"https://www.w3.org/2018/credentials/v1"
2236
],
23-
"type": ["VerifiableCredential"],
24-
"issuer": {"id": "did:web:veramo.dev"},
37+
"type": [
38+
"VerifiableCredential"
39+
],
40+
"issuer": {
41+
"id": "did:web:veramo.dev"
42+
},
2543
"issuanceDate": "2010-01-01T19:73:24Z",
2644
"credentialSubject": {
2745
"id": "did:example:user",
2846
"community": {
29-
"rank": "rockstar"
47+
"rank": "rockstar"
3048
}
3149
},
3250
"proof": {
@@ -35,9 +53,10 @@ This is the current v1 format for a W3C compliant Verifiable Credential:
3553
"proofPurpose": "assertionMethod",
3654
"verificationMethod": "https://example.edu/issuers/keys/1",
3755
"jws": "eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..TCYt5X
38-
sITJX1CxPCT8yAV-TVkIEq_PbChOMqsLfRoPsnsgw5WEuts01mq-pQy7UJiN5mgRxD-WUc
39-
X16dUEMGlv50aqzpqh4Qktb3rk-BuQy72IFLOqV0G_zS245-kronKb78cPN25DGlcTwLtj
40-
PAYuNzVBAh4vGHSrQyHUdBBPM"
56+
sITJX1CxPCT8yAV-TVkIEq_PbChOMqsLfRoPsnsgw5WEuts01mq-pQy7UJiN5mgRxD-WUc
57+
X16dUEMGlv50aqzpqh4Qktb3rk-BuQy72IFLOqV0G_zS245-kronKb78cPN25DGlcTwLtj
58+
PAYuNzVBAh4vGHSrQyHUdBBPM
59+
"
4160
}
4261
}
4362
```

0 commit comments

Comments
 (0)