Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Catena: Preventing Lies with Bitcoin

Catena can be used by any service or application who wants to prove a linear history of statements to its clients.

How to run on Linux

First, install Maven and other dependencies:


If you're on Mac OS X, download the Bitcoin source code from GitHub to ~/repos/bitcoin/ (you can change if you want to choose a different directory) and compile the bitcoind binary using instructions in doc/

Then, compile Catena:

mvn compile

Then, setup your environment so that the Bitcoin-related scripts in btc-scripts/ work:


Then, run all the tests:


Or, run only some of the tests:

./ -Dtest=ReadChainTest
./ -Dtest=WriteChainTest#testRestartReuseWallet

Then you can run a Catena server using ./ (pass in -h for help) and a Catena client using ./

Eclipse project

You can edit the Catena source code using Eclipse Neon 4.6.0. Project files are in this repository, you just have to import them in Eclipse.

Bitcoin testnet

You can play with Catena on the Bitcoin testnet network for free:

  1. Get testnet Bitcoins from a free faucet like this one:
  2. Start the server and create a root-of-trust TXN (example here)
  3. Use the server to create a config for the Catena client
  4. Launch the client with the config file and wait for the statements to arrive

Some websites:


Our Java implementation of Catena, a Bitcoin-based consensus log (also known as a witnessing scheme, or non-equivocation scheme, or "micro-blockchain")






No releases published


No packages published