Anon v.2.2.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.
See important security warnings in doc/security-warnings.md.
Anon is unfinished and highly experimental. Use at your own risk.
Anon, 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 Anon client. It downloads and stores the entire history of Anon 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).
To DOWNLOAD pre-built binaries, visit RELEASES.
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.
Update System:
sudo apt-get update
sudo apt-get upgrade
Get 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
Build:
# 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
Run:
./src/anond
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
and add:
[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
- Installation
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
Get dependencies:
# 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
Install:
# 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:
./src/anon-cli help
The 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.
- Discord: https://discord.gg/hjeBaBx
- Telgram: https://t.me/anonymousbitcoin
For more information regarding the disclosure of vulnerabilities within ANON, please refer to the disclosure page.
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.