diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/README.md | 1 | ||||
-rw-r--r-- | doc/benchmarking.md | 49 | ||||
-rw-r--r-- | doc/build-netbsd.md | 49 | ||||
-rw-r--r-- | doc/build-osx.md | 17 | ||||
-rw-r--r-- | doc/build-unix.md | 22 | ||||
-rw-r--r-- | doc/build-windows.md | 12 | ||||
-rw-r--r-- | doc/man/bitcoin-cli.1 | 18 | ||||
-rw-r--r-- | doc/man/bitcoin-qt.1 | 44 | ||||
-rw-r--r-- | doc/man/bitcoin-tx.1 | 10 | ||||
-rw-r--r-- | doc/man/bitcoind.1 | 44 | ||||
-rw-r--r-- | doc/release-notes.md | 67 | ||||
-rw-r--r-- | doc/release-process.md | 10 |
12 files changed, 197 insertions, 146 deletions
diff --git a/doc/README.md b/doc/README.md index 988019869e..ddb239f60c 100644 --- a/doc/README.md +++ b/doc/README.md @@ -42,6 +42,7 @@ The following are developer notes on how to build Bitcoin on your native platfor - [Unix Build Notes](build-unix.md) - [Windows Build Notes](build-windows.md) - [OpenBSD Build Notes](build-openbsd.md) +- [NetBSD Build Notes](build-netbsd.md) - [Gitian Building Guide](gitian-building.md) Development diff --git a/doc/benchmarking.md b/doc/benchmarking.md index 0ba75afcda..99d36cb226 100644 --- a/doc/benchmarking.md +++ b/doc/benchmarking.md @@ -4,24 +4,49 @@ Benchmarking Bitcoin Core has an internal benchmarking framework, with benchmarks for cryptographic algorithms such as SHA1, SHA256, SHA512 and RIPEMD160. As well as the rolling bloom filter. +Running +--------------------- After compiling bitcoin-core, the benchmarks can be run with: -`src/bench/bench_bitcoin` + + src/bench/bench_bitcoin The output will look similar to: ``` -#Benchmark,count,min,max,average -RIPEMD160,448,0.001245033173334,0.002638196945190,0.002461894814457 -RollingBloom-refresh,1,0.000635000000000,0.000635000000000,0.000635000000000 -RollingBloom-refresh,1,0.000108000000000,0.000108000000000,0.000108000000000 -RollingBloom-refresh,1,0.000107000000000,0.000107000000000,0.000107000000000 -RollingBloom-refresh,1,0.000204000000000,0.000204000000000,0.000204000000000 -SHA1,640,0.000909024336207,0.001938136418660,0.001843086257577 -SHA256,256,0.002209486499909,0.008500099182129,0.004300644621253 -SHA512,384,0.001319904176016,0.002813005447388,0.002615700786312 -Sleep100ms,10,0.205592155456543,0.210056066513062,0.104166316986084 -Trig,67108864,0.000000014997003,0.000000015448112,0.000000015188842 +# Benchmark, evals, iterations, total, min, max, median +Base58CheckEncode, 5, 320000, 120.772, 7.49351e-05, 7.59374e-05, 7.54759e-05 +Base58Decode, 5, 800000, 122.833, 3.0467e-05, 3.11732e-05, 3.06304e-05 +Base58Encode, 5, 470000, 137.094, 5.81061e-05, 5.85109e-05, 5.84462e-05 +BenchLockedPool, 5, 530, 34.2023, 0.0128247, 0.0129613, 0.0129026 +CCheckQueueSpeedPrevectorJob, 5, 1400, 26.1762, 0.00365048, 0.00388629, 0.00367108 +CCoinsCaching, 5, 170000, 48.1074, 5.60229e-05, 5.72316e-05, 5.66214e-05 +CoinSelection, 5, 650, 34.6426, 0.0105801, 0.0107699, 0.010664 +DeserializeAndCheckBlockTest, 5, 160, 39.2084, 0.0483662, 0.0494199, 0.0490138 +DeserializeBlockTest, 5, 130, 23.8129, 0.0357731, 0.0373763, 0.0365858 +FastRandom_1bit, 5, 440000000, 38.1609, 1.72974e-08, 1.73882e-08, 1.73478e-08 +FastRandom_32bit, 5, 110000000, 72.8237, 1.29992e-07, 1.37014e-07, 1.30115e-07 +MempoolEviction, 5, 41000, 89.8883, 0.000432748, 0.000446857, 0.000438483 +PrevectorClear, 5, 5600, 47.9229, 0.00169952, 0.0017455, 0.00170315 +PrevectorDestructor, 5, 5700, 44.5498, 0.0015561, 0.00156977, 0.00156469 +RIPEMD160, 5, 440, 135.988, 0.0615496, 0.062268, 0.0617779 +RollingBloom, 5, 1500000, 36.5109, 4.80961e-06, 4.97463e-06, 4.85811e-06 +SHA1, 5, 570, 51.808, 0.018065, 0.0182623, 0.0181865 +SHA256, 5, 340, 8.31841, 0.00483231, 0.00499803, 0.00485486 +SHA256_32b, 5, 4700000, 10.469, 4.43441e-07, 4.47611e-07, 4.45223e-07 +SHA512, 5, 330, 33.3408, 0.02017, 0.0202554, 0.0201921 +SipHash_32b, 5, 40000000, 38.7088, 1.91103e-07, 1.96998e-07, 1.93792e-07 +Sleep100ms, 5, 10, 5.01062, 0.100131, 0.100368, 0.100147 +Trig, 5, 12000000, 5.95494, 9.78115e-08, 1.04354e-07, 9.80682e-08 +VerifyScriptBench, 5, 6300, 9.02493, 0.000285566, 0.000288433, 0.000286175 ``` +Help +--------------------- +`-?` will print a list of options and exit: + + src/bench/bench_bitcoin -? + +Notes +--------------------- More benchmarks are needed for, in no particular order: - Script Validation - CCoinDBView caching diff --git a/doc/build-netbsd.md b/doc/build-netbsd.md new file mode 100644 index 0000000000..5bf2d6b59b --- /dev/null +++ b/doc/build-netbsd.md @@ -0,0 +1,49 @@ +NetBSD build guide +====================== +(updated for NetBSD 7.0) + +This guide describes how to build bitcoind and command-line utilities on NetBSD. + +This guide does not contain instructions for building the GUI. + +Preparation +------------- + +You will need the following modules, which can be installed via pkgsrc or pkgin: + +``` +autoconf +automake +boost +db4 +git +gmake +libevent +libtool +python27 +``` + +Download the source code: +``` +git clone https://github.com/bitcoin/bitcoin +``` + +See [dependencies.md](dependencies.md) for a complete overview. + +### Building Bitcoin Core + +**Important**: Use `gmake` (the non-GNU `make` will exit with an error). + +With wallet: +``` +./autogen.sh +./configure CPPFLAGS="-I/usr/pkg/include" LDFLAGS="-L/usr/pkg/lib" BOOST_CPPFLAGS="-I/usr/pkg/include" BOOST_LDFLAGS="-L/usr/pkg/lib" +gmake +``` + +Without wallet: +``` +./autogen.sh +./configure --disable-wallet CPPFLAGS="-I/usr/pkg/include" LDFLAGS="-L/usr/pkg/lib" BOOST_CPPFLAGS="-I/usr/pkg/include" BOOST_LDFLAGS="-L/usr/pkg/lib" +gmake +``` diff --git a/doc/build-osx.md b/doc/build-osx.md index 3e243933c8..2b84c7cc2c 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -90,23 +90,6 @@ Other commands: ./src/bitcoin-cli --help # Outputs a list of command-line options. ./src/bitcoin-cli help # Outputs a list of RPC commands when the daemon is running. -Using Qt Creator as IDE ------------------------- -You can use Qt Creator as an IDE, for bitcoin development. -Download and install the community edition of [Qt Creator](https://www.qt.io/download/). -Uncheck everything except Qt Creator during the installation process. - -1. Make sure you installed everything through Homebrew mentioned above -2. Do a proper ./configure --enable-debug -3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project -4. Enter "bitcoin-qt" as project name, enter src/qt as location -5. Leave the file selection as it is -6. Confirm the "summary page" -7. In the "Projects" tab select "Manage Kits..." -8. Select the default "Desktop" kit and select "Clang (x86 64bit in /usr/bin)" as compiler -9. Select LLDB as debugger (you might need to set the path to your installation) -10. Start debugging with Qt Creator - Notes ----- diff --git a/doc/build-unix.md b/doc/build-unix.md index af567cadeb..b823c23e0c 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -2,7 +2,8 @@ UNIX BUILD NOTES ==================== Some notes on how to build Bitcoin Core in Unix. -(for OpenBSD specific instructions, see [build-openbsd.md](build-openbsd.md)) +(For BSD specific instructions, see [build-openbsd.md](build-openbsd.md) and/or +[build-netbsd.md](build-netbsd.md)) Note --------------------- @@ -61,8 +62,13 @@ tuned to conserve memory with additional CXXFLAGS: ./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" -Dependency Build Instructions: Ubuntu & Debian ----------------------------------------------- + +## Linux Distribution Specific Instructions + +### Ubuntu & Debian + +#### Dependency Build Instructions + Build requirements: sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 @@ -104,8 +110,7 @@ ZMQ dependencies (provides ZMQ API 4.x): sudo apt-get install libzmq3-dev -Dependencies for the GUI: Ubuntu & Debian ------------------------------------------ +#### Dependencies for the GUI If you want to build Bitcoin-Qt, make sure that the required packages for Qt development are installed. Either Qt 5 or Qt 4 are necessary to build the GUI. @@ -127,8 +132,11 @@ libqrencode (optional) can be installed with: Once these are installed, they will be found by configure and a bitcoin-qt executable will be built by default. -Dependency Build Instructions: Fedora -------------------------------------- + +### Fedora + +#### Dependency Build Instructions + Build requirements: sudo dnf install gcc-c++ libtool make autoconf automake openssl-devel libevent-devel boost-devel libdb4-devel libdb4-cxx-devel python3 diff --git a/doc/build-windows.md b/doc/build-windows.md index 8af9437765..a10654c7ee 100644 --- a/doc/build-windows.md +++ b/doc/build-windows.md @@ -101,11 +101,9 @@ Note that for WSL the Bitcoin Core source path MUST be somewhere in the default example /usr/src/bitcoin, AND not under /mnt/d/. If this is not the case the dependency autoconf scripts will fail. This means you cannot use a directory that located directly on the host Windows file system to perform the build. -The next three steps are an example of how to acquire the source in an appropriate way. +Acquire the source in the usual way: - cd /usr/src - sudo git clone https://github.com/bitcoin/bitcoin.git - sudo chmod -R a+rw bitcoin + git clone https://github.com/bitcoin/bitcoin.git Once the source code is ready the build steps are below. @@ -131,11 +129,9 @@ Note that for WSL the Bitcoin Core source path MUST be somewhere in the default example /usr/src/bitcoin, AND not under /mnt/d/. If this is not the case the dependency autoconf scripts will fail. This means you cannot use a directory that located directly on the host Windows file system to perform the build. -The next three steps are an example of how to acquire the source in an appropriate way. +Acquire the source in the usual way: - cd /usr/src - sudo git clone https://github.com/bitcoin/bitcoin.git - sudo chmod -R a+rw bitcoin + git clone https://github.com/bitcoin/bitcoin.git Then build using: diff --git a/doc/man/bitcoin-cli.1 b/doc/man/bitcoin-cli.1 index 6787638443..168a68cb30 100644 --- a/doc/man/bitcoin-cli.1 +++ b/doc/man/bitcoin-cli.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH BITCOIN-CLI "1" "September 2017" "bitcoin-cli v0.15.99.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. +.TH BITCOIN-CLI "1" "January 2018" "bitcoin-cli v0.16.99.0" "User Commands" .SH NAME -bitcoin-cli \- manual page for bitcoin-cli v0.15.99.0 +bitcoin-cli \- manual page for bitcoin-cli v0.16.99.0 .SH DESCRIPTION -Bitcoin Core RPC client version v0.15.99.0 +Bitcoin Core RPC client version v0.16.99.0 .SS "Usage:" .TP bitcoin\-cli [options] <command> [params] @@ -25,6 +25,14 @@ Specify configuration file (default: bitcoin.conf) \fB\-datadir=\fR<dir> .IP Specify data directory +.HP +\fB\-getinfo\fR +.IP +Get general information from the remote server. Note that unlike +server\-side RPC calls, the results of \fB\-getinfo\fR is the result of +multiple non\-atomic requests. Some entries in the result may +represent results from different states (e.g. wallet balance may +be as of a different block from the chain state reported) .PP Chain selection options: .HP @@ -88,7 +96,7 @@ Send RPC for non\-default wallet on RPC server (argument is wallet filename in bitcoind directory, required if bitcoind/\-Qt runs with multiple wallets) .SH COPYRIGHT -Copyright (C) 2009-2017 The Bitcoin Core developers +Copyright (C) 2009-2018 The Bitcoin Core developers Please contribute if you find Bitcoin Core useful. Visit <https://bitcoincore.org> for further information about the software. diff --git a/doc/man/bitcoin-qt.1 b/doc/man/bitcoin-qt.1 index ae35d50ac3..a8c55fb0b3 100644 --- a/doc/man/bitcoin-qt.1 +++ b/doc/man/bitcoin-qt.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH BITCOIN-QT "1" "September 2017" "bitcoin-qt v0.15.99.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. +.TH BITCOIN-QT "1" "January 2018" "bitcoin-qt v0.16.99.0" "User Commands" .SH NAME -bitcoin-qt \- manual page for bitcoin-qt v0.15.99.0 +bitcoin-qt \- manual page for bitcoin-qt v0.16.99.0 .SH DESCRIPTION -Bitcoin Core version v0.15.99.0 (64\-bit) +Bitcoin Core version v0.16.99.0 (64\-bit) Usage: .IP bitcoin\-qt [command\-line options] @@ -32,7 +32,7 @@ block hash) If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: -0000000000000000003b9ce759c2a087d52abc4266f8f4ebd6d768b89defa50a, +0000000000000000005214481d2d96f898e3d5416e43359c145944a909d242e0, testnet: 0000000002e9e7b00e1f6dc5123a04aad68dd0f0968d8c7aa45f6640795c37b1) .HP @@ -52,6 +52,11 @@ Set database cache size in megabytes (4 to 16384, default: 450) .IP Imports blocks from external blk000??.dat file on startup .HP +\fB\-debuglogfile=\fR<file> +.IP +Specify location of debug log file: this can be an absolute path or a +path relative to the data directory (default: debug.log) +.HP \fB\-maxorphantx=\fR<n> .IP Keep at most <n> unconnectable transactions in memory (default: 100) @@ -76,7 +81,7 @@ Extra transactions to keep in memory for compact block reconstructions .HP \fB\-par=\fR<n> .IP -Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 = +Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-pid=\fR<file> @@ -117,7 +122,8 @@ Connection options: .HP \fB\-addnode=\fR<ip> .IP -Add a node to connect to and attempt to keep the connection open +Add a node to connect to and attempt to keep the connection open (see +the `addnode` RPC command help for more info) .HP \fB\-banscore=\fR<n> .IP @@ -136,7 +142,8 @@ for IPv6 \fB\-connect=\fR<ip> .IP Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic -connections +connections (the rules for this peer are the same as for +\fB\-addnode\fR) .HP \fB\-discover\fR .IP @@ -258,6 +265,18 @@ Tries to keep outbound traffic under the given target (in MiB per 24h), .PP Wallet options: .HP +\fB\-addresstype\fR +.IP +What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32", +default: "p2sh\-segwit") +.HP +\fB\-changetype\fR +.IP +What type of change to use ("legacy", "p2sh\-segwit", or "bech32"). +Default is same as \fB\-addresstype\fR, except when +\fB\-addresstype\fR=\fI\,p2sh\-segwit\/\fR a native segwit output is used when +sending to a native segwit address) +.HP \fB\-disablewallet\fR .IP Do not load the wallet and disable wallet RPC calls @@ -307,7 +326,7 @@ confirmation on average within n blocks (default: 6) .HP \fB\-walletrbf\fR .IP -Send transactions with full\-RBF opt\-in enabled (default: 0) +Send transactions with full\-RBF opt\-in enabled (RPC only, default: 0) .HP \fB\-upgradewallet\fR .IP @@ -321,6 +340,11 @@ Specify wallet file (within data directory) (default: wallet.dat) .IP Make the wallet broadcast transactions (default: 1) .HP +\fB\-walletdir=\fR<dir> +.IP +Specify directory to hold wallets (default: <datadir>/wallets if it +exists, otherwise <datadir>) +.HP \fB\-walletnotify=\fR<cmd> .IP Execute command when a wallet transaction changes (%s in cmd is replaced @@ -542,7 +566,7 @@ Show splash screen on startup (default: 1) .IP Reset all settings changed in the GUI .SH COPYRIGHT -Copyright (C) 2009-2017 The Bitcoin Core developers +Copyright (C) 2009-2018 The Bitcoin Core developers Please contribute if you find Bitcoin Core useful. Visit <https://bitcoincore.org> for further information about the software. diff --git a/doc/man/bitcoin-tx.1 b/doc/man/bitcoin-tx.1 index 8b72fbde05..8e6994ac07 100644 --- a/doc/man/bitcoin-tx.1 +++ b/doc/man/bitcoin-tx.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH BITCOIN-TX "1" "September 2017" "bitcoin-tx v0.15.99.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. +.TH BITCOIN-TX "1" "January 2018" "bitcoin-tx v0.16.99.0" "User Commands" .SH NAME -bitcoin-tx \- manual page for bitcoin-tx v0.15.99.0 +bitcoin-tx \- manual page for bitcoin-tx v0.16.99.0 .SH DESCRIPTION -Bitcoin Core bitcoin\-tx utility version v0.15.99.0 +Bitcoin Core bitcoin\-tx utility version v0.16.99.0 .SS "Usage:" .TP bitcoin\-tx [options] <hex\-tx> [commands] @@ -112,7 +112,7 @@ set=NAME:JSON\-STRING .IP Set register NAME to given JSON\-STRING .SH COPYRIGHT -Copyright (C) 2009-2017 The Bitcoin Core developers +Copyright (C) 2009-2018 The Bitcoin Core developers Please contribute if you find Bitcoin Core useful. Visit <https://bitcoincore.org> for further information about the software. diff --git a/doc/man/bitcoind.1 b/doc/man/bitcoind.1 index baf747436f..8728965b2a 100644 --- a/doc/man/bitcoind.1 +++ b/doc/man/bitcoind.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH BITCOIND "1" "September 2017" "bitcoind v0.15.99.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. +.TH BITCOIND "1" "January 2018" "bitcoind v0.16.99.0" "User Commands" .SH NAME -bitcoind \- manual page for bitcoind v0.15.99.0 +bitcoind \- manual page for bitcoind v0.16.99.0 .SH DESCRIPTION -Bitcoin Core Daemon version v0.15.99.0 +Bitcoin Core Daemon version v0.16.99.0 .SS "Usage:" .TP bitcoind [options] @@ -33,7 +33,7 @@ block hash) If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: -0000000000000000003b9ce759c2a087d52abc4266f8f4ebd6d768b89defa50a, +0000000000000000005214481d2d96f898e3d5416e43359c145944a909d242e0, testnet: 0000000002e9e7b00e1f6dc5123a04aad68dd0f0968d8c7aa45f6640795c37b1) .HP @@ -57,6 +57,11 @@ Set database cache size in megabytes (4 to 16384, default: 450) .IP Imports blocks from external blk000??.dat file on startup .HP +\fB\-debuglogfile=\fR<file> +.IP +Specify location of debug log file: this can be an absolute path or a +path relative to the data directory (default: debug.log) +.HP \fB\-maxorphantx=\fR<n> .IP Keep at most <n> unconnectable transactions in memory (default: 100) @@ -81,7 +86,7 @@ Extra transactions to keep in memory for compact block reconstructions .HP \fB\-par=\fR<n> .IP -Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 = +Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-pid=\fR<file> @@ -122,7 +127,8 @@ Connection options: .HP \fB\-addnode=\fR<ip> .IP -Add a node to connect to and attempt to keep the connection open +Add a node to connect to and attempt to keep the connection open (see +the `addnode` RPC command help for more info) .HP \fB\-banscore=\fR<n> .IP @@ -141,7 +147,8 @@ for IPv6 \fB\-connect=\fR<ip> .IP Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic -connections +connections (the rules for this peer are the same as for +\fB\-addnode\fR) .HP \fB\-discover\fR .IP @@ -263,6 +270,18 @@ Tries to keep outbound traffic under the given target (in MiB per 24h), .PP Wallet options: .HP +\fB\-addresstype\fR +.IP +What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32", +default: "p2sh\-segwit") +.HP +\fB\-changetype\fR +.IP +What type of change to use ("legacy", "p2sh\-segwit", or "bech32"). +Default is same as \fB\-addresstype\fR, except when +\fB\-addresstype\fR=\fI\,p2sh\-segwit\/\fR a native segwit output is used when +sending to a native segwit address) +.HP \fB\-disablewallet\fR .IP Do not load the wallet and disable wallet RPC calls @@ -312,7 +331,7 @@ confirmation on average within n blocks (default: 6) .HP \fB\-walletrbf\fR .IP -Send transactions with full\-RBF opt\-in enabled (default: 0) +Send transactions with full\-RBF opt\-in enabled (RPC only, default: 0) .HP \fB\-upgradewallet\fR .IP @@ -326,6 +345,11 @@ Specify wallet file (within data directory) (default: wallet.dat) .IP Make the wallet broadcast transactions (default: 1) .HP +\fB\-walletdir=\fR<dir> +.IP +Specify directory to hold wallets (default: <datadir>/wallets if it +exists, otherwise <datadir>) +.HP \fB\-walletnotify=\fR<cmd> .IP Execute command when a wallet transaction changes (%s in cmd is replaced @@ -521,7 +545,7 @@ non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1) .IP Set the number of threads to service RPC calls (default: 4) .SH COPYRIGHT -Copyright (C) 2009-2017 The Bitcoin Core developers +Copyright (C) 2009-2018 The Bitcoin Core developers Please contribute if you find Bitcoin Core useful. Visit <https://bitcoincore.org> for further information about the software. diff --git a/doc/release-notes.md b/doc/release-notes.md index 29377d4a1d..0292eaa4d2 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -3,7 +3,7 @@ release-notes at release time) Bitcoin Core version *version* is now available from: - <https://bitcoin.org/bin/bitcoin-core-*version*/> + <https://bitcoincore.org/bin/bitcoin-core-*version*/> This is a new major version release, including new features, various bugfixes and performance improvements, as well as updated translations. @@ -56,71 +56,6 @@ frequently tested on them. Notable changes =============== -GCC 4.8.x --------------- -The minimum version of GCC required to compile Bitcoin Core is now 4.8. No effort will be -made to support older versions of GCC. See discussion in issue #11732 for more information. - -HD-wallets by default ---------------------- -Due to a backward-incompatible change in the wallet database, wallets created -with version 0.16.0 will be rejected by previous versions. Also, version 0.16.0 -will only create hierarchical deterministic (HD) wallets. - -Replace-By-Fee by default in GUI --------------------------------- -The send screen now uses BIP-125 RBF by default, regardless of `-walletrbf`. -There is a checkbox to mark the transaction as final. - -The RPC default remains unchanged: to use RBF, launch with `-walletrbf=1` or -use the `replaceable` argument for individual transactions. - -Wallets directory configuration (`-walletdir`) ----------------------------------------------- - -Bitcoin Core now has more flexibility in where the wallets directory can be -located. Previously wallet database files were stored at the top level of the -bitcoin data directory. The behavior is now: - -- For new installations (where the data directory doesn't already exist), - wallets will now be stored in a new `wallets/` subdirectory inside the data - directory by default. -- For existing nodes (where the data directory already exists), wallets will be - stored in the data directory root by default. If a `wallets/` subdirectory - already exists in the data directory root, then wallets will be stored in the - `wallets/` subdirectory by default. -- The location of the wallets directory can be overridden by specifying a - `-walletdir=<path>` option where `<path>` can be an absolute path to a - directory or directory symlink. - -Care should be taken when choosing the wallets directory location, as if it -becomes unavailable during operation, funds may be lost. - -Low-level RPC changes ----------------------- -- The deprecated RPC `getinfo` was removed. It is recommended that the more specific RPCs are used: - * `getblockchaininfo` - * `getnetworkinfo` - * `getwalletinfo` - * `getmininginfo` -- The wallet RPC `getreceivedbyaddress` will return an error if called with an address not in the wallet. -- The wallet RPC `addwitnessaddress` was deprecated and will be removed in version 0.17, - set the `address_type` argument of `getnewaddress`, or option `-addresstype=[bech32|p2sh-segwit]` instead. - -Changed command-line options ------------------------------ -- `-debuglogfile=<file>` can be used to specify an alternative debug logging file. - -Renamed script for creating JSON-RPC credentials ------------------------------ -The `share/rpcuser/rpcuser.py` script was renamed to `share/rpcauth/rpcauth.py`. This script can be -used to create `rpcauth` credentials for a JSON-RPC user. - - -- `dumpwallet` now includes hex-encoded scripts from the wallet in the dumpfile, and - `importwallet` now imports these scripts, but corresponding addresses may not be added - correctly or a manual rescan may be required to find relevant transactions. - Credits ======= diff --git a/doc/release-process.md b/doc/release-process.md index f429b4bbdb..430a5a7ed3 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -13,7 +13,7 @@ Before every minor and major release: * Update version in `configure.ac` (don't forget to set `CLIENT_VERSION_IS_RELEASE` to `true`) * Write release notes (see below) * Update `src/chainparams.cpp` nMinimumChainWork with information from the getblockchaininfo rpc. -* Update `src/chainparams.cpp` defaultAssumeValid with information from the getblockhash rpc. +* Update `src/chainparams.cpp` defaultAssumeValid with information from the getblockhash rpc. - The selected value must not be orphaned so it may be useful to set the value two blocks back from the tip. - Testnet should be set some tens of thousands back from the tip due to reorgs there. - This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect @@ -23,7 +23,8 @@ Before every major release: * Update hardcoded [seeds](/contrib/seeds/README.md), see [this pull request](https://github.com/bitcoin/bitcoin/pull/7415) for an example. * Update [`BLOCK_CHAIN_SIZE`](/src/qt/intro.cpp) to the current size plus some overhead. -* Update `src/chainparams.cpp` chainTxData with statistics about the transaction count and rate. +* Update `src/chainparams.cpp` chainTxData with statistics about the transaction count and rate. Use the output of the RPC `getchaintxstats`, see + [this pull request](https://github.com/bitcoin/bitcoin/pull/12270) for an example. Reviewers can verify the results by running `getchaintxstats <window_block_count> <window_last_block_hash>` with the `window_block_count` and `window_last_block_hash` from your output. * Update version of `contrib/gitian-descriptors/*.yml`: usually one'd want to do this on master after branching off the release - but be sure to at least do it before a new major release ### First time / New builders @@ -136,10 +137,7 @@ Build output expected: ### Verify other gitian builders signatures to your own. (Optional) -Add other gitian builders keys to your gpg keyring, and/or refresh keys. - - gpg --import bitcoin/contrib/gitian-keys/*.pgp - gpg --refresh-keys +Add other gitian builders keys to your gpg keyring, and/or refresh keys: See `../bitcoin/contrib/gitian-keys/README.md`. Verify the signatures |