diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/bips.md | 3 | ||||
-rw-r--r-- | doc/build-windows.md | 12 | ||||
-rw-r--r-- | doc/developer-notes.md | 9 | ||||
-rw-r--r-- | doc/files.md | 1 | ||||
-rw-r--r-- | doc/release-notes-pr10267.md | 13 | ||||
-rw-r--r-- | doc/release-notes-pr12823.md | 20 | ||||
-rw-r--r-- | doc/release-notes-pr12892.md | 17 | ||||
-rw-r--r-- | doc/release-notes-pr13033.md | 11 | ||||
-rw-r--r-- | doc/release-notes.md | 24 | ||||
-rw-r--r-- | doc/tor.md | 18 |
10 files changed, 99 insertions, 29 deletions
diff --git a/doc/bips.md b/doc/bips.md index e587275f0f..5b8eabd6df 100644 --- a/doc/bips.md +++ b/doc/bips.md @@ -1,4 +1,4 @@ -BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.13.0**): +BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.16.0**): * [`BIP 9`](https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki): The changes allowing multiple soft-forks to be deployed in parallel have been implemented since **v0.12.1** ([PR #7575](https://github.com/bitcoin/bitcoin/pull/7575)) * [`BIP 11`](https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki): Multisig outputs are standard since **v0.6.0** ([PR #669](https://github.com/bitcoin/bitcoin/pull/669)). @@ -34,4 +34,5 @@ BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.13.0**): * [`BIP 147`](https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki): NULLDUMMY softfork as of **v0.13.1** ([PR 8636](https://github.com/bitcoin/bitcoin/pull/8636) and [PR 8937](https://github.com/bitcoin/bitcoin/pull/8937)). * [`BIP 152`](https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki): Compact block transfer and related optimizations are used as of **v0.13.0** ([PR 8068](https://github.com/bitcoin/bitcoin/pull/8068)). * [`BIP 159`](https://github.com/bitcoin/bips/blob/master/bip-0159.mediawiki): NODE_NETWORK_LIMITED service bit [signaling only] is supported as of **v0.16.0** ([PR 11740](https://github.com/bitcoin/bitcoin/pull/11740)). +* [`BIP 173`](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki): Bech32 addresses for native Segregated Witness outputs are supported as of **v0.16.0** ([PR 11167](https://github.com/bitcoin/bitcoin/pull/11167)). * [`BIP 176`](https://github.com/bitcoin/bips/blob/master/bip-0176.mediawiki): Bits Denomination [QT only] is supported as of **v0.16.0** ([PR 12035](https://github.com/bitcoin/bitcoin/pull/12035)). diff --git a/doc/build-windows.md b/doc/build-windows.md index 0a4136173b..07bb0c096a 100644 --- a/doc/build-windows.md +++ b/doc/build-windows.md @@ -53,8 +53,8 @@ Cross-compilation for Ubuntu and Windows Subsystem for Linux At the time of writing the Windows Subsystem for Linux installs Ubuntu Xenial 16.04. The Mingw-w64 package for Ubuntu Xenial does not produce working executables for some of the Bitcoin Core applications. -It is possible to build on Ubuntu Xenial by installing the cross compiler packages from Ubuntu Zesty, see the steps below. -Building on Ubuntu Zesty 17.04 up to 17.10 has been verified to work. +It is possible to build on Ubuntu Xenial by installing the cross compiler packages from Ubuntu Artful, see the steps below. +Building on Ubuntu Artful 17.10 has been verified to work. The steps below can be performed on Ubuntu (including in a VM) or WSL. The depends system will also work on other Linux distributions, however the commands for @@ -88,12 +88,12 @@ Ubuntu Trusty 14.04: Ubuntu Xenial 16.04 and Windows Subsystem for Linux <sup>[1](#footnote1),[2](#footnote2)</sup>: sudo apt install software-properties-common - sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu zesty universe" + sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu artful universe" sudo apt update sudo apt upgrade sudo update-alternatives --config x86_64-w64-mingw32-g++ # Set the default mingw32 g++ compiler option to posix. -Ubuntu Zesty 17.04 <sup>[2](#footnote2)</sup>: +Ubuntu Artful 17.10 <sup>[2](#footnote2)</sup>: sudo update-alternatives --config x86_64-w64-mingw32-g++ # Set the default mingw32 g++ compiler option to posix. @@ -123,7 +123,7 @@ To build executables for Windows 32-bit, install the following dependencies: sudo apt install g++-mingw-w64-i686 mingw-w64-i686-dev -For Ubuntu Xenial 16.04, Ubuntu Zesty 17.04 and Windows Subsystem for Linux <sup>[2](#footnote2)</sup>: +For Ubuntu Xenial 16.04, Ubuntu Artful 17.10 and Windows Subsystem for Linux <sup>[2](#footnote2)</sup>: sudo update-alternatives --config i686-w64-mingw32-g++ # Set the default mingw32 g++ compiler option to posix. @@ -165,7 +165,7 @@ Footnotes <a name="footnote1">1</a>: There is currently a bug in the 64 bit Mingw-w64 cross compiler packaged for WSL/Ubuntu Xenial 16.04 that causes two of the bitcoin executables to crash shortly after start up. The bug is related to the -fstack-protector-all g++ compiler flag which is used to mitigate buffer overflows. -Installing the Mingw-w64 packages from the Ubuntu 17 distribution solves the issue, however, this is not +Installing the Mingw-w64 packages from the Ubuntu 17.10 distribution solves the issue, however, this is not an officially supported approach and it's only recommended if you are prepared to reinstall WSL/Ubuntu should something break. diff --git a/doc/developer-notes.md b/doc/developer-notes.md index 6b5311d3e3..1f237b750e 100644 --- a/doc/developer-notes.md +++ b/doc/developer-notes.md @@ -50,7 +50,7 @@ Do not submit patches solely to modify the style of existing code. [src/.clang-format](/src/.clang-format). You can use the provided [clang-format-diff script](/contrib/devtools/README.md#clang-format-diffpy) tool to clean up patches automatically before submission. - - Braces on new lines for namespaces, classes, functions, methods. + - Braces on new lines for classes, functions, methods. - Braces on the same line for everything else. - 4 space indentation (no tabs) for every block except namespaces. - No indentation for `public`/`protected`/`private` or for `namespace`. @@ -85,8 +85,7 @@ Block style example: ```c++ int g_count = 0; -namespace foo -{ +namespace foo { class Class { std::string m_name; @@ -585,11 +584,11 @@ Source code organization ```c++ namespace mynamespace { - ... +... } // namespace mynamespace namespace { - ... +... } // namespace ``` diff --git a/doc/files.md b/doc/files.md index 2eac7ed664..5657b1e6cb 100644 --- a/doc/files.md +++ b/doc/files.md @@ -10,6 +10,7 @@ * db.log: wallet database log file; moved to wallets/ directory on new installs since 0.16.0 * debug.log: contains debug information and general logging generated by bitcoind or bitcoin-qt * fee_estimates.dat: stores statistics used to estimate minimum transaction fees and priorities required for confirmation; since 0.10.0 +* indexes/txindex/*: optional transaction index database (LevelDB); since 0.17.0 * mempool.dat: dump of the mempool's transactions; since 0.14.0. * peers.dat: peer IP address database (custom format); since 0.7.0 * wallet.dat: personal wallet (BDB) with keys and transactions; moved to wallets/ directory on new installs since 0.16.0 diff --git a/doc/release-notes-pr10267.md b/doc/release-notes-pr10267.md new file mode 100644 index 0000000000..7e1967daf0 --- /dev/null +++ b/doc/release-notes-pr10267.md @@ -0,0 +1,13 @@ +Changed command-line options +---------------------------- + +- `-includeconf=<file>` can be used to include additional configuration files. + Only works inside the `bitcoin.conf` file, not inside included files or from + command-line. Multiple files may be included. Can be disabled from command- + line via `-noincludeconf`. Note that multi-argument commands like + `-includeconf` will override preceding `-noincludeconf`, i.e. + + noincludeconf=1 + includeconf=relative.conf + + as bitcoin.conf will still include `relative.conf`. diff --git a/doc/release-notes-pr12823.md b/doc/release-notes-pr12823.md new file mode 100644 index 0000000000..b493908716 --- /dev/null +++ b/doc/release-notes-pr12823.md @@ -0,0 +1,20 @@ +Configuration sections for testnet and regtest +---------------------------------------------- + +It is now possible for a single configuration file to set different +options for different networks. This is done by using sections or by +prefixing the option with the network, such as: + + main.uacomment=bitcoin + test.uacomment=bitcoin-testnet + regtest.uacomment=regtest + [main] + mempoolsize=300 + [test] + mempoolsize=100 + [regtest] + mempoolsize=20 + +The `addnode=`, `connect=`, `port=`, `bind=`, `rpcport=`, `rpcbind=` +and `wallet=` options will only apply to mainnet when specified in the +configuration file, unless a network is specified. diff --git a/doc/release-notes-pr12892.md b/doc/release-notes-pr12892.md index 894bf19dee..8105eca5c0 100644 --- a/doc/release-notes-pr12892.md +++ b/doc/release-notes-pr12892.md @@ -1,8 +1,10 @@ -'label' API for wallet ----------------------- +'label' and 'account' APIs for wallet +------------------------------------- A new 'label' API has been introduced for the wallet. This is intended as a -replacement for the deprecated 'account' API. +replacement for the deprecated 'account' API. The 'account' can continue to +be used in V0.17 by starting bitcoind with the '-deprecatedrpc=accounts' +argument, and will be fully removed in V0.18. The label RPC methods mirror the account functionality, with the following functional differences: @@ -27,6 +29,9 @@ Here are the changes to RPC methods: | Changed Method | Notes | | :--------------------- | :------ | -| `addmultisigaddress` | Renamed `account` named parameter to `label`. Still accepts `account` for backward compatibility. | -| `getnewaddress` | Renamed `account` named parameter to `label`. Still accepts `account` for backward compatibility. | -| `listunspent` | Returns new `label` fields, along with `account` fields for backward compatibility. | +| `addmultisigaddress` | Renamed `account` named parameter to `label`. Still accepts `account` for backward compatibility if running with '-deprecatedrpc=accounts'. | +| `getnewaddress` | Renamed `account` named parameter to `label`. Still accepts `account` for backward compatibility. if running with '-deprecatedrpc=accounts' | +| `listunspent` | Returns new `label` fields. `account` field will be returned for backward compatibility if running with '-deprecatedrpc=accounts' | +| `sendmany` | The `account` named parameter has been renamed to `dummy`. If provided, the `dummy` parameter must be set to the empty string, unless running with the `-deprecatedrpc=accounts` argument (in which case functionality is unchanged). | +| `listtransactions` | The `account` named parameter has been renamed to `dummy`. If provided, the `dummy` parameter must be set to the string `*`, unless running with the `-deprecatedrpc=accounts` argument (in which case functionality is unchanged). | +| `getbalance` | `account`, `minconf` and `include_watchonly` parameters are deprecated, and can only be used if running with '-deprecatedrpc=accounts' | diff --git a/doc/release-notes-pr13033.md b/doc/release-notes-pr13033.md new file mode 100644 index 0000000000..3ab4a984db --- /dev/null +++ b/doc/release-notes-pr13033.md @@ -0,0 +1,11 @@ +Transaction index changes +------------------------- + +The transaction index is now built separately from the main node procedure, +meaning the `-txindex` flag can be toggled without a full reindex. If bitcoind +is run with `-txindex` on a node that is already partially or fully synced +without one, the transaction index will be built in the background and become +available once caught up. When switching from running `-txindex` to running +without the flag, the transaction index database will *not* be deleted +automatically, meaning it could be turned back on at a later time without a full +resync. diff --git a/doc/release-notes.md b/doc/release-notes.md index 9e9c891de9..7a9a98bfec 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -65,6 +65,15 @@ RPC changes - The `fundrawtransaction` RPC will reject the previously deprecated `reserveChangeKey` option. - `sendmany` now shuffles outputs to improve privacy, so any previously expected behavior with regards to output ordering can no longer be relied upon. - The new RPC `testmempoolaccept` can be used to test acceptance of a transaction to the mempool without adding it. +- JSON transaction decomposition now includes a `weight` field which provides + the transaction's exact weight. This is included in REST /rest/tx/ and + /rest/block/ endpoints when in json mode. This is also included in `getblock` + (with verbosity=2), `listsinceblock`, `listtransactions`, and + `getrawtransaction` RPC commands. +- New `fees` field introduced in `getrawmempool`, `getmempoolancestors`, `getmempooldescendants` and + `getmempoolentry` when verbosity is set to `true` with sub-fields `ancestor`, `base`, `modified` + and `descendant` denominated in BTC. This new field deprecates previous fee fields, such as + `fee`, `modifiedfee`, `ancestorfee` and `descendantfee`. External wallet files --------------------- @@ -95,6 +104,21 @@ Low-level RPC changes now the empty string `""` instead of `"wallet.dat"`. If bitcoin is started with any `-wallet=<path>` options, there is no change in behavior, and the name of any wallet is just its `<path>` string. +- Passing an empty string (`""`) as the `address_type` parameter to + `getnewaddress`, `getrawchangeaddress`, `addmultisigaddress`, + `fundrawtransaction` RPCs is now an error. Previously, this would fall back + to using the default address type. It is still possible to pass null or leave + the parameter unset to use the default address type. + +- Bare multisig outputs to our keys are no longer automatically treated as + incoming payments. As this feature was only available for multisig outputs for + which you had all private keys in your wallet, there was generally no use for + them compared to single-key schemes. Furthermore, no address format for such + outputs is defined, and wallet software can't easily send to it. These outputs + will no longer show up in `listtransactions`, `listunspent`, or contribute to + your balance, unless they are explicitly watched (using `importaddress` or + `importmulti` with hex script argument). `signrawtransaction*` also still + works for them. ### Logging diff --git a/doc/tor.md b/doc/tor.md index 931c83abdd..f0f98b7d12 100644 --- a/doc/tor.md +++ b/doc/tor.md @@ -1,5 +1,4 @@ -TOR SUPPORT IN BITCOIN -====================== +# TOR SUPPORT IN BITCOIN It is possible to run Bitcoin as a Tor hidden service, and connect to such services. @@ -7,8 +6,7 @@ The following directions assume you have a Tor proxy running on port 9050. Many configure Tor. -1. Run bitcoin behind a Tor proxy ---------------------------------- +## 1. Run bitcoin behind a Tor proxy The first step is running Bitcoin behind a Tor proxy. This will already make all outgoing connections be anonymized, but more is possible. @@ -34,12 +32,12 @@ In a typical situation, this suffices to run behind a Tor proxy: ./bitcoind -proxy=127.0.0.1:9050 -2. Run a bitcoin hidden server ------------------------------- +## 2. Run a bitcoin hidden server If you configure your Tor system accordingly, it is possible to make your node also reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent -config file): +config file): *Needed for Tor version 0.2.7.0 and older versions of Tor only. For newer +versions of Tor see [Section 3](#3-automatically-listen-on-tor).* HiddenServiceDir /var/lib/tor/bitcoin-service/ HiddenServicePort 8333 127.0.0.1:8333 @@ -88,8 +86,7 @@ for normal IPv4/IPv6 communication, use: ./bitcoind -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover -3. Automatically listen on Tor --------------------------------- +## 3. Automatically listen on Tor Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket API, to create and destroy 'ephemeral' hidden services programmatically. @@ -115,8 +112,7 @@ which has the appropriate permissions. An alternative authentication method is t of the `-torpassword` flag and a `hash-password` which can be enabled and specified in Tor configuration. -4. Privacy recommendations ---------------------------- +## 4. Privacy recommendations - Do not add anything but bitcoin ports to the hidden service created in section 2. If you run a web service too, create a new hidden service for that. |