Go to file
J62 c8c7fe6ac2
Update chainparams.cpp
2018-10-24 22:17:57 -07:00
.github Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
.travis travis: set codespell version to avoid breakage 2018-10-03 18:59:03 -03:00
.tx tx: Update transifex slug 016x→017x 2018-08-02 13:42:15 +02:00
build-aux/m4 Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
build_msvc appveyor: Use clcache to speed up build 2018-09-03 23:55:00 +08:00
contrib Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
depends Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
doc Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
scripts Remove pow/tromp/* for Travis err 'No rule to make target 'pow/tromp/equi_miner.h'' 2018-10-14 20:49:12 -05:00
share Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
src Update chainparams.cpp 2018-10-24 22:17:57 -07:00
test Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
.appveyor.yml appveyor: trivial build cache modifications 2018-10-05 13:46:40 +08:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore [build] Remove .vscode and add to .gitignore 2018-08-02 12:10:54 -05:00
.gitmodules [primitives] Add Joinsplit primitives 2018-06-03 15:27:02 -04:00
.travis.yml qa: Run more tests with wallet disabled 2018-09-25 18:08:08 -04:00
CONTRIBUTING.md doc: add note to contributor docs about warranted PR's 2018-07-30 23:47:46 +09:00
COPYING [cleanup] replace brackets in includes, update copyrights and use std::array instead of boost::array 2018-06-04 07:22:39 -04:00
INSTALL.md Update INSTALL landing redirection notice for build instructions. 2016-10-06 12:27:23 +13:00
Makefile.am Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
README.md Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
autogen.sh Add "export LC_ALL=C" to all shell scripts 2018-06-14 15:27:52 +02:00
configure.ac Merge remote-tracking branch 'btc/master' into upstream-merge 2018-10-16 22:27:53 -05:00
libbitcoinconsensus.pc.in Unify package name to as few places as possible without major changes 2015-12-14 02:11:10 +00:00

README.md

Bitcoin Private Rebase

IN DEVELOPMENT - FOR TESTING ONLY - DO NOT USE IN PRODUCTION

This is currently in development software, not all consensus rules have been implemented. You should NOT rely on this in production yet, for production use cases please use https://github.com/BTCPrivate/BitcoinPrivate/

Development Status

Build Status

This Bitcoin Private cryptocurrency daemon and cli tools should build on linux and sync the full BTCP mainnet chain. Z addresses, wallet code, and tests are not fully working yet and should be considered unstable.

Build Instructions

Linux (>= Ubuntu 16.04):

sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev
cd scripts
./build.sh

Or alternatively:

./autogen.sh
cd depends
make HOST=x86_64-unknown-linux-gnu
cd ..
./configure --prefix=$PWD/depends/x86_64-unknown-linux-gnu
make

This will build all the dependencies and bootstrap a linux build. There are several options you can use:

  • --disable-wallet
  • --without-gui
  • --help

MacOS (High Sierra):

You must first install libomp (Apple's version of Clang does not have support for OpenMP included); you can do that via the following Terminal commands:

Install XCode:

xcode-select --install

Install Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Install libomp:

brew install libomp

Then, run scripts/build-mac.sh to compile.

What is the Bitcoin Private Rebase?

Bitcoin Private is currently based primarily on the Zcash codebase, which itself is a snapshot of Bitcoin dating to mid-2015. Most z protocol coins all rely on this same code, which is now missing roughly 3 years of blockchain upgrades that have been integrated into Bitcoin. Based on the structure of Zcash, and because theres now a 3 year code divergence, integrating blockchain upgrades developed in bitcoin core into any z protocol coin has become increasingly cumbersome.

We endeavor a complete refactoring of Bitcoin Private to allow for more facile incorporation of Bitcoin upstream changes. This release will coincide with activation of full SegWit support, giving the BTCP more scale both on chain as well as enabling off-chain protocols such as the lightning network and cross-chain swaps. Additionally, it will bring another 3 years of upgrades to the core node including stability and speed improvements as well as a number of usability enhancements to the reference wallet including support for hierarchical deterministic wallets (for shielded and transparent addresses) and wallet encryption.

Learn more about the rebase at https://btcprivate.org/roadmap.

License

Bitcoin Private is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python, that are run automatically on the build server. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The Travis CI system makes sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

Translations

Changes to translations as well as new translations can be submitted to the issue tracker. We will be adding transifex support at a later point in time, and for now porting those changes directly from Bitcoin Core.