The Official Repository for ANON cryptocurrency
Clone or download
thedon-chris Merge pull request #72 from anonymousbitcoin/fix/issues
Add CONTRIBUTING.md file, update readme for issue submission
Latest commit 457e1a4 Nov 2, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github cleaned up issue template.md for testnet Aug 12, 2018
anonutil Add correct links to keys and depends sources Sep 19, 2018
build-aux/m4 Remove QT gunk from Makefiles. Mar 7, 2017
contrib Testnet Release Day minor bug fixes Aug 11, 2018
depends Add https://assets.anonfork.io/depends-sources/ to make file Oct 2, 2018
doc Update readme. Sep 14, 2018
qa Add https://assets.anonfork.io/depends-sources/ to make file Oct 2, 2018
share Remove some more QT-related stragglers. Mar 7, 2017
src Merge pull request #74 from anonymousbitcoin/fix/getmnpaystring Nov 2, 2018
.gitattributes Separate protocol versioning from clientversion Oct 29, 2014
.gitignore final removal of loose comments Aug 11, 2018
.travis.yml Fix merge conflicts Aug 28, 2018
CONTRIBUTING.md Add CONTRIBUTING.md file, update readme for issue submission Oct 16, 2018
COPYING Testnet Release Day minor bug fixes Aug 11, 2018
INSTALL Testnet Release Day minor bug fixes Aug 11, 2018
MNUpdaterTestnet.sh Fix merge conflicts Aug 28, 2018
Makefile.am Testnet Release Day minor bug fixes Aug 11, 2018
README.md Add CONTRIBUTING.md file, update readme for issue submission Oct 16, 2018
autoDeploy.sh final removal of loose comments Aug 11, 2018
autogen.sh Bugfix: Replace bashisms with standard sh to fix build on non-BASH sy… Oct 3, 2014
code_of_conduct.md Reformat README.md, update links and content for guides Sep 8, 2018
configure.ac Testnet Release Day minor bug fixes Aug 11, 2018
libzcashconsensus.pc.in testing stable build, also new logo Aug 2, 2018
nodeUpdaterTestnet.sh Fix merge conflicts Aug 28, 2018
r:q! Change mainnet magic and port for the beta testing Sep 4, 2018

README.md

ANON

Build Status

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

Security

See important security warnings in doc/security-warnings.md.

Anonymous Bitcoin is unfinished and highly experimental. Use at your own risk.

Background

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).

To DOWNLOAD pre-built binaries, visit RELEASES.

Build

Testnet

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.

Linux

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

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

  1. 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
  1. 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++
  1. 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

  1. 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
  1. 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

Mac

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

Additional notes

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.

Usage

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.

Masternodes

To set up a masternode, refer to the following guide.

Contact

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.

License

For license information see the file COPYING.