A sample application for private and untraceable transactions on EOS(IO). This application is deployed to the Kylin Testnet as the ZEOS Demo Application
See also:
This application was developed and deployed to the Kylin testnet as proof-of-concept for the ZEOS project. It is a simple and straight forward implementation of a protocol for untraceable transfers of fungible tokens on EOSIO blockchains. It is inspired by and almost exactly implemented as the Nightfall protocol for private transactions on Ethereum based on zk-SNARK.
To setup the full workspace clone the dependencies rustzeos, bellman, the smart contract and the JS wallet as well:
mkdir zeos
cd zeos
git clone https://github.com/mschoenebeck/rustzeos.git
git clone https://github.com/mschoenebeck/bellman.git
git clone https://github.com/mschoenebeck/thezeostoken.git
cd thezeostoken && git checkout sapling && cd ..
git clone https://github.com/mschoenebeck/zeos-wallet.git
cd zeos-wallet && git checkout sapling && cd ..
Clone this repository:
git clone https://github.com/mschoenebeck/zeos-sapling.git
cd zeos-sapling
Build the project as Rust library:
cargo build
Build the project as wasm32 library:
make
If you have cloned the JS Wallet repository as well (as described in the first step) you can install the compiled wasm32 library to the JS application by running:
make install
If you need help join us on Telegram.
Matthias Schönebeck
It's open source. Do with it whatever you want.
Big thanks to EY Blockchain for their awesome whitepaper and, of course, to the Electric Coin Company for developing, documenting and maintaining this awesome open source codebase for zk-SNARKs!