Anonymous Bitcoin v.1.3.0
ANON is an implementation of the zerocash protocol, bootstrapped with a merge of the Official Bitcoin and Zclassic UTXO sets via a snapshot and airdrop, and with the additional implementation of masternodes.
Table of Contents
See important security warnings in doc/security-warnings.md.
Anonymous Bitcoin is unfinished and highly experimental. Use at your own risk.
Anonymous Bitcoin, like Zclassic and Zcash, is an implementation of the "Zerocash" protocol. Based on Zclassic's code, it intends to offer a far higher standard of privacy through a sophisticated zero-knowledge proving scheme that preserves confidentiality of transaction metadata. Technical details are available in the Zcash Protocol Specification.
This software is the Anonymous Bitcoin client. It downloads and stores the entire history of Anonymous Bitcoin transactions. Depending on the speed of your computer and network connection, the synchronization process could take a day or more once the blockchain has reached a significant size.
It includes both
anond (the daemon) and
anon-cli (the command line tools).
Build the latest version of ANON using the instructions below, then follow the testnet guide
Please note the Tesnet is running on p2p port: 33129
You should take the appropriate measures to open this port on your firewall to allow incoming/outgoing connections on this port.
sudo apt-get update sudo apt-get upgrade
sudo apt-get install \ build-essential pkg-config libc6-dev m4 g++-multilib \ autoconf libtool ncurses-dev unzip git python \ zlib1g-dev wget bsdmainutils automake
# Checkout git clone https://github.com/anonymousbitcoin/anon.git cd anon # Build # if this fails. run the same command, instead without the '-j$(nproc)' ./anonutil/build.sh -j$(nproc) # Fetch Zcash ceremony keys ./anonutil/fetch-params.sh
Create Config File:
mkdir ~/.anon touch ~/.anon/anon.conf vi ~/.anon/anon.conf
Add following lines to
anon.conf and be sure to change the rpcpassword:
rpcuser=anonrpc rpcpassword=set-a-password rpcallowip=127.0.0.1 txindex=1
Windows is not a fully supported build - however there are two ways to build ANON for Windows:
- On Linux using Mingw-w64 cross compiler tool chain. Ubuntu 16.04 Xenial is proven to work and the instructions is for such release.
- On Windows 10 (64-bit version) using Windows Subsystem for Linux (WSL) and Mingw-w64 cross compiler tool chain.
With Windows 10, Microsoft released a feature called WSL. It basically allows you to run a bash shell directly on Windows in an ubuntu environment. WSL can be installed with other Linux variants, but as mentioned before, the distro proven to work is Ubuntu. Follow this link for installing WSL first
- Get the usual dependencies:
sudo apt-get install \ build-essential pkg-config libc6-dev m4 g++-multilib \ autoconf libtool ncurses-dev unzip git python \ zlib1g-dev wget bsdmainutils automake make cmake mingw-w64
- Set the default mingw32 gcc/g++ compiler option to posix, fix problem with packages in Xenial
sudo apt install software-properties-common sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu zesty universe" sudo apt update sudo apt upgrade sudo update-alternatives --config x86_64-w64-mingw32-gcc sudo update-alternatives --config x86_64-w64-mingw32-g++
- Install Rust
curl https://sh.rustup.rs -sSf | sh source ~/.cargo/env rustup install stable-x86_64-unknown-linux-gnu rustup install stable-x86_64-pc-windows-gnu rustup target add x86_64-pc-windows-gnu vi ~/.cargo/config
[target.x86_64-pc-windows-gnu] linker = "/usr/bin/x86_64-w64-mingw32-gcc"
Note that in WSL, the Anon source code must be somewhere in the default mount file system. i.e /usr/src/anon, and not on /mnt/d/. What this means is that you cannot build directly on the windows system
- Build for Windows
# Checkout git clone https://github.com/anonymousbitcoin/anon.git cd anon PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var ./anonutil/build-win.sh
If compiling on linux, use the following command to build the executables in `./depends/x86_64-w64-mingw32/bin/
sudo make install DESTDIR=
If compiling using WSL, use the following command to build the executables in `c:\anon\anon
sudo make install DESTDIR=/mnt/c/anon/anon
# Install xcode xcode-select --install /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install cmake autoconf libtool automake libevent coreutils pkgconfig gmp wget brew install gcc5 --without-multilib
# Checkout git clone https://github.com/anonymousbitcoin/anon.git cd anon # Build ./anonutil/build-mac.sh -j$(sysctl -n hw.physicalcpu) # Fetch keys ./anonutil/fetch-params.sh # Run ./src/anond
If you plan to build for windows and linux at the same time, be sure to delete all the built files for whatever you build first. An easy way to do this is by taking the binaries out of the repo, delete all files except the .git folder and then do a git hard reset.
When modifying your
anon.conf file, refer to the following guide for aditional parameters.
After installing the full node, you can access the cli in the
/src/ directory with the following command:
help command will pull up all of the avaliable RPC commands that can be executed through the terminal.
To set up a masternode, refer to the following guide.
- Visit the Discord or Telegram servers for help and more information.
For more information regarding the disclosure of vulnerabilities within ANON, please refer to the disclosure page.
Contributing to this project
Anyone and everyone is welcome to contribute. Please take a moment to review the guidelines for contributing.
Please note, issues submitted on platforms such as Reddit, Discord or Telegram will not be considered issues unless they are officially posted on the ANON issues page.
If editing the Readme, please conform to the standard-readme specification.
For license information see the file COPYING.