Skip to content

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

Notifications You must be signed in to change notification settings

alinush/catena-java

Repository files navigation

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:

./install-deps.sh

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

Then, compile Catena:

mvn compile

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

. set-env.sh

Then, run all the tests:

./test.sh

Or, run only some of the tests:

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

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

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: https://tpfaucet.appspot.com/
  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:

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published