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

About

Heiswap Dapp

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

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