From 8fd862b52e2ada6b5f0a84e414e27c1e76ec903f Mon Sep 17 00:00:00 2001 From: Darshan K <35736874+darshankabariya@users.noreply.github.com> Date: Tue, 15 Jul 2025 13:19:31 +0530 Subject: [PATCH] chore: docs update according to new contract (#3504) --- apps/liteprotocoltester/docker-compose.yml | 2 +- apps/sonda/.env.example | 15 ++++++++++++--- apps/sonda/README.md | 6 +++--- docs/operators/how-to/run-with-rln.md | 16 ++++++++-------- docs/tutorial/onchain-rln-relay-chat2.md | 14 +++++++------- docs/tutorial/rln-keystore-generator.md | 4 ++-- 6 files changed, 33 insertions(+), 24 deletions(-) diff --git a/apps/liteprotocoltester/docker-compose.yml b/apps/liteprotocoltester/docker-compose.yml index 0effbf8f0..16b544644 100644 --- a/apps/liteprotocoltester/docker-compose.yml +++ b/apps/liteprotocoltester/docker-compose.yml @@ -9,7 +9,7 @@ x-logging: &logging x-eth-client-address: ð_client_address ${ETH_CLIENT_ADDRESS:-} # Add your ETH_CLIENT_ADDRESS after the "-" x-rln-environment: &rln_env - RLN_RELAY_CONTRACT_ADDRESS: ${RLN_RELAY_CONTRACT_ADDRESS:-0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4} + RLN_RELAY_CONTRACT_ADDRESS: ${RLN_RELAY_CONTRACT_ADDRESS:-0xB9cd878C90E49F797B4431fBF4fb333108CB90e6} RLN_RELAY_CRED_PATH: ${RLN_RELAY_CRED_PATH:-} # Optional: Add your RLN_RELAY_CRED_PATH after the "-" RLN_RELAY_CRED_PASSWORD: ${RLN_RELAY_CRED_PASSWORD:-} # Optional: Add your RLN_RELAY_CRED_PASSWORD after the "-" diff --git a/apps/sonda/.env.example b/apps/sonda/.env.example index 2423d06cb..ea769b329 100644 --- a/apps/sonda/.env.example +++ b/apps/sonda/.env.example @@ -1,12 +1,20 @@ # RPC URL for accessing testnet via HTTP. -# e.g. https://sepolia.infura.io/v3/123aa110320f4aec179150fba1e1b1b1 +# e.g. https://linea-sepolia.infura.io/v3/123aa110320f4aec179150fba1e1b1b1 RLN_RELAY_ETH_CLIENT_ADDRESS= -# Private key of testnet where you have sepolia ETH that would be staked into RLN contract. +# Account of testnet where you have Linea Sepolia ETH that would be staked into RLN contract. +ETH_TESTNET_ACCOUNT= + +# Private key of testnet where you have Linea Sepolia ETH that would be staked into RLN contract. # Note: make sure you don't use the '0x' prefix. # e.g. 0116196e9a8abed42dd1a22eb63fa2a5a17b0c27d716b87ded2c54f1bf192a0b ETH_TESTNET_KEY= +# Address of the RLN contract on Linea Sepolia. +RLN_CONTRACT_ADDRESS=0xB9cd878C90E49F797B4431fBF4fb333108CB90e6 +# Address of the RLN Membership Token contract on Linea Sepolia used to pay for membership. +TOKEN_CONTRACT_ADDRESS=0x185A0015aC462a0aECb81beCc0497b649a64B9ea + # Password you would like to use to protect your RLN membership. RLN_RELAY_CRED_PASSWORD= @@ -15,7 +23,8 @@ NWAKU_IMAGE= NODEKEY= DOMAIN= EXTRA_ARGS= -RLN_RELAY_CONTRACT_ADDRESS= +STORAGE_SIZE= + # -------------------- SONDA CONFIG ------------------ METRICS_PORT=8004 diff --git a/apps/sonda/README.md b/apps/sonda/README.md index 75342c3cb..459f6fe69 100644 --- a/apps/sonda/README.md +++ b/apps/sonda/README.md @@ -30,13 +30,13 @@ It works by running a `nwaku` node, publishing a message from it every fixed int 2. If you want to query nodes in `cluster-id` 1, then you have to follow the steps of registering an RLN membership. Otherwise, you can skip this step. For it, you need: - * Ethereum Sepolia WebSocket endpoint. Get one free from [Infura](https://www.infura.io/). - * Ethereum Sepolia account with some balance <0.01 Eth. Get some [here](https://www.infura.io/faucet/sepolia). + * Ethereum Linea Sepolia WebSocket endpoint. Get one free from [Infura](https://linea-sepolia.infura.io/). + * Ethereum Linea Sepolia account with minimum 0.01ETH. Get some [here](https://docs.metamask.io/developer-tools/faucet/). * A password to protect your rln membership. Fill the `RLN_RELAY_ETH_CLIENT_ADDRESS`, `ETH_TESTNET_KEY` and `RLN_RELAY_CRED_PASSWORD` env variables and run - ``` + ``` ./register_rln.sh ``` diff --git a/docs/operators/how-to/run-with-rln.md b/docs/operators/how-to/run-with-rln.md index f56af0146..ef1a6c208 100644 --- a/docs/operators/how-to/run-with-rln.md +++ b/docs/operators/how-to/run-with-rln.md @@ -33,8 +33,8 @@ make wakunode2 Follow [Step 10](../droplet-quickstart.md#10-run-nwaku) of the [droplet quickstart](../droplet-quickstart.md) guide, while replacing the run command with - ```bash -export SEPOLIA_HTTP_NODE_ADDRESS= -export RLN_RELAY_CONTRACT_ADDRESS="0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4" # Replace this with any compatible implementation +export LINEA_SEPOLIA_HTTP_NODE_ADDRESS= +export RLN_RELAY_CONTRACT_ADDRESS="0xB9cd878C90E49F797B4431fBF4fb333108CB90e6" # Replace this with any compatible implementation $WAKUNODE_DIR/wakunode2 \ --store:true \ --persist-messages \ @@ -44,7 +44,7 @@ $WAKUNODE_DIR/wakunode2 \ --rln-relay:true \ --rln-relay-dynamic:true \ --rln-relay-eth-contract-address:"$RLN_RELAY_CONTRACT_ADDRESS" \ ---rln-relay-eth-client-address:"$SEPOLIA_HTTP_NODE_ADDRESS" +--rln-relay-eth-client-address:"$LINEA_SEPOLIA_HTTP_NODE_ADDRESS" ``` OR @@ -53,9 +53,9 @@ If you are running the nwaku node within docker, follow [Step 2](../docker-quick ```bash export WAKU_FLEET= -export SEPOLIA_HTTP_NODE_ADDRESS= -export RLN_RELAY_CONTRACT_ADDRESS="0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4" # Replace this with any compatible implementation -docker run -i -t -p 60000:60000 -p 9000:9000/udp wakuorg/nwaku:v0.20.0 \ +export LINEA_SEPOLIA_HTTP_NODE_ADDRESS= +export RLN_RELAY_CONTRACT_ADDRESS="0xB9cd878C90E49F797B4431fBF4fb333108CB90e6" # Replace this with any compatible implementation +docker run -i -t -p 60000:60000 -p 9000:9000/udp wakuorg/nwaku:v0.36.0 \ --dns-discovery:true \ --dns-discovery-url:"$WAKU_FLEET" \ --discv5-discovery \ @@ -63,7 +63,7 @@ docker run -i -t -p 60000:60000 -p 9000:9000/udp wakuorg/nwaku:v0.20.0 \ --rln-relay:true \ --rln-relay-dynamic:true \ --rln-relay-eth-contract-address:"$RLN_RELAY_CONTRACT_ADDRESS" \ - --rln-relay-eth-client-address:"$SEPOLIA_HTTP_NODE_ADDRESS" + --rln-relay-eth-client-address:"$LINEA_SEPOLIA_HTTP_NODE_ADDRESS" ``` > Note: You can choose to keep connections to other nodes alive by adding the `--keep-alive` flag. @@ -74,7 +74,7 @@ runtime arguments - 1. `--rln-relay`: Allows waku-rln-relay to be mounted into the setup of the nwaku node 2. `--rln-relay-dynamic`: Enables waku-rln-relay to connect to an ethereum node to fetch the membership group 3. `--rln-relay-eth-contract-address`: The contract address of an RLN membership group -4. `--rln-relay-eth-client-address`: The HTTP url to a Sepolia ethereum node +4. `--rln-relay-eth-client-address`: The HTTP url to a Linea Sepolia ethereum node You should now have nwaku running, with RLN enabled! diff --git a/docs/tutorial/onchain-rln-relay-chat2.md b/docs/tutorial/onchain-rln-relay-chat2.md index 6748fc516..ac2bdc307 100644 --- a/docs/tutorial/onchain-rln-relay-chat2.md +++ b/docs/tutorial/onchain-rln-relay-chat2.md @@ -1,7 +1,7 @@ # Spam-protected chat2 application with on-chain group management This document is a tutorial on how to run the chat2 application in the spam-protected mode using the Waku-RLN-Relay protocol and with dynamic/on-chain group management. -In the on-chain/dynamic group management, the state of the group members i.e., their identity commitment keys is moderated via a membership smart contract deployed on the Sepolia network which is one of the Ethereum test-nets. +In the on-chain/dynamic group management, the state of the group members i.e., their identity commitment keys is moderated via a membership smart contract deployed on the Linea Sepolia network which is one of the test-nets. Members can be dynamically added to the group and the group size can grow up to 2^20 members. This differs from the prior test scenarios in which the RLN group was static and the set of members' keys was hardcoded and fixed. @@ -45,7 +45,7 @@ Run the following command to set up your chat2 client. --content-topic:/toy-chat/3/mingde/proto \ --rln-relay:true \ --rln-relay-dynamic:true \ ---rln-relay-eth-contract-address:0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4 \ +--rln-relay-eth-contract-address:0xB9cd878C90E49F797B4431fBF4fb333108CB90e6 \ --rln-relay-cred-path:xxx/xx/rlnKeystore.json \ --rln-relay-cred-password:xxxx \ --rln-relay-eth-client-address:xxxx \ @@ -58,11 +58,11 @@ In this command - the `rln-relay` flag is set to `true` to enable the Waku-RLN-Relay protocol for spam protection. - the `--rln-relay-dynamic` flag is set to `true` to enable the on-chain mode of Waku-RLN-Relay protocol with dynamic group management. - the `--rln-relay-eth-contract-address` option gets the address of the membership contract. - The current address of the contract is `0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4`. - You may check the state of the contract on the [Sepolia testnet](https://sepolia.etherscan.io/address/0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4). + The current address of the contract is `0xB9cd878C90E49F797B4431fBF4fb333108CB90e6`. + You may check the state of the contract on the [Linea Sepolia testnet](https://sepolia.lineascan.build/address/0xB9cd878C90E49F797B4431fBF4fb333108CB90e6). - the `--rln-relay-cred-path` option denotes the path to the keystore file described above - the `--rln-relay-cred-password` option denotes the password to the keystore -- the `rln-relay-eth-client-address` is the WebSocket address of the hosted node on the Sepolia testnet. +- the `rln-relay-eth-client-address` is the WebSocket address of the hosted node on the Linea Sepolia testnet. You need to replace the `xxxx` with the actual node's address. For `rln-relay-eth-client-address`, if you do not know how to obtain it, you may use the following tutorial on the [prerequisites of running on-chain spam-protected chat2](./pre-requisites-of-running-on-chain-spam-protected-chat2.md). @@ -166,7 +166,7 @@ You can check this fact by looking at `Bob`'s console, where `message3` is missi **Alice** ```bash -./build/chat2 --fleet:test --content-topic:/toy-chat/3/mingde/proto --rln-relay:true --rln-relay-dynamic:true --rln-relay-eth-contract-address:0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4 --rln-relay-cred-path:rlnKeystore.json --rln-relay-cred-password:password --rln-relay-eth-client-address:https://sepolia.infura.io/v3/12345678901234567890123456789012 --ports-shift=1 +./build/chat2 --fleet:test --content-topic:/toy-chat/3/mingde/proto --rln-relay:true --rln-relay-dynamic:true --rln-relay-eth-contract-address:0xB9cd878C90E49F797B4431fBF4fb333108CB90e6 --rln-relay-cred-path:rlnKeystore.json --rln-relay-cred-password:password --rln-relay-eth-client-address:https://sepolia.infura.io/v3/12345678901234567890123456789012 --ports-shift=1 ``` ``` @@ -209,7 +209,7 @@ your rln identity commitment key is: bd093cbf14fb933d53f596c33f98b3df83b7e9f7a19 **Bob** ```bash -./build/chat2 --fleet:test --content-topic:/toy-chat/3/mingde/proto --rln-relay:true --rln-relay-dynamic:true --rln-relay-eth-contract-address:0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4 --rln-relay-cred-path:rlnKeystore.json --rln-relay-cred-index:1 --rln-relay-cred-password:password --rln-relay-eth-client-address:https://sepolia.infura.io/v3/12345678901234567890123456789012 --ports-shift=2 +./build/chat2 --fleet:test --content-topic:/toy-chat/3/mingde/proto --rln-relay:true --rln-relay-dynamic:true --rln-relay-eth-contract-address:0xB9cd878C90E49F797B4431fBF4fb333108CB90e6 --rln-relay-cred-path:rlnKeystore.json --rln-relay-cred-index:1 --rln-relay-cred-password:password --rln-relay-eth-client-address:https://sepolia.infura.io/v3/12345678901234567890123456789012 --ports-shift=2 ``` ``` diff --git a/docs/tutorial/rln-keystore-generator.md b/docs/tutorial/rln-keystore-generator.md index a9643ffb5..4ce7008dc 100644 --- a/docs/tutorial/rln-keystore-generator.md +++ b/docs/tutorial/rln-keystore-generator.md @@ -21,9 +21,9 @@ It is meant to be used to generate and persist a set of valid RLN credentials to 2. Define the arguments you wish to use ```bash - export RPC_URL="https://sepolia.infura.io/v3/..." + export RPC_URL="https://linea-sepolia.infura.io/v3/..." export PRIVATE_KEY="0x..." - export RLN_CONTRACT_ADDRESS="0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4" + export RLN_CONTRACT_ADDRESS="0xB9cd878C90E49F797B4431fBF4fb333108CB90e6" export RLN_CREDENTIAL_PATH="rlnKeystore.json" export RLN_CREDENTIAL_PASSWORD="xxx" ```