Skip to content
A Zerocash based private token (and asset) implementation that integrates with both Ethereum and HL Fabric - create private tokens on smart contract consortium blockchains
C++ JavaScript Go Python Shell AppleScript Other
Branch: master
Clone or download

Latest commit


Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci init submodules on ci Jul 17, 2019
cpp fixed URL in README Oct 30, 2019
go removed unused files Jul 17, 2019
js fixed setup instructions Oct 30, 2019
.gitignore Merge branch 'lerna' Jun 15, 2019
.gitmodules wip Feb 14, 2019
Jenkinsfile typo Jul 17, 2019
LICENSE Added license file Jul 17, 2019 Update Sep 27, 2019
docker-compose.yml updated quickstart instructions with new version Jul 17, 2019


K0 is an implementation of Zerocash for smart contract platforms. Currently Ethereum and Hyperledger Fabric are supported. The protocol has been modified slightly to enable an additional use case, namely the use of a predefined private payment in a secondary smart contract. For more information please read our technical description.

WARNING! This is alpha-stage software. It has not been security-audited yet.

A quickstart guide to run some integration tests is provided below. If you want to start developing with/on K0 (not needed for the quickstart), please consult the README files in the following subdirectories:


The easiest way to see the code in action is to run the Ethereum integration tests using the provided Docker Compose file. However, first we need to run the "trusted setup", also using Docker (this might take a couple of minutes):

rm -rf /tmp/k0keys
mkdir /tmp/k0keys
for circuit in commitment transfer addition withdrawal example
  docker run -it -v /tmp/k0keys/:/tmp/k0keys/ appliedblockchain/k0-setup:v0.0.32 $circuit 4 /tmp/k0keys/${circuit}\_pk /tmp/k0keys/${circuit}_vk
  docker run -it -v /tmp/k0keys/:/tmp/k0keys/ appliedblockchain/k0-convert-vk:v0.0.32 /tmp/k0keys/${circuit}\_vk /tmp/k0keys/${circuit}\_vk_alt

Then, spin up the Docker containers:

docker-compose up -d

Monitor the tests:

docker-compose logs -f runner

Optional: Monitor the whole Docker Compose network (maybe in a separate terminal window):

docker-compose logs -f --tail 100

After the tests have run, shut down the network:

docker-compose down
You can’t perform that action at this time.