aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/build-netbsd.md122
-rw-r--r--doc/policy/mempool-replacements.md5
-rw-r--r--doc/release-notes.md4
-rw-r--r--doc/release-notes/release-notes-471.md4
4 files changed, 86 insertions, 49 deletions
diff --git a/doc/build-netbsd.md b/doc/build-netbsd.md
index 9cec201faf..0f05cdcba7 100644
--- a/doc/build-netbsd.md
+++ b/doc/build-netbsd.md
@@ -1,92 +1,116 @@
-NetBSD Build Guide
-======================
-**Updated for NetBSD [8.0](https://www.netbsd.org/releases/formal-8/NetBSD-8.0.html)**
+# NetBSD Build Guide
-This guide describes how to build bitcoind and command-line utilities on NetBSD.
+Updated for NetBSD [9.2](https://netbsd.org/releases/formal-9/NetBSD-9.2.html).
-This guide does not contain instructions for building the GUI.
+This guide describes how to build bitcoind, command-line utilities, and GUI on NetBSD.
-Preparation
--------------
+## Preparation
-You will need the following modules, which can be installed via pkgsrc or pkgin:
+### 1. Install Required Dependencies
+
+Install the required dependencies the usual way you [install software on NetBSD](https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-pkgsrc).
+The example commands below use `pkgin`.
+
+```bash
+pkgin install autoconf automake libtool pkg-config git gmake boost libevent
```
-autoconf
-automake
-boost
-git
-gmake
-libevent
-libtool
-pkg-config
-python37
-git clone https://github.com/bitcoin/bitcoin.git
+NetBSD currently ships with an older version of `gcc` than is needed to build. You should upgrade your `gcc` and then pass this new version to the configure script.
+
+For example, grab `gcc9`:
+```
+pkgin install gcc9
+```
+
+Then, when configuring, pass the following:
+```bash
+./configure
+ ...
+ CC="/usr/pkg/gcc9/bin/gcc" \
+ CXX="/usr/pkg/gcc9/bin/g++" \
+ ...
```
See [dependencies.md](dependencies.md) for a complete overview.
-### Building Bitcoin Core
+### 2. Clone Bitcoin Repo
-**Important**: Use `gmake` (the non-GNU `make` will exit with an error).
+Clone the Bitcoin Core repository to a directory. All build scripts and commands will run from this directory.
-#### With descriptor wallet:
+```bash
+git clone https://github.com/bitcoin/bitcoin.git
+```
+
+### 3. Install Optional Dependencies
+
+#### Wallet Dependencies
+
+It is not necessary to build wallet functionality to run bitcoind or the GUI.
+
+###### Descriptor Wallet Support
+
+`sqlite3` is required to enable support for [descriptor wallets](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md).
-The descriptor wallet uses `sqlite3`. You can install it using:
```bash
pkgin install sqlite3
```
+###### Legacy Wallet Support
+
+`db4` is required to enable support for legacy wallets.
+
```bash
-./autogen.sh
-./configure --with-gui=no --without-bdb \
- CPPFLAGS="-I/usr/pkg/include" \
- LDFLAGS="-L/usr/pkg/lib" \
- BOOST_CPPFLAGS="-I/usr/pkg/include" \
- MAKE=gmake
+pkgin install db4
```
-#### With legacy wallet:
-
-BerkeleyDB is use for legacy wallet functionality.
+#### GUI Dependencies
-It is recommended to use Berkeley DB 4.8. You cannot use the BerkeleyDB library
-from ports.
-You can use [the installation script included in contrib/](/contrib/install_db4.sh) like so:
+Bitcoin Core includes a GUI built with the cross-platform Qt Framework. To compile the GUI, we need to install `qt5`.
```bash
-./contrib/install_db4.sh `pwd`
+pkgin install qt5
```
-from the root of the repository. Then set `BDB_PREFIX` for the next section:
+The GUI can encode addresses in a QR Code. To build in QR support for the GUI, install `qrencode`.
```bash
-export BDB_PREFIX="$PWD/db4"
+pkgin install qrencode
```
+#### Test Suite Dependencies
+
+There is an included test suite that is useful for testing code changes when developing.
+To run the test suite (recommended), you will need to have Python 3 installed:
+
```bash
-./autogen.sh
-./configure --with-gui=no CPPFLAGS="-I/usr/pkg/include" \
- LDFLAGS="-L/usr/pkg/lib" \
- BOOST_CPPFLAGS="-I/usr/pkg/include" \
- BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
- BDB_CFLAGS="-I${BDB_PREFIX}/include" \
- MAKE=gmake
+pkgin install python37
```
-#### Without wallet:
+### Building Bitcoin Core
+
+**Note**: Use `gmake` (the non-GNU `make` will exit with an error).
+
+
+### 1. Configuration
+
+There are many ways to configure Bitcoin Core. Here is an example that
+explicitly disables the wallet and GUI:
+
```bash
./autogen.sh
-./configure --with-gui=no --disable-wallet \
+./configure --without-wallet --with-gui=no \
CPPFLAGS="-I/usr/pkg/include" \
- LDFLAGS="-L/usr/pkg/lib" \
- BOOST_CPPFLAGS="-I/usr/pkg/include" \
MAKE=gmake
```
+For a full list of configuration options, see the output of `./configure --help`
+
+### 2. Compile
+
Build and run the tests:
+
```bash
gmake # use "-j N" here for N parallel jobs
-gmake check
+gmake check # Run tests if Python 3 is available
```
diff --git a/doc/policy/mempool-replacements.md b/doc/policy/mempool-replacements.md
index 18f08daf88..fea0143757 100644
--- a/doc/policy/mempool-replacements.md
+++ b/doc/policy/mempool-replacements.md
@@ -15,6 +15,8 @@ other consensus and policy rules, each of the following conditions are met:
*Rationale*: See [BIP125
explanation](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#motivation).
+ The Bitcoin Core implementation offers a node setting (`mempoolfullrbf`) to allow transaction
+ replacement without enforcement of the opt-in signaling rule.
2. The replacement transaction only include an unconfirmed input if that input was included in
one of the directly conflicting transactions. An unconfirmed input spends an output from a
@@ -74,3 +76,6 @@ This set of rules is similar but distinct from BIP125.
* RBF enabled by default in the wallet GUI as of **v0.18.1** ([PR
#11605](https://github.com/bitcoin/bitcoin/pull/11605)).
+
+* Full replace-by-fee enabled as a configurable mempool policy as of **v24.0** ([PR
+ #25353](https://github.com/bitcoin/bitcoin/pull/25353)).
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 35f0713879..2c3bb27935 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -86,6 +86,10 @@ Changes to GUI or wallet related settings can be found in the GUI or Wallet sect
New settings
------------
+- A new `mempoolfullrbf` option has been added, which enables the mempool to
+ accept transaction replacement without enforcing the opt-in replaceability
+ signal. (#25353)
+
Tools and Utilities
-------------------
diff --git a/doc/release-notes/release-notes-471.md b/doc/release-notes/release-notes-471.md
new file mode 100644
index 0000000000..7cebedd8b3
--- /dev/null
+++ b/doc/release-notes/release-notes-471.md
@@ -0,0 +1,4 @@
+GUI changes
+--------
+
+- A new menu item to restore a wallet from a backup file has been added (#471). \ No newline at end of file