Upgrade to RLNv2 (#45)

This commit is contained in:
Tanya S 2024-06-07 10:13:45 +02:00 committed by GitHub
parent a7de0823fa
commit 359db48e2d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 47 additions and 15 deletions

View File

@ -2,17 +2,34 @@
set -e
# 1. Install foundry
# 1. Install foundry and pnpm
curl -L https://foundry.paradigm.xyz | bash && . /root/.bashrc && foundryup && export PATH=$PATH:$HOME/.foundry/bin
#. 2. Clone and build waku-rln-contract repo
git clone https://github.com/waku-org/waku-rln-contract.git
cd /waku-rln-contract
forge install && yarn install && yarn compile
echo "installing pnpm..."
npm install -g pnpm
# 3. Create .env file with RPC_PROVIDER variable
echo "creating .env file with RPC_PROVIDER=$RPC_URL"
echo "RPC_PROVIDER=$RPC_URL" > .env
# 2. Clone and build the repository
if [ ! -d "waku-rlnv2-contract" ]; then
git clone https://github.com/waku-org/waku-rlnv2-contract.git
fi
# 3. Deploy the contracts
yarn deploy localhost_integration
cd /waku-rlnv2-contract
# 3. Compile
echo "forge install..."
forge install
echo "pnpm install..."
pnpm install
echo "forge build..."
forge build
# 4. Export environment variables
export RCL_URL=$RCL_URL
export PRIVATE_KEY=$PRIVATE_KEY
export ETH_FROM=$ETH_FROM
# Dummy values
export API_KEY_ETHERSCAN=123
export API_KEY_CARDONA=123
# 5. Deploy the contract
forge script script/Deploy.s.sol:Deploy --rpc-url $RPC_URL --broadcast -vv --private-key $PRIVATE_KEY --sender $ETH_FROM

View File

@ -20,10 +20,10 @@ services:
- anvil
--port=8545
--host=0.0.0.0
--chain-id=1337
--accounts=${NUM_NWAKU_NODES:-5}
--allow-origin=*
--block-time=12
--chain-id=1234
--silent
--config-out=/shared/anvil-config.txt
volumes:
@ -36,7 +36,9 @@ services:
labels:
com.centurylinklabs.watchtower.enable: '${WATCHTOWER_ENABLED:-false}'
environment:
- PRIVATE_KEY=${PRIVATE_KEY}
- RPC_URL=${RPC_URL:-http://foundry:8545}
- ETH_FROM=${ETH_FROM}
entrypoint: sh
command:
- '/opt/deploy_rln_contract.sh'
@ -76,9 +78,11 @@ services:
entrypoint: sh
environment:
- RPC_URL=${RPC_URL:-http://foundry:8545}
- RLN_CONTRACT_ADDRESS=0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0
- RLN_CONTRACT_ADDRESS=0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9
- RLN_CREDENTIAL_PATH=/keystore.json
- RLN_CREDENTIAL_PASSWORD=passw123
- RLN_RELAY_MSG_LIMIT=${RLN_RELAY_MSG_LIMIT:-10}
- RLN_RELAY_EPOCH_SEC=${RLN_RELAY_EPOCH_SEC:-60}
command:
- '/opt/run_nwaku.sh'
volumes:

View File

@ -108,7 +108,8 @@ else
--rln-relay-eth-contract-address=$RLN_CONTRACT_ADDRESS \
--rln-relay-cred-path=$RLN_CREDENTIAL_PATH \
--rln-relay-cred-password=$RLN_CREDENTIAL_PASSWORD \
--log-level=INFO \
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT \
--log-level=DEBUG \
--execute
fi
@ -136,12 +137,16 @@ exec /usr/bin/wakunode\
--rest-admin=true\
--rest-private=true\
--rest-address=0.0.0.0\
--rest-port=8645\
--rln-relay=true\
--rln-relay-dynamic=true\
--rln-relay-eth-client-address="$RPC_URL"\
--rln-relay-eth-contract-address=$RLN_CONTRACT_ADDRESS\
--rln-relay-cred-path=$RLN_CREDENTIAL_PATH\
--rln-relay-cred-password=$RLN_CREDENTIAL_PASSWORD\
--rln-relay-tree-path="rlnv2_tree1"\
--rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC\
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT\
--dns-discovery=true\
--discv5-discovery=true\
--discv5-enr-auto-update=True\

View File

@ -1,5 +1,5 @@
# Env variables for metal-01.he-eu-hel1.wakusim.misc host.
NWAKU_IMAGE=wakuorg/nwaku:latest
NWAKU_IMAGE=quay.io/wakuorg/nwaku-pr:2759-rln-v2
# Network scaling.
NUM_NWAKU_NODES=50
# Simulation traffic.
@ -9,4 +9,10 @@ TRAFFIC_DELAY_SECONDS=15
# Enable automatic Docker image updates.
WATCHTOWER_ENABLED=true
# Anvil RPC Node external IP and port
RPC_URL=http://foundry:8545
RPC_URL=http://foundry:8545
# Contract-deployment
PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
ETH_FROM=0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
# RLNv2 limits
RLN_RELAY_MSG_LIMIT=10
RLN_RELAY_EPOCH_SEC=60