Application to manage Waku RLN keystores.
This app is a fully static site. To build and deploy:
- Install dependencies:
npm install
- Build the static site:
The static site will be output to the
npm run build
out/
directory. - Deploy the contents of the
out/
directory to any static host (e.g., Netlify, Vercel static, GitHub Pages, S3, etc.).
This application provides an interface for managing keystores for Waku's rate-limiting nullifier (RLN) functionality. It integrates with MetaMask for wallet connectivity.
- Connect to MetaMask wallet with dropdown menu for account details
- Terminal-inspired UI with cyberpunk styling
- View wallet information including address, network, and balance
- Support for Linea Sepolia testnet only
- Keystore management with copy, view, export, and remove functionality
- Token approval for RLN membership registration
- Light/standard RLN implementation toggle
This application is configured to use ONLY the Linea Sepolia testnet. If you don't have Linea Sepolia configured in your MetaMask, the application will help you add it with the following details:
- Network Name: Linea Sepolia Testnet
- RPC URL: https://rpc.sepolia.linea.build
- Chain ID: 59141
- Currency Symbol: ETH
- Block Explorer URL: https://sepolia.lineascan.build
You can get Linea Sepolia testnet ETH from the Linea Faucet.
When registering for RLN membership, you'll need to complete two transactions:
- Token Approval: First, you'll need to approve the RLN contract to spend tokens on your behalf. This is a one-time approval.
- Membership Registration: After approval, the actual membership registration transaction will be submitted.
If you encounter an "ERC20: insufficient allowance" error, it means the token approval transaction was not completed successfully. Please try again and make sure to approve the token spending in your wallet.
- Waku Testnet Tokens: 0x185A0015aC462a0aECb81beCc0497b649a64B9ea
- RLN Registration Contract: 0xB9cd878C90E49F797B4431fBF4fb333108CB90e6
- add info about using with nwaku/nwaku-compose/waku-simulator
- fix rate limit fetch
- fix membership management methods
- define epoch / quanity epoch
- alias for individual credentials
- remove export keystore method (if >1 credentials in keystore)
PRs should be made for develop
branch and master
should be rebased on develop
once changes are verified.
- CI builds
master
and pushes todeploy-master
branch, which is hosted at https://rln.waku.org/. - CI builds
develop
and pushes todeploy-develop
branch, which is hosted at https://dev-rln.waku.org/.
The hosting is done using nextjs-website
Ansible role in infra-sites
.