Privacy-first js tooling for the Ethereum ecosystem. For rust crates see sister rust repo
[!IMPORTANT]
Some parts of this project are work in progress and NOT READY FOR PRODUCTION USE. Packages contain UNAUDITED CODE. Consult underlying package READMEs for more detailed information.
Repository Structure
| Package | Status | Description | | ----------------------------------------------------| ------ | -------------------------------------------- | | @kohaku-eth/railgun | 🚧 | railgun shielded pool protocol lib (currently under mainenance) | | @kohaku-eth/tornado-cash | ✅ | tornado cash shielded pool protocol lib | | @kohaku-eth/privacy-pools | ✅ | privacy pools shielded pool protocol lib | | @kohaku-eth/plugins | ✅ | shielded pool protocols standardized plugin interface | | @kohaku-eth/provider | ✅ | provider abstraction (ethers, viem, helios, colibri) | | @kohaku-eth/social-recovery | 🚧 | social recovery SDK (interfaces only) | | @kohaku-eth/pq-account | ✅ | post-quantum 4337 account implementation |
Development
Navigate to the README in each package in packages/ for package specific details.
In general, easiest way to have a stable dev environment is to use nix. Install Nix here
then run:
nix develop --extra-experimental-features "nix-command flakes" --command $SHELL
fill your .env file in the root dir manually (with the vars in .env.sample) OR get a maintainer to register a sops key for you, so you can decrypt env secrets directly.