From 20f91f42428e3e91ab903aee561f2c1e10ace770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Pavl=C3=ADn?= Date: Mon, 13 Nov 2023 12:55:46 +0100 Subject: [PATCH] feat: add support for .env --- .env.example | 3 +++ .gitignore | 3 ++- README.md | 2 +- docker-compose.yml | 6 +++--- register_rln.sh | 11 +++++++++-- run_node.sh | 10 ++++------ 6 files changed, 22 insertions(+), 13 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..ef67b0a --- /dev/null +++ b/.env.example @@ -0,0 +1,3 @@ +ETH_CLIENT_ADDRESS=wss://sepolia.infura.io/ws/v3/ +ETH_TESTNET_KEY=012345privatekey +RLN_RELAY_CRED_PASSWORD="my_secure_keystore_password" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 87d7420..0536e1c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ **/.DS_Store keystore postgresql -rln_tree \ No newline at end of file +rln_tree +.env diff --git a/README.md b/README.md index b0d9f8d..210bd3f 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ You need: ``` export ETH_CLIENT_ADDRESS=wss://sepolia.infura.io/ws/v3/YOUR_INFURA_KEY export ETH_TESTNET_KEY=REPLACE_BY_YOUR_KEY -export KEYSTORE_PASSWORD=PICK_A_PASSWORD +export RLN_RELAY_CRED_PASSWORD=PICK_A_PASSWORD ``` **🔑 1. Register RLN membership** diff --git a/docker-compose.yml b/docker-compose.yml index 31b4ee6..1a5c8c5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,7 +47,7 @@ services: environment: DOMAIN: ${DOMAIN} NODEKEY: ${NODEKEY} - KEYSTORE_PASSWORD: ${KEYSTORE_PASSWORD} + KEYSTORE_PASSWORD: "${KEYSTORE_PASSWORD}" ETH_CLIENT_ADDRESS: *eth_client_address EXTRA_ARGS: ${EXTRA_ARGS} <<: @@ -119,8 +119,8 @@ services: - ./postgres_cfg/db.sql:/docker-entrypoint-initdb.d/db.sql:Z - ${PG_DATA_DIR:-./postgresql}:/var/lib/postgresql/data:Z command: postgres -c config_file=/etc/postgresql/postgresql.conf - ports: - - 127.0.0.1:5432:5432 + ports: [] + # - 127.0.0.1:5432:5432 healthcheck: test: ["CMD-SHELL", "pg_isready -d db_prod"] interval: 30s diff --git a/register_rln.sh b/register_rln.sh index a827bae..400d401 100755 --- a/register_rln.sh +++ b/register_rln.sh @@ -1,17 +1,24 @@ #!/bin/sh -if test -f ./keystore/keystore.json; then +if test -f $(pwd)/keystore/keystore.json; then echo "keystore/keystore.json alredy exists. Use it instead of creating a new one." echo "Exiting" exit 1 fi +if test -f .env; then + echo "Using .env file" + . $(pwd)/.env +fi + # TODO: Set nwaku release when ready instead of quay + + docker run -v $(pwd)/keystore:/keystore/:Z wakuorg/nwaku:v0.21.3 generateRlnKeystore \ --rln-relay-eth-client-address=${ETH_CLIENT_ADDRESS} \ --rln-relay-eth-private-key=${ETH_TESTNET_KEY} \ --rln-relay-eth-contract-address=0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4 \ --rln-relay-cred-path=/keystore/keystore.json \ ---rln-relay-cred-password=${KEYSTORE_PASSWORD} \ +--rln-relay-cred-password="'"${RLN_RELAY_CRED_PASSWORD}"'" \ --execute diff --git a/run_node.sh b/run_node.sh index 25fa8c6..50b0340 100644 --- a/run_node.sh +++ b/run_node.sh @@ -46,12 +46,12 @@ if [ -n "${NODEKEY}" ]; then NODEKEY=--nodekey=${NODEKEY} fi -if [ -n "${RLN_RELAY_CRED_PATH}" ]; then - RLN_RELAY_CRED_PATH=--rln-relay-cred-path=${RLN_RELAY_CRED_PATH} -fi + +RLN_RELAY_CRED_PATH=--rln-relay-cred-path=${RLN_RELAY_CRED_PATH:-/keystore/keystore.json} + if [ -n "${RLN_RELAY_CRED_PASSWORD}" ]; then - RLN_RELAY_CRED_PASSWORD=--rln-relay-cred-password=${RLN_RELAY_CRED_PASSWORD} + RLN_RELAY_CRED_PASSWORD=--rln-relay-cred-password="'"${RLN_RELAY_CRED_PASSWORD}"'" fi exec /usr/bin/wakunode\ @@ -95,8 +95,6 @@ exec /usr/bin/wakunode\ --rln-relay-eth-contract-address="${RLN_RELAY_CONTRACT_ADDRESS}"\ --rln-relay-eth-client-address="${ETH_CLIENT_ADDRESS}"\ --rln-relay-tree-path="/etc/rln_tree"\ - --rln-relay-cred-password="${KEYSTORE_PASSWORD}"\ - --rln-relay-cred-path="/keystore/keystore.json"\ ${RLN_RELAY_CRED_PATH}\ ${RLN_RELAY_CRED_PASSWORD}\ ${DNS_WSS_CMD}\