443cbfc9c4 | ||
---|---|---|
.github | ||
.husky | ||
certora | ||
deployments | ||
lib | ||
script | ||
src | ||
test | ||
.editorconfig | ||
.env.example | ||
.eslintignore | ||
.eslintrc.js | ||
.gas-snapshot | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.npmignore | ||
.prettierignore | ||
.prettierrc | ||
.prettierrc.yml | ||
.solcover.js | ||
.solhint.json | ||
.solhintignore | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
LICENSE.md | ||
PROPERTIES.md | ||
README.md | ||
codecov.yml | ||
foundry.toml | ||
package.json | ||
pnpm-lock.yaml | ||
remappings.txt | ||
slither.config.json |
README.md
rln-contract
A Foundry-based project for Rate Limiting Nullifiers.
Getting Started
pnpm install # install Solhint, Prettier, and other Node.js deps
forge install # install Foundry's dependencies
If this is your first time with Foundry, check out the installation instructions.
Usage
Compilation
forge build
Format
forge fmt
Clean
Deletes the build artifacts and cache directories:
forge clean
Gas Usage
Get a gas report:
forge test --gas-report
Test
Run the tests:
forge test
Deployment
Ensure you setup the .env file with the correct values mentioned in the .env.example file.
./script/deploy.sh rln <network>
Where <network>
is one of -
sepolia
polygon-zkevm
This will deploy the RLN contract, with its associated libraries to the specified network. If forge supports the network, it will also verify the contract on the block explorer.
License
This project is dual licensed under MIT and APACHE-2.0.