Skip to content

daboooooo/heiswap-dapp

 
 

Repository files navigation

Heiswap Dapp

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.

You can play with the Ropsten version right now.

Development

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.

Verifying Contract on Etherscan

  1. Deploy to etherscan. (truffle migrate --network ropsten)
    • Remember to export ENV vars ETH_SK and INFURA_KEY
  2. Install truffle-flattener
  3. Flatten source files: truffle-flattener contracts/AltBn128.sol contracts/Heiswap.sol contracts/LSAG.sol > /tmp/etherscan.sol
  4. Upload single large file (/tmp/etherscan.sol) on to etherscan to verify, remember to add the library addresses from src/contracts/Heiswap.json -> links.

Special Thanks

This project would not have been possible without the existence of other open sourced projects, most notably

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.7%
  • HTML 2.8%
  • CSS 0.5%