curl -L https://foundry.paradigm.xyz | bash
foundryup
forge build
forge test
You can change values (env variables) used for
the contract initialization in .env
file.
To deploy to Goerli:
source .env
forge script script/RLN.s.sol:RLNScript --rpc-url $GOERLI_RPC_URL --broadcast --etherscan-api-key <YOUR-API-KEY> --verifier-url https://api-goerli.etherscan.io//api --verify -vvvv --private-key <YOUR-PRIVATE-KEY>
This will also verify contracts on Etherscan.
RLN is a zero-knowledge gadget that enables spam prevention in anonymous environments.
The core parts of RLN are:
- zk-circuits in Circom;
- registry smart-contract (this repo);
- set of libraries to build app with RLN (rlnjs, zerokit).
To learn more on RLN and how it works - check out documentation.