The NuCypher Monitor collects data about the NuCypher Network
and displays this information in a UI via the Dashboard
.
NOTE: Granular network information is currently not displayable on the monitor dashboard during the upgrade to the Threshold Network.
$ pip install -e . -r requirements.txt
$ pip install -e . -r dev-requirements.txt
Ethereum Node - either local or remote
The Monitor needs a Web3 node provider to obtain blockchain data.
$ nucypher-monitor --help
Usage: nucypher-monitor [OPTIONS] COMMAND [ARGS]...
Options:
--nucypher-version Echo the nucypher version
--help Show this message and exit.
Commands:
dashboard Run UI dashboard of NuCypher network.
Use remote Ethereum node provider e.g. Infura, Alchemy etc., OR run local Geth node
Run the Dashboard
$ nucypher-monitor dashboard --provider <YOUR WEB3 PROVIDER URI> --network <NETWORK NAME>
_____ _ _
| |___ ___|_| |_ ___ ___
| | | | . | | | _| . | _|
|_|_|_|___|_|_|_|_| |___|_|
========= Dashboard =========
Network: <NETWORK NAME>
Provider: ...
Running Monitor Dashboard - https://127.0.0.1:12500
Dashboard
UI is available at https://127.0.0.1:12500.Docker Compose will start the Dashboard container, and no installation of the monitor is required.
Set required environment variables
Web3 Provider URI environment variable
NOTE: local ipc is not supported when running via Docker
export WEB3_PROVIDER_URI=<YOUR WEB3 PROVIDER URI>
Network Name environment variable
export NUCYPHER_NETWORK=<NETWORK NAME>
Let's Encrypt certificates location
export NUCYPHER_LETSENCRYPT_DIR=<DIRECTORY LOCATION>
You can create certificates for localhost using openssl command:
openssl req -x509 -out fullchain.pem -keyout key.pem \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
Run Docker Compose
docker-compose -f deploy/docker-compose.yml up -d
View Docker compose logs
docker-compose -f deploy/docker-compose.yml logs -f
The Dashboard
UI is available on the host over the default HTTPS port.
Shut down the monitor
docker-compose -f deploy/docker-compose.yml down