Merge pull request #236 from status-im/doc

This commit is contained in:
Franck Royer 2021-07-21 14:59:32 +10:00 committed by GitHub
commit 4e6848bb1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 37 additions and 8208 deletions

View File

@ -117,7 +117,7 @@ waku.store.queryHistory({
});
```
## Encryption & Signature
### Encryption & Signature
With js-waku, you can:
@ -125,7 +125,7 @@ With js-waku, you can:
- Encrypt messages over the wire using a unique key to both encrypt and decrypt (symmetric encryption),
- Sign and verify your waku messages (must use encryption, compatible with both symmetric and asymmetric).
### Cryptographic Libraries
#### Cryptographic Libraries
A quick note on the cryptographic libraries used as it is a not a straightforward affair:
- Asymmetric encryption:
@ -152,7 +152,7 @@ const publicKey = getPublicKey(privateKey);
const symKey = generatePrivateKey();
```
### Encrypt Waku Messages
#### Encrypt Waku Messages
To encrypt your waku messages, simply pass the encryption key when creating it:
@ -172,9 +172,9 @@ const message = await WakuMessage.fromBytes(payload, {
});
```
### Decrypt Waku Messages
#### Decrypt Waku Messages
#### Waku Relay
##### Waku Relay
If you expect to receive encrypted messages then simply add private decryption key(s) to `WakuRelay`.
Waku Relay will attempt to decrypt incoming messages with each keys, both for symmetric and asymmetric encryption.
@ -193,7 +193,7 @@ waku.relay.addObserver(callback, [contentTopic]);
Keys can be removed using `WakuMessage.deleteDecryptionKey`.
#### Waku Store
##### Waku Store
```ts
const messages = await waku.store.queryHistory({
@ -204,7 +204,7 @@ const messages = await waku.store.queryHistory({
Similarly to relay, only decrypted or clear messages will be returned.
### Sign Waku Messages
#### Sign Waku Messages
As per version 1`s [specs](https://rfc.vac.dev/spec/26/), signatures are only included in encrypted messages.
In the case where your app does not need encryption then you could use symmetric encryption with a trivial key, I intend to dig [more on the subject](https://github.com/status-im/js-waku/issues/74#issuecomment-880440186) and come back with recommendation and examples.
@ -231,7 +231,7 @@ const message = await WakuMessage.fromBytes(payload, {
});
```
### Verify Waku Message signatures
#### Verify Waku Message signatures
Two fields are available on `WakuMessage` regarding signatures:

File diff suppressed because it is too large Load Diff

View File

@ -54,7 +54,6 @@
"npm-run-all": "^4.1.5",
"nyc": "^15.1.0",
"prettier": "^2.1.1",
"standard-version": "^9.0.0",
"ts-node": "^9.1.1",
"typedoc": "^0.20.29",
"typescript": "^4.0.2"

5253
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -90,7 +90,6 @@
"chai": "^4.3.4",
"codecov": "^3.5.0",
"cspell": "^4.1.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^7.8.0",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-eslint-comments": "^3.2.0",
@ -109,7 +108,6 @@
"p-timeout": "^4.1.0",
"prettier": "^2.1.1",
"puppeteer": "^10.1.0",
"standard-version": "^9.0.0",
"tail": "^2.2.0",
"ts-node": "^9.1.1",
"typedoc": "^0.20.29",