TumbleBit Implementation in .NET Core
C# HTML

README.md

NTumbleBit

TumbleBit implementation in .NET Core.

Check out the in-depth user guide on the Wiki

Trailer/Motivation

IMAGE ALT TEXT HERE

Resources

Cross-platform library, based on "TumbleBit: An Untrusted Bitcoin-Compatible Anonymous Payment Hub". Another implementation can be found on the official repository of TumbleBit. An "easy" to understand explanation of the protocol has been presented by Ethan Heilman and Leen Al Shenibr at Scaling Bitcoin Milan.

Requirements

This implementation is compatible with .NETCore 1.1 (as of today counter intuitively named dotnet-dev-1.0.0-preview2.1-003177) and works on Windows, Linux, Mac or Docker.

You need to install dotnet core on your system as instructed on .NET Core installation guide.

You will also need a synchronized Bitcoin Full node (pruned nodes also work), with the RPC server running.

Project status

The current version has an implementation of:

  • Puzzle Solver Algorithm
  • Puzzle Promise Algorithm
  • TumbleBit: Classic Tumbler Mode

What is next

  1. TOR integration for Tumbler server and client
  2. Localhost website as user interface for Tumbler server and Tumbler Client.
  3. TumbleBit: Uni-directional Paymen Hub Mode

Developing on Linux or Mac

We recommend that you use Visual Studio Code, which is free IDE supporting C# development and testing.

Developing on Windows

We recommend that you use Visual Studio 2015 Update 3 (free) for building and running the tests. You can of course use Visual use command line or Visual Studio Code as well.

Acknowledgements

Special thanks to Ethan Heilman and Leen AlShenibr for their work, their research and proof of work made this project possible.