| Branch | Status | URL |
|---|---|---|
| master | heiswap.exchange |
Heiswap (黑 swap) is an Ethereum transaction mixer that ultilizes parts of CryptoNote to enable zero-knowledge transactions.
It ulitilizes Ring Signatures and pseudo-stealth addresses to achieve its zero-knowledge properties. The deployed smart contract handles the signature verification, while the client is responsible for generating the pseudo-stealth address.
Ring signatures was only possible on the EVM (gas-wise) due to the recent addition of EIP198 and EIP1895.
You can play with the Ropsten version right now.
Project is a standard create-react-app project, using truffle to compile, migrate and deploy contracts.
Solidity files are located in contracts, and compiled to src/contracts
Run yarn start to run the project.
The proof-of-concept repository is located here.
- Deploy to etherscan. (
truffle migrate --network ropsten)- Remember to export ENV vars
ETH_SKandINFURA_KEY
- Remember to export ENV vars
- Install truffle-flattener
- Flatten source files:
truffle-flattener contracts/AltBn128.sol contracts/Heiswap.sol contracts/LSAG.sol > /tmp/etherscan.sol - Upload single large file (
/tmp/etherscan.sol) on to etherscan to verify, remember to add the library addresses fromsrc/contracts/Heiswap.json->links.
This project would not have been possible without the existence of other open sourced projects, most notably