Go to file
J62 70282894fc
Merge pull request #248 from interbiznw/master
Add Chain Notice
2020-10-08 01:28:52 -07:00
.github RPC man ZCL->BTCP, errors, links, BTCprivate->BTCPrivate 2018-02-24 18:32:32 -06:00
btcputil Updated Params URL to new server 2019-09-12 21:41:17 +02:00
build-aux/m4 Remove QT gunk from Makefiles. 2017-03-07 19:15:08 +00:00
contrib Algo change update. Implemented - 192/7 Param Change, LWMA-1 Diff Adjustment, Configurable Block Maturity, Updated version 2019-10-12 00:13:03 +02:00
depends Fix libsodium depends url 2018-10-16 13:13:57 -05:00
doc Updated ascii art + btcpd security-warnings.md 2018-03-08 15:52:38 -06:00
qa Closes #2446 by adding generated field to listunspent. 2018-02-28 14:02:20 -05:00
share Remove some more QT-related stragglers. 2017-03-07 19:15:08 +00:00
src Merge pull request #239 from interbiznw/master 2019-10-16 19:10:15 -07:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore RPC man ZCL->BTCP, errors, links, BTCprivate->BTCPrivate 2018-02-24 18:32:32 -06:00
.travis.yml Remove redundant gui options from build scripts 2017-03-10 10:35:23 -08:00
COPYING Update Versions and Protocol Version 2019-09-12 21:44:03 +02:00
INSTALL resolved PR #13 merge conflicts 2017-12-28 03:23:32 -05:00
Makefile.am Renamed: 2017-12-28 02:12:59 -05:00
README.md Update README.md 2020-10-08 01:28:04 -07:00
autogen.sh Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems 2014-10-03 23:45:26 +00:00
code_of_conduct.md Update code_of_conduct.md 2018-03-13 07:24:24 -04:00
configure.ac Algo change update. Implemented - 192/7 Param Change, LWMA-1 Diff Adjustment, Configurable Block Maturity, Updated version 2019-10-12 00:13:03 +02:00
fork-instructions.md Update fork-instructions.md 2018-03-03 00:04:09 -05:00
libzcashconsensus.pc.in Zcash -> BTCPrivate for introductory docs, AC_INIT package name is now BTCPrivate 2017-12-27 19:57:02 -05:00

README.md

Bitcoin Private

** 10/8/2020 - Current chain offline - New code and chain coming soon **

Bitcoin Private v1.0.15

P2P Port: 7933

RPC Port: 7932

Bitcoin Private is a fork of Zclassic, merging in a snapshotted UTXO set of Bitcoin. BTCP is financial freedom.

Build

Linux

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/BTCPrivate/BitcoinPrivate.git
cd BitcoinPrivate
# Build
./btcputil/build.sh -j$(nproc)
# Fetch Zcash ceremony keys
./btcputil/fetch-params.sh

Create Config File:

mkdir ~/.btcprivate
touch ~/.btcprivate/btcprivate.conf
vi ~/.btcprivate/btcprivate.conf

Add following lines to btcprivate.conf and be sure to change the rpcpassword:

rpcuser=btcprivaterpc
rpcpassword=set-a-password
rpcallowip=127.0.0.1
#addnode=dnsseed.btcprivate.org
#addnode=dnsseed.btcprivate.co

Get backup chain parameters (this will speed up syncing and is optional) (Ideally this step would be skipped to ensure integrity throughout the network) (However, this is a backup from the official Electrumx server 29th September 2019)

cd ~/.btcprivate 
wget https://params.btcprivate.org/chainstate.tar.gz 
tar -zxvf chainstate.tar.gz 
cd ~/BitcoinPrivate 

Run:

./src/btcpd

Windows

Windows is not a fully supported build - however there are two ways to build BTCP 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

Building for Windows 64-Bit

  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 BTCPrivate source code must be somewhere in the default mount file system. i.e /usr/src/BTCPrivate, and not on /mnt/d/. What this means is that you cannot build directly on the windows system

  1. Build for Windows
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') # strip out problematic Windows %PATH% imported var
./btcputil/build-win.sh -j$(nproc)
  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:\btcp\BTCPrivate

sudo make install DESTDIR=/mnt/c/btcp/BTCPrivate

Building for Mac

  1. Install xcode.
xcode-select --install
  1. Install HomeBrew.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. Install Dependencies with HomeBrew.
brew install cmake autoconf libtool automake coreutils pkgconfig gmp wget
  1. Install gcc5 with HomeBrew. (** IF USING XCODE 10+ remove --without-multilib flag**)
brew install gcc5 --without-multilib
  1. Clone the Bitcoin Private repo to your computer.
git clone https://github.com/BTCPrivate/BitcoinPrivate.git
  1. Change to BitcoinPrivate Directory.
cd BitcoinPrivate
  1. Build Bitcoin Private Daemon code.
./btcputil/build-mac.sh -j$(sysctl -n hw.physicalcpu)
  1. Fetch key & Params.
./btcputil/fetch-params.sh
  1. Run the Bitcoin Private Daemon that was just built.
./src/btcpd

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.

Testnet

Build the latest version of BTCP using the instructions below, then follow the testnet guide

About

Bitcoin Private, 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 Bitcoin Private client. It downloads and stores the entire history of Bitcoin Private 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 btcpd (the daemon) and btcp-cli (the command line tools).

Security Warnings

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

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

Deprecation Policy

This release is considered deprecated 16 weeks after the release day. There is an automatic deprecation shutdown feature which will halt the node some time after this 16 week time period. The automatic feature is based on block height and can be explicitly disabled.

Where do I begin?

We have a guide for joining the main Bitcoin Private network: https://github.com/zcash/zcash/wiki/1.0-User-Guide

Need Help?

Want to participate in development?

  • Code review is welcome!
  • If you want to get to know us join our Discord: https://discord.gg/9xezcaK
  • We have a brief guide for joining the Bitcoin private testnet here

Participation in the Bitcoin Private project is subject to a Code of Conduct.

Building

Build BTCP along with most dependencies from source by running ./btcputil/build.sh. Currently only Linux is officially supported.

License

For license information see the file COPYING.