commit
1cf9fa1f0b
|
@ -1 +1 @@
|
||||||
Subproject commit 51c88a4cdbdbeb460863b0929502ae5e0f8ca99d
|
Subproject commit 114cdccaa087c54abcc4dad9ed3366af247de79e
|
|
@ -1 +1 @@
|
||||||
Subproject commit 0816bd1e945ef4fa3d030c9c6cc27f260bbe639b
|
Subproject commit 5bb6ee64512cd8db1c52d10145e548860aa938e7
|
|
@ -1,8 +1,9 @@
|
||||||
# Introduction
|
# Introduction
|
||||||
`wakunode` is a cli application that allows you to run a
|
`wakunode` is a cli application that allows you to run a
|
||||||
[Waku](https://github.com/vacp2p/specs/blob/master/waku.md) enabled node.
|
[Waku](https://specs.vac.dev/waku/waku.html) enabled node.
|
||||||
|
|
||||||
The application and Waku specification are still experimental and fully in flux.
|
The Waku specification is still in draft and thus this implementation will
|
||||||
|
change accordingly.
|
||||||
|
|
||||||
Additionally the original Whisper (EIP-627) protocol can also be enabled as can
|
Additionally the original Whisper (EIP-627) protocol can also be enabled as can
|
||||||
an experimental Whisper - Waku bridging option.
|
an experimental Whisper - Waku bridging option.
|
||||||
|
@ -19,11 +20,15 @@ More information on the installation of these can be found [here](https://github
|
||||||
## Build & Run
|
## Build & Run
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make # The first `make` invocation will update all Git submodules and prompt you to run `make` again.
|
# The first `make` invocation will update all Git submodules.
|
||||||
# It's only required once per Git clone. You'll run `make update` after each `git pull`, in the future,
|
# You'll run `make update` after each `git pull`, in the future, to keep those submodules up to date.
|
||||||
# to keep those submodules up to date.
|
|
||||||
make wakunode
|
make wakunode
|
||||||
|
|
||||||
|
# See available command line options
|
||||||
./build/wakunode --help
|
./build/wakunode --help
|
||||||
|
|
||||||
|
# Connect the client directly with the Status test fleet
|
||||||
|
./build/wakunode --log-level:debug --discovery:off --fleet:test --log-metrics
|
||||||
```
|
```
|
||||||
|
|
||||||
# Using Metrics
|
# Using Metrics
|
||||||
|
@ -87,9 +92,9 @@ This dashboard can be found at `./waku/metrics/waku-sim-all-nodes-grafana-dashbo
|
||||||
|
|
||||||
# Spec support
|
# Spec support
|
||||||
|
|
||||||
*This section last updated April 7, 2020*
|
*This section last updated April 21, 2020*
|
||||||
|
|
||||||
This client of Waku is spec compliant with [Waku spec v0.4](https://specs.vac.dev/waku/waku.html).
|
This client of Waku is spec compliant with [Waku spec v1.0](https://specs.vac.dev/waku/waku.html).
|
||||||
|
|
||||||
It doesn't yet implement the following recommended features:
|
It doesn't yet implement the following recommended features:
|
||||||
- No support for rate limiting
|
- No support for rate limiting
|
||||||
|
|
|
@ -174,7 +174,7 @@ proc nimbus_new_keypair(id: var Identifier): bool
|
||||||
discard
|
discard
|
||||||
|
|
||||||
proc nimbus_add_keypair(privateKey: ptr byte, id: var Identifier):
|
proc nimbus_add_keypair(privateKey: ptr byte, id: var Identifier):
|
||||||
bool {.exportc, dynlib, raises: [Defect, OSError, IOError, ValueError].} =
|
bool {.exportc, dynlib, raises: [Defect].} =
|
||||||
## Caller needs to provide as id a pointer to 32 bytes allocation.
|
## Caller needs to provide as id a pointer to 32 bytes allocation.
|
||||||
doAssert(not (unsafeAddr id).isNil, "Key id cannot be nil.")
|
doAssert(not (unsafeAddr id).isNil, "Key id cannot be nil.")
|
||||||
doAssert(not privateKey.isNil, "Private key cannot be nil.")
|
doAssert(not privateKey.isNil, "Private key cannot be nil.")
|
||||||
|
@ -221,7 +221,7 @@ proc nimbus_get_private_key(id: Identifier, privateKey: var PrivateKey):
|
||||||
# Symmetric Keys
|
# Symmetric Keys
|
||||||
|
|
||||||
proc nimbus_add_symkey(symKey: ptr SymKey, id: var Identifier): bool
|
proc nimbus_add_symkey(symKey: ptr SymKey, id: var Identifier): bool
|
||||||
{.exportc, dynlib, raises: [].} =
|
{.exportc, dynlib, raises: [Defect].} =
|
||||||
## Caller needs to provide as id a pointer to 32 bytes allocation.
|
## Caller needs to provide as id a pointer to 32 bytes allocation.
|
||||||
doAssert(not (unsafeAddr id).isNil, "Key id cannot be nil.")
|
doAssert(not (unsafeAddr id).isNil, "Key id cannot be nil.")
|
||||||
doAssert(not symKey.isNil, "Symmetric key cannot be nil.")
|
doAssert(not symKey.isNil, "Symmetric key cannot be nil.")
|
||||||
|
@ -249,14 +249,14 @@ proc nimbus_add_symkey_from_password(password: cstring, id: var Identifier):
|
||||||
whisperKeys.symKeys.add(id.toHex(), symKey)
|
whisperKeys.symKeys.add(id.toHex(), symKey)
|
||||||
|
|
||||||
proc nimbus_delete_symkey(id: Identifier): bool
|
proc nimbus_delete_symkey(id: Identifier): bool
|
||||||
{.exportc, dynlib, raises: [].} =
|
{.exportc, dynlib, raises: [Defect].} =
|
||||||
doAssert(not (unsafeAddr id).isNil, "Key id cannot be nil.")
|
doAssert(not (unsafeAddr id).isNil, "Key id cannot be nil.")
|
||||||
|
|
||||||
var unneeded: SymKey
|
var unneeded: SymKey
|
||||||
result = whisperKeys.symKeys.take(id.toHex(), unneeded)
|
result = whisperKeys.symKeys.take(id.toHex(), unneeded)
|
||||||
|
|
||||||
proc nimbus_get_symkey(id: Identifier, symKey: var SymKey):
|
proc nimbus_get_symkey(id: Identifier, symKey: var SymKey):
|
||||||
bool {.exportc, dynlib, raises: [OSError, IOError, ValueError].} =
|
bool {.exportc, dynlib, raises: [Defect].} =
|
||||||
doAssert(not (unsafeAddr id).isNil, "Key id cannot be nil.")
|
doAssert(not (unsafeAddr id).isNil, "Key id cannot be nil.")
|
||||||
doAssert(not (unsafeAddr symKey).isNil, "Symmetric key cannot be nil.")
|
doAssert(not (unsafeAddr symKey).isNil, "Symmetric key cannot be nil.")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue