Commit graph

1054 commits

Author SHA1 Message Date
Jonas Schnelli
daa84b3354
Merge #12029: Build: Add a makefile target for Doxygen documentation
a777244e4 Build: Add a makefile target for Doxygen documentation (Andrea Comand)

Pull request description:

  You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`.

  Fixes: #11949

Tree-SHA512: f2361ec7f771227367dd04bba1a444b44e59f13901463a678a5f2f579a10a56d67db2e29552e754e312a1c472a31593b6af189cbaac5cd351a428c57baf5ace7
2018-02-17 18:49:24 +11:00
MarcoFalke
fa94614738
[doc] dev-notes: Members should be initialized
Also, remove mention of threads that were removed long ago
2018-02-16 14:21:52 -05:00
fanquake
41550d6d13
[depends] miniupnpc 2.0.20180203 2018-02-15 18:44:44 +08:00
fanquake
61647a4b86
[depends] ccache 3.4.1 2018-02-15 18:44:44 +08:00
fanquake
5a10859a80
[depends] expat 2.2.5 2018-02-15 18:44:43 +08:00
Wladimir J. van der Laan
0cc45edc0f
Merge #12409: rpc: Reject deprecated reserveChangeKey in fundrawtransaction
fa5f518 rpc: Reject deprecated reserveChangeKey in fundrawtransaction (MarcoFalke)

Pull request description:

Tree-SHA512: 8506d1494b13c4582b1379e3b8c3906016f1980ebe847727a43a90e7bb9f71b896a1792bc97a8dc7320ccce0534050eb04f92a6f82f811d08efa74a98b3e43f0
2018-02-14 16:43:55 +01:00
Wladimir J. van der Laan
fdc2188da2
Merge #12232: Improve "Turn Windows Features On or Off" step
9b6454c Improve "Turn Windows Features On or Off" step (Ernest Hemingway)

Pull request description:

  Originally, this readme suggests searching for 'turn' to open this dialog but this will not necessarily work on all windows 10 PCs. It's better to use the executable name instead, which is consistent across installations.

Tree-SHA512: e5b95dd69a9a186ea5cd9c7aac2283e77f1857ecf628f8ad6ac0411f362c8aeb52e3bcffb46b90e3bab52f45fa244f269b1777f83d3e0519ac8a95935f7fb5b4
2018-02-14 12:53:46 +01:00
MarcoFalke
fa5f51830d
rpc: Reject deprecated reserveChangeKey in fundrawtransaction 2018-02-10 22:11:31 -05:00
Ernest Hemingway
9b6454c52a
Improve "Turn Windows Features On or Off" step 2018-02-10 14:17:05 -05:00
Wladimir J. van der Laan
89005ddad1
Merge #11761: [docs] initial QT documentation
c8edc2c [docs] initial QT documentation, move Qt Creator instructions (Sjors Provoost)

Pull request description:

  I'll update this as I figure out how everything is tied together, but I think it's a useful enough start.

Tree-SHA512: d96e5c9ba8ccc3a1b92a0894a8a8449317100eebb14e5d390b51793534458f50eac296cf2945fccf81b85aff23fa32d91d6015a0a76ada4f7091a400d7508ae5
2018-02-09 10:54:01 +01:00
Wladimir J. van der Laan
88971352f6
Merge #11909: contrib: Replace developer keys with list of pgp fingerprints
fabb72b contrib: Remove xpired 522739F6 key (MarcoFalke)
faeab66 contrib: Replace developer keys with list of pgp fingerprints (MarcoFalke)

Pull request description:

  Having to host a copy of the keys in this repo was a common source of discussion and distraction, caused by problems such as:

  * Outdated keys. Unclear whether and when to replace by fresh copies.
  * Unclear when to add a key of a new developer or Gitian builder.

  The problems are solved by
  * Having no keys but only the fingerprints
  * Adding a rule of thumb, when to add a new key

  <strike>Moving the keys to a different repo solves none of these issues, but since the keys are not bound to releases or git branches of Bitcoin Core, they should live somewhere else.

  Obviously, all keys are hosted and distributed on key servers, but were added to the repo solely for convenience and redundancy.

  Moving the mirror of those keys to a different repo makes it less distracting to update them -- let's say -- prior to every major release.

  I updated our `doc/release-process.md` to reflect the new location.

  DEPENDS_ON https://github.com/bitcoin-core/gitian.sigs/pull/621
  </strike>

Tree-SHA512: c00795a07603190e26dc4526f6ce11e492fb048dc7ef54b38f859b77dcde25f58ec4449f5cf3f85a5e9c2dd2743bde53f7ff03c8eccf0d75d51784a6b164e47d
2018-02-06 15:54:29 +01:00
Wladimir J. van der Laan
c3451483d2
Merge #12322: Docs: Remove step making cloned repository world-writable for Windows build.
eeeb416 Remove suggestion to make cloned repository world-writable for Windows build. (murrayn)

Pull request description:

  Current documentation for Windows build on Ubuntu suggests cloning the repository into /usr/src, as root, and making the tree world-writable(!). I can see no problem this solves, and it introduces obvious security issues.

Tree-SHA512: 05429a64319c046f5506f7d27c64c94f94cfe6d14ec5f01dccf843fc417e954fe96e1abc43126b9204a1178f101e4a8da9eece32b5de4b348c7c9358615c7e0f
2018-02-06 12:53:56 +01:00
Wladimir J. van der Laan
85123be78d
Merge #12317: Document method for reviewers to verify chainTxData
7444149 Document method for reviewers to verify chainTxData (John Newbery)

Pull request description:

  This commit adds the final block hash of the window to getchaintxstats
  and documents how reviewers can verify changes to chainTxData.

Tree-SHA512: d16abb5f47d058e52660f4d495f1e453205b1b83716d7c810ff62a70338db721386c1808ec1fc8468f514e4d80cc58e3c96eeb3184cbbcb1d07830fa5e53f342
2018-02-02 18:25:33 +01:00
John Newbery
7444149de3 Document method for reviewers to verify chainTxData
This commit adds the final block hash of the window to getchaintxstats
and documents how reviewers can verify changes to chainTxData.
2018-02-02 09:29:33 -05:00
MarcoFalke
1b06ed136f
Merge #12283: Fix typos
1340eda3b7 Fix typos (practicalswift)

Pull request description:

  Fix typos.

Tree-SHA512: 533a136831387ef26e9a74ba078437496bee38cc026da73fa9e6f6e7f4d5665eccac24cf3ef05e6d3af1329a1214f5ce71b039ddb8378b074e6d4408b8701f95
2018-02-02 05:35:51 -05:00
murrayn
eeeb416d73 Remove suggestion to make cloned repository world-writable for Windows build. 2018-02-01 00:41:03 -08:00
Wladimir J. van der Laan
7f968ae107 doc: Explain how to update chainTxData in release process
Adds a short explanation how to update chainTxData to the release
process. Mention where to get the data, and link to an example.
2018-01-31 12:30:09 +01:00
Alex Vear
ee5e8968b3 Organise Linux build instructions to be categorised by distro 2018-01-30 21:55:31 +00:00
Alex Vear
4c855174e1 Add NetBSD build instruction links 2018-01-30 21:03:58 +00:00
Wladimir J. van der Laan
9cb2309050
doc: Update manpages to 0.16.99
Master was bumped to 0.16.99, so update the man pages too to avoid
confusion.

Tree-SHA512: 63622d6ebea2fb052ffe05fb80fe08bd627c34310a7ca22b2bc1af74003b20ab1a1fde51746ee69d401379d65232981b68541a9fc7f329e04b854507f836b19e
2018-01-30 14:24:59 +01:00
Wladimir J. van der Laan
4602dc704a
build: Bump version to 0.16.99
Also clean out release notes.

Tree-SHA512: c4d5b52c089e14438be37381e1b0dab3711cc72aa8d345d1024169fff0055f3d021c8ca9d46fb794110694ebcbf7cbca0a12619f650873c9d381530adea7100e
2018-01-30 14:08:53 +01:00
Wladimir J. van der Laan
7cf1aea5cf
Merge #12294: [Docs] Create NetBSD build instructions and fix compilation
11c5827 [build] Add NETBSD leveldb target to configure.ac (fanquake)
1944fa3 [doc] Create build-netbsd.md (Randolf Richardson)
336685e [build] Add db4_cxx to bitcoin_find_bdb48.m4 (Randolf Richardson)

Pull request description:

  Replaces #12125.

Tree-SHA512: 411d082ffff7198bcc1b2b6fcdf86c378baf228d8f4fee0e6c9f0688efe9c6b6dcfd5c1ab9c1dfd0c4637723b8584dbbb614634ace0e1a417b59e88a6c736dc0
2018-01-30 09:57:45 +01:00
Randolf Richardson
1944fa3205
[doc] Create build-netbsd.md 2018-01-30 07:47:27 +08:00
practicalswift
1340eda3b7 Fix typos 2018-01-28 13:21:25 +01:00
Andrea Comand
a777244e48 Build: Add a makefile target for Doxygen documentation
You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`.

Fixes: #11949
2018-01-25 19:43:19 +01:00
Felix Wolfsteller
7eb665fc86 [Trivial] link mentioned scripted-diff-commit 2018-01-24 17:07:25 +01:00
Jeff Rade
b21244e0be Updating benchmarkmarking.md with an updated sample output and help options 2018-01-19 11:41:56 -06:00
Russell Yanofsky
ec527c6c88 Don't allow relative -walletdir paths
Also warn if bitcoind is configured to use a relative -datadir path.

Specifying paths relative to the current working directory in a daemon process
can be dangerous, because files can fail to be located even if the
configuration doesn't change, but the daemon is started up differently.

Specifying a relative -datadir now adds a warning to the debug log. It would
not be backwards-compatible to forbid relative -datadir paths entirely, and it
could also be also inconvenient for command line testing.

Specifying a relative -walletdir now results in a startup error. But since the
-walletdir option is new in 0.16.0, there should be no compatibility issues.
Another reason not to use working directory paths for -walletdir specifically
is that the default -walletdir is a "wallets" subdirectory inside the datadir,
so it could be surprising that setting -walletdir manually would choose a
directory rooted in a completely different location.
2018-01-18 15:09:27 -05:00
Wladimir J. van der Laan
e839d6570d
Merge #12166: [docs] Clarify -walletdir usage
97c3cad [docs] Clarify -walletdir usage (John Newbery)

Pull request description:

  After discussion with @ryanofsky around #11687 , I think this documentation is a bit clearer for how the new `-walletdir` argument works.

Tree-SHA512: f279cab82524dbc0d75e6f9891f0e228ec4c8d0df3e16f351057fa243ddd263ff786f05383fd00a09b89edcc07dab211be5b64387f77271edf8af0177bcf667d
2018-01-18 21:09:27 +01:00
Wladimir J. van der Laan
cdf3e03a72 wallet: Deprecate addwitnessaddress
Now that segwit is natively supported by the wallet, deprecate the hack `addwitnessaddress`.
2018-01-18 10:24:18 +01:00
John Newbery
97c3cada92 [docs] Clarify -walletdir usage 2018-01-15 10:26:15 -05:00
Wladimir J. van der Laan
3c6286873e
Merge #12112: Docs: Remove the ending slashes from RPC URI format.
2be2b5d Remove the ending slashes from RPC URI format. (Jacky C)

Pull request description:

  This resolves #11861 (A confusion caused by incorrect information in the release notes).

  More information can be found at #11861.

Tree-SHA512: 35f85854b01a84acd5358e0c9deff881205111120277fa7cdf270801933c2603c2ae04fa4d55d233675c7298c2d37cc60c919f89e7e6091f5c61884025775ab0
2018-01-11 14:16:19 +01:00
azuchi
91769d6e28 [Doc] Fix link for bip 159 pull request 2018-01-11 11:39:10 +09:00
Jacky C
2be2b5d58a Remove the ending slashes from RPC URI format. 2018-01-08 10:11:02 +08:00
Jonas Schnelli
eeb6d5271d
Merge #12035: [qt] change µBTC to bits
ebcee1de2 bips: add bip176 (Bits Denomination) (William Casarin)
275b2eeed [qt] change µBTC to bits (William Casarin)

Pull request description:

  Now that we have bip176, change "µBTC" to the more colloquial "bits"

Tree-SHA512: eba5e5f89c392728a4f0a3bd81a9779a117b8d72a490390fd031d4e7cc56c2bfee0016aba7ef9535903e8cf2262ce46497283424e378906d0e3bf5b0d2d981c7
2018-01-03 22:16:13 -10:00
William Casarin
ebcee1de26 bips: add bip176 (Bits Denomination)
For the implementation in #12035.
Note that this only applies to the QT GUI at this time.

Signed-off-by: William Casarin <jb55@jb55.com>
2017-12-30 10:45:50 -08:00
Wladimir J. van der Laan
63a4dc1087
Merge #12027: [Docs] Remove boost --c++ flag from osx build instructions
5ec3eae remove brew c++ flag (Pablo Fernandez)

Pull request description:

  the c++ is not needed since the listed brew formulas no longer have this option. It also raises a warning that may generate confusion.

Tree-SHA512: 37c0ebee2901947a21abfcd646ae0c7e73293568f37db9b130d1c521aa4222b0e82e21614e6ac60bb5347c34ef15bbd24eb8066ebf576ea3da9f365be9a4d062
2017-12-30 13:55:10 +01:00
Wladimir J. van der Laan
efae3663a7
Merge #11984: doc: Update OpenBSD build instructions for 6.2 (cont'd)
6915f93 doc: Update OpenBSD build instructions for 6.2 (Wladimir J. van der Laan)

Pull request description:

  (this continues #11442)
  There is no more need to install a new compiler. This simplifies instructions a lot.

  From discussion with @fanquake on IRC I first wanted to add a new section for 6.2, but that made the document a complex mess. I think it's good enough (and more maintainable too) to only support the most recent release.

  Includes #11976.

  I moved the "resource limits" section to the end as I didn't seem to need it with clang, but this may vary based on source changes and the phase of the moon so it's good to keep it as optional extra information.

Tree-SHA512: 15794afec6d682323d0aa13c7616d009acb7fce8b0ef5d2106261f2ebd86b7b2fe66040c04860d9bf2f0c1934fbdc2b594b8c09a98accfaac04f3daf9a6cadf3
2017-12-30 10:36:37 +01:00
Pablo Fernandez
5ec3eae393
remove brew c++ flag
the c++ is not needed since the listed brew formulas no longer have this option. It also raises a warning that may generate confusion.
2017-12-26 14:23:58 -03:00
Wladimir J. van der Laan
f19ca129ff
Merge #11605: [Wallet] Enable RBF by default in QT
5cbbbd7 [Wallet] Use RBF by default in QT only (Sjors Provoost)

Pull request description:

  ~If there are no objections, this would supersede #11556.~

  Enabling RBF by default avoids the need to explain all possible use cases of RBF.

  This PR does not change the default RPC wallet behavior, as this could break implementations that depend on it and it's not clear what happens when automated services suddenly switch on RBF on a large scale.

  After trying various approaches, we settled on just having QT ignore `-walletrbf`.

  Send screen:
  <img width="388" alt="send" src="https://user-images.githubusercontent.com/10217/34251097-329c8dee-e63f-11e7-9e14-d7f55d2b52cc.png">

  Confirmation screen by default (with RBF):
  <img width="429" alt="rbf yes" src="https://user-images.githubusercontent.com/10217/32442799-f50d54aa-c2fc-11e7-9392-96339d0f1f74.png">

  Confirmation screen without RBF:
  <img width="431" alt="rf no" src="https://user-images.githubusercontent.com/10217/32442793-ef30bc34-c2fc-11e7-8ca2-e86a97175278.png">

Tree-SHA512: 53efb5d277144478143e69dcae8112c1b9c2beb981fdd0fe778592e5f7d5bf838f73d48052ead874586a75b944e8af469b25e5f376c135cf48cc3598e77f5891
2017-12-22 13:15:31 +01:00
Wladimir J. van der Laan
6915f93cc9 doc: Update OpenBSD build instructions for 6.2
There is no more need to install a compiler. This simplifies
instructions a lot.
2017-12-22 10:08:53 +01:00
Sjors Provoost
5cbbbd7143
[Wallet] Use RBF by default in QT only
GUI wallet uses RBF by default, regardless of -walletrbf.

RPC and debug console in the GUI remain unchanged; they don't
use RBF by default, unless launched with -walletrbf=1.
2017-12-22 09:18:05 +01:00
Wladimir J. van der Laan
711d16ca4a
Merge #11667: Add scripts to dumpwallet RPC
656fde5 Add script birthtime metadata to dump and import wallet (MeshCollider)
1bab9b2 Add script dump note to RPC help text and release notes (MeshCollider)
68c1e00 Add test for importwallet (MeshCollider)
9e1184d Add dumpwallet scripts test (MeshCollider)
ef0c730 Add scripts to importwallet RPC (MeshCollider)
b702ae8 Add CScripts to dumpwallet RPC (MeshCollider)
cdc260a Add GetCScripts to CBasicKeyStore (MeshCollider)

Pull request description:

  As discussed in https://github.com/bitcoin/bitcoin/pull/11289#issuecomment-334600457, adds the CScripts from the wallet to the `dumpwallet` RPC and then allows them to be imported with the `importwallet` RPC. Includes a basic test, and modifies the helptext of the dumpwallet RPC.

  Notes:
  - Reviewers: use `?w=1` to avoid the indentation-only change in commit `Add scripts to importwallet RPC `
  - currently the scripts are followed with `# addr=` comments just as the other keys are, unsure if this might confuse users into thinking all the scripts are for valid P2SH addresses though, but I don't think that should be an issue.
  - there are no birthtimes for scripts, so script imports don't affect rescans
  - `importwallet` imports the CScripts but I'm not sure how to approach specifying whether scripts are for P2SH addresses, BIP173 addresses, etc. whether that matters or not. Otherwise the RPC helptext might just need modification.

  Fixes #11715

Tree-SHA512: 36c55837b3a58b9d3499d4c0c2ae82153d62aa71919e751574651b63a1d2b8ecc83796db4553cc65dad9b5341c3a42ae2fcf4d62598c30af267f8e1461ba8272
2017-12-21 13:03:26 +01:00
Wladimir J. van der Laan
7a11ba7e01
Merge #11945: Improve BSD compatibility of contrib/install_db4.sh
2712742 doc: Update FreeBSD build instructions to use bdb4 (Wladimir J. van der Laan)
d95c83d contrib: FreeBSD compatibility in install_db4.sh (Wladimir J. van der Laan)
c0298b0 contrib: Make X=Y arguments work in install_db4 (Wladimir J. van der Laan)
b798f9b contrib: New clang patch for install_db4 (Wladimir J. van der Laan)

Pull request description:

  This PR improves the BSD compatibility of the bdb4 installer script.

  See #11921, #11868.

  I've tested this on OpenBSD 6.2 (clang) and Ubuntu 16.04 (gcc).

  This needs testing on OSX at least, ~~and on gcc/Linux to make sure that applying the patch unconditionally doesn't negatively affect gcc~~.

  ~~NB: this is not yet sufficient to make `install_db4.sh` work on FreeBSD, as we need to use yet another `sha256` tool there. But it's a step in the right direction.~~

  ### contrib: New clang patch for install_db4

  Replace the clang patch with a new and improved version that also fixes the build issues with OpenBSD and FreeBSD's clang, and apply it unconditionally.

  Thanks to @fanquake for finding the patch.

  ### contrib: Make X=Y arguments work in install_db4

  Trailing X=Y arguments are supposed to be passed through unchanged to bdb's configure. This was not the case, at least with OpenBSD 6.2's shell.

  Fix this by not storing the arguments in a temporary variable but passing "$@" through directly.

  ### contrib: FreeBSD compatibility in install_db4.sh

  Unfortunately, FreeBSD uses yet another syntax for `sha256`.

  Support FreeBSD's syntax too. Using `uname` is a bit of a hack but it works and I found no way to distinguish the two.

Tree-SHA512: 12461a58dfeb4834701891762efc747c8187d834f41d98c8451edee1402a3958c4842bbc02c61bacbc7b0d90cc6b020a2ca158b65304d9760c9f0d2052ff36d4
2017-12-21 09:30:25 +01:00
MarcoFalke
604e08c83c
Merge #11726: Cleanups + nit fixes for walletdir PR
aac6b3f067 Update files.md for new wallets/ subdirectory (MeshCollider)
b67342906c Cleanups for walletdir PR (MeshCollider)

Pull request description:

  This addresses the remaining nits from https://github.com/bitcoin/bitcoin/pull/11466

  - Updates `doc/files.md` with respect to the new default wallet directory
  - Fixes @promag and @laanwj's error message nit, and Jonas' release notes nit
  - ~Addresses @laanwj's net-specific wallet subdirectory concern in the case that a walletdir is specified~
  - Changes the #includes from "" to <> style after #11651

Tree-SHA512: b86bf5fdc4de54c1b0f65b60a83af3cf82b35d216ce9c0de724803bfba6934796238b6c412659dcc29ae2e3e856d4eb97ae777c80f36f4089d8acecfddefe9aa
2017-12-20 17:37:57 -05:00
Wladimir J. van der Laan
2712742ef2 doc: Update FreeBSD build instructions to use bdb4
Use Berkeley DB 4 as recommended on other platforms.
2017-12-20 15:16:01 +01:00
laudaa
3d3e58e46c [Doc] Fix link to installation script 2017-12-20 13:39:16 +01:00
MeshCollider
1bab9b23af Add script dump note to RPC help text and release notes 2017-12-20 18:47:56 +13:00
Sjors Provoost
c8edc2c3cb
[docs] initial QT documentation, move Qt Creator instructions 2017-12-19 16:48:07 +01:00
MarcoFalke
faeab66f88 contrib: Replace developer keys with list of pgp fingerprints 2017-12-17 23:08:34 -05:00
flack
58c909d8d1
Typo fix 2017-12-16 13:29:26 +01:00
MeshCollider
aac6b3f067 Update files.md for new wallets/ subdirectory 2017-12-13 23:36:43 +13:00
MeshCollider
b67342906c Cleanups for walletdir PR 2017-12-13 23:36:43 +13:00
Wladimir J. van der Laan
d44535d818
Merge #11836: Rename rpcuser.py to rpcauth.py
3121d76 doc: Update release notes for share/rpcauth/rpcauth.py rename (Henrik Jonsson)
3fdb297 Rename rpcuser.py to rpcauth.py (Henrik Jonsson)

Pull request description:

  This script creates `rpcauth` entries for bitcoin.conf, not the deprecated `rpcuser` entry, so this changes the name of the script to match.

  As discussed in #11830.

Tree-SHA512: cd71c2a4043ef1381d3810b057cc83be3fac612df576b91b683ef91fdb7998c534b3b97a3313845eb867dc4bf7cc42a1250474d2261ab3f9ed2f884ca8ebd9f4
2017-12-11 17:59:01 +01:00
Jonas Schnelli
de74c62583
[Doc] Update bip.md, add support for BIP 159 2017-12-06 21:13:53 -10:00
Henrik Jonsson
3121d76ba1 doc: Update release notes for share/rpcauth/rpcauth.py rename 2017-12-06 18:53:12 +00:00
Wladimir J. van der Laan
4158734946 doc: Update release notes for -debuglogfile 2017-12-01 11:28:23 +01:00
Wladimir J. van der Laan
8879d50b18
Merge #11793: Docs: Bump OS X version to 10.13
543ab40 Docs: Bump OSX version to 10.13 in build-osx.md (Varunram Ganesh)

Pull request description:

  Core works fine on macOS 10.13

Tree-SHA512: 44807920e3d5518c98d68191ed614019934bb702df9695389f8178a00a7c5afccd90fad68a07568cdc3e3d04068bddf434942fb81dceb6cbde9bb4ff4e49e425
2017-11-30 11:05:51 +01:00
Varunram Ganesh
543ab40a44 Docs: Bump OSX version to 10.13 in build-osx.md 2017-11-30 14:52:06 +05:30
fanquake
387879dd4c
[depends] ZeroMQ 4.2.2 2017-11-29 19:31:50 +08:00
fanquake
fae98f66fe
[Docs] Bump minimum required version of GCC to 4.8 2017-11-23 08:02:06 +08:00
Wladimir J. van der Laan
d080a7d503
Merge #11466: Specify custom wallet directory with -walletdir param
c1e5d40 Make debugging test crash easier (MeshCollider)
8263f6a Create walletdir if datadir doesn't exist and fix tests (MeshCollider)
9587a9c Default walletdir is wallets/ if it exists (MeshCollider)
d987889 Add release notes for -walletdir and wallets/ dir (MeshCollider)
80c5cbc Add test for -walletdir (MeshCollider)
0530ba0 Add -walletdir parameter to specify custom wallet dir (MeshCollider)

Pull request description:

  Closes #11348

  Adds a `-walletdir` parameter which specifies a directory to use for wallets, allowing them to be stored separately from the 'main' data directory. Creates a new `wallets/` directory in datadir if this is the first time running, and defaults to using it if it exists.

  Includes tests and release notes. Things which might need to be considered more:
  - there is no 'lock' on the wallets directory, which might be needed?
  - because this uses a new wallets/ directory by default, downgrading to an earlier version won't see the wallets in that directory (not a big deal though, users can just copy them up to the main dir)
  - jnewbery suggested putting each wallet in its own directory, which is a good idea, but out of scope for this PR IMO. EDIT: this is being done in https://github.com/bitcoin/bitcoin/pull/11687
  - doc/files.md needs updating (will do soon)

  I also considered including  a cleanup by removing caching of data directory paths and instead just initialise them once on startup (c.f. #3073), but decided it wasn't super relevant here will just complicate review.

Tree-SHA512: c8ac04bfe9a810c32055f2c8b8fa0d535e56125ceb8d96f12447dd3538bf3e5ee992b60b1cd2173bf5f3fa023a9feab12c9963593bf27ed419df929bb413398d
2017-11-18 14:41:15 +01:00
Wladimir J. van der Laan
ea68190132
Merge #11704: Windows build doc update
1cecea7 doc: Specify required source location for Windows WSL builds (Aaron Clauson)

Tree-SHA512: 6c5bb7f953a4399e1f99da865086a3d5196e7eb0df226f1ec08bde5b9a68bfe8934f45a5dc011623adb607aab7ac79fa8b48ed09f6fec4494179938d9951080e
2017-11-17 14:32:00 +01:00
Aaron Clauson
1cecea71ad doc: Specify required source location for Windows WSL builds
- Added steps to specify required source location for Windows WSL
  builds.
- Attempted to make the introduction and options for building on Windows
  clearer.
2017-11-17 14:31:05 +01:00
MeshCollider
d9878890e4 Add release notes for -walletdir and wallets/ dir 2017-11-18 00:50:58 +13:00
Wladimir J. van der Laan
41221126c8
Merge #11702: [build] Add a script for installing db4
6e4cdd6 [docs] Add reference to install_db4.sh in OS X build instructions (James O'Beirne)
af9103e [build] Add a script for installing db4 (James O'Beirne)

Pull request description:

  Instead of maintaining rote instructions for building BerkeleyDB in `doc/build-{unix,openbsd}.md`, reference a script that does the same thing and can be called from unanticipated contexts, e.g. Docker builds.

  The script was written with portability in mind, though I haven't tested it on openbsd.

  I wasn't sure if we wanted to create a separate directory for this sort of thing (e.g. `contrib/install`) so I just stuck it in `contrib/`; happy to move it around if anyone has another preference.

Tree-SHA512: d2fc83c065d083458c448e6041e5e9ef67f8165974925560a83881d22d1e9448ea3dd4f7a38196800a8cd6dcf206208a2d6d12417bfe094902d4754e4ca67f18
2017-11-17 12:45:00 +01:00
James O'Beirne
6e4cdd67b1 [docs] Add reference to install_db4.sh in OS X build instructions 2017-11-16 11:49:34 -08:00
James O'Beirne
af9103eb75 [build] Add a script for installing db4
Instead of maintaining not-easily-tested instructions for building BerkeleyDB
in doc/build-unix.md, package the installation as a script in contrib/. This
allows shared usage from a number of contexts, e.g. Docker.

Thanks to @jonasschnelli, @laanwj for feedback.
2017-11-16 11:49:19 -08:00
Russell Yanofsky
434f5a2506 Recommend #include<> syntax in developer notes 2017-11-16 08:23:03 +13:00
Wladimir J. van der Laan
927a1d7d08
Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main)
89f0312 Remove redundant pwallet nullptr check (Matt Corallo)
c4784b5 Add a dev notes document describing the new wallet RPC blocking (Matt Corallo)
3ea8b75 Give ZMQ consistent order with UpdatedBlockTip on scheduler thread (Matt Corallo)
cb06edf Fix wallet RPC race by waiting for callbacks in sendrawtransaction (Matt Corallo)
e545ded Also call other wallet notify callbacks in scheduler thread (Matt Corallo)
17220d6 Use callbacks to cache whether wallet transactions are in mempool (Matt Corallo)
5d67a78 Add calls to CWallet::BlockUntilSyncedToCurrentChain() in RPCs (Matt Corallo)
5ee3172 Add CWallet::BlockUntilSyncedToCurrentChain() (Matt Corallo)
0b2f42d Add CallFunctionInQueue to wait on validation interface queue drain (Matt Corallo)
2b4b345 Add ability to assert a lock is not held in DEBUG_LOCKORDER (Matt Corallo)
0343676 Call TransactionRemovedFromMempool in the CScheduler thread (Matt Corallo)
a7d3936 Add a CValidationInterface::TransactionRemovedFromMempool (Matt Corallo)

Pull request description:

  Based on #10179, this effectively reverts #9583, regaining most of the original speedups of #7946.

  This concludes the work of #9725, #10178, and #10179.

  See individual commit messages for more information.

Tree-SHA512: eead4809b0a75d1fb33b0765174ff52c972e45040635e38cf3686cef310859c1e6b3c00e7186cbd17374c6ae547bfbd6c1718fe36f26c76ba8a8b052d6ed7bc9
2017-11-15 16:25:40 +01:00
Jonas Schnelli
4db82b7aab
Merge #11680: [docs] Add instructions for lcov report generation
5ff01c236 [docs] Add instructions for lcov coverage report generation (James O'Beirne)

Pull request description:

  After rediscovering the `lcov` report generation recipe one too many times, it seemed prudent to write some doc.

Tree-SHA512: 20e1b5f51ecd39e14bd67986a2c1578fb7da03a50625366eaca35b201db66aef99cd4a5456df3aaca5d2d66b18ed7d2e8eb8f3bd9c7aaf9af48164d9bac38931
2017-11-14 21:29:08 -10:00
James O'Beirne
5ff01c2363 [docs] Add instructions for lcov coverage report generation 2017-11-14 15:29:45 -08:00
practicalswift
d8ac893268 trivial: Fix typo – "Ubutntu" → "Ubuntu" 2017-11-14 10:23:41 +01:00
Thoragh
73a7e6d186 Update WSL installation for Fall Creators update 2017-11-14 03:18:31 +01:00
MarcoFalke
41aa9c4a80
Merge #11663: [trivial] doc: Add getreceivedbyaddress release notes
fa0c7c7f8 doc: Add getreceivedbyaddress release notes (MarcoFalke)

Pull request description:

  C.f. #11055

  Also, remove release note snippets of previous versions.

Tree-SHA512: 3ec0722d2f69b24fdaddb65e3a602ffb79b986ae6910425d6c3639e250b88432885ac4cc738ec395ac80551e73dfc2cd59b2d2b6645c3986b97c4046ead27cbc
2017-11-13 14:57:26 -05:00
Wladimir J. van der Laan
927e5280bd
Merge #11035: [contrib] Add Valgrind suppressions file
4a426d8 Add note about Valgrind suppressions file in developer-notes.md (practicalswift)
84e2462 contrib: Add Valgrind suppressions file (practicalswift)

Pull request description:

  Includes known Valgrind warnings in our dependencies that cannot be fixed in-tree.

  Example use:

  ```
  $ valgrind --suppressions=contrib/valgrind.supp src/test/test_bitcoin
  $ valgrind --suppressions=contrib/valgrind.supp --leak-check=full \
        --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite
  ```

  Running with the suppressions file under Ubuntu 16.04:

  ```
  $ valgrind --suppressions=contrib/valgrind.supp --leak-check=full --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite --run_test=wallet_crypto
  …
  ==10769== LEAK SUMMARY:
  ==10769==    definitely lost: 0 bytes in 0 blocks
  ==10769==    indirectly lost: 0 bytes in 0 blocks
  ==10769==      possibly lost: 0 bytes in 0 blocks
  ==10769==    still reachable: 0 bytes in 0 blocks
  ==10769==         suppressed: 72,704 bytes in 1 blocks
  ```

  Running without the suppressions file under Ubuntu 16.04:

  ```
  $ valgrind --leak-check=full --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite --run_test=wallet_crypto
  …
  ==10724== 72,704 bytes in 1 blocks are still reachable in loss record 1 of 1
  ==10724==    at 0x4C2DBF6: malloc (vg_replace_malloc.c:299)
  ==10724==    by 0x6F74EFF: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
  ==10724==    by 0x40106B9: call_init.part.0 (dl-init.c:72)
  ==10724==    by 0x40107CA: call_init (dl-init.c:30)
  ==10724==    by 0x40107CA: _dl_init (dl-init.c:120)
  ==10724==    by 0x4000C69: ??? (in /lib/x86_64-linux-gnu/ld-2.23.so)
  ==10724==    by 0x2: ???
  ==10724==    by 0x1FFF0006D2: ???
  ==10724==    by 0x1FFF0006E8: ???
  ==10724==    by 0x1FFF0006FF: ???
  ==10724==
  ==10724== LEAK SUMMARY:
  ==10724==    definitely lost: 0 bytes in 0 blocks
  ==10724==    indirectly lost: 0 bytes in 0 blocks
  ==10724==      possibly lost: 0 bytes in 0 blocks
  ==10724==    still reachable: 72,704 bytes in 1 blocks
  ==10724==         suppressed: 0 bytes in 0 blocks
  ```

Tree-SHA512: 9c92079fc61313ea678deb6aaa16a3a71c3154c757459793eb9ca0d90a9a74c6faebfb04c9135e1b398ca34224fb7f03bd9c488ea0e8debf6894f69f030a31d3
2017-11-13 15:00:45 +01:00
Wladimir J. van der Laan
7fbf3c638f
Merge #11438: Updated Windows build doc for WSL/Xenial workaround
7383d77 Updated instructions for Windows 10 Fall Creators Update. (Aaron Clauson)
e0fc4a7 Updated Windows build doc for WSL/Xenial workarounds. (Aaron Clauson)

Pull request description:

  An update to the Windows build document that provides workarounds for the broken 64 bit mingw32 cross compiler on WSL/Xenial.

  This update is an alternative to pull request #11437. While that pull request takes a valid approach by stating building on WSL should be avoided I think it is more useful to give Windows developers a workaround option.

  The instructions have been tested on:
  - Ubuntu 14.04 and 64 bit mingw32 tool chain
  - Ubuntu 16.04 and 64 bit mingw32 tool chain
  - Ubuntu 17.04 and 64 bit mingw32 tool chain
  - Windows Subsystem for Linux (Windows 10 OS Build 15063.608) and 32 bit mingw32 tool chain
  - Windows Subsystem for Linux (Windows 10 OS Build 15063.608) and 64 bit mingw32 tool chain

  Related items:
  - Serious incompatibility problems w/ newer mingw-64 on Ubuntu #8653
  - `-fstack-protector-all` triggers crashes in mingw-w64 5.3.1 #8732
  - Windows build appears broken on WSL (buntu okay) #10269
  - Compilation error for windows target #11437

Tree-SHA512: 7c937e37ed7120ae5dcf61aba50e5228a7ed6f729647c724b8f48e7cbbd81366c1a83a818618766a8fe0418425e05ba2eba2b14f2616621c58606585444f45fc
2017-11-13 12:48:55 +01:00
practicalswift
4a426d8900 Add note about Valgrind suppressions file in developer-notes.md 2017-11-12 17:11:47 +01:00
MarcoFalke
fa0c7c7f86 doc: Add getreceivedbyaddress release notes
Also, remove release note snippets of previous versions.
2017-11-11 12:55:45 -05:00
Wladimir J. van der Laan
6de3203cdc
doc: Add historical release notes for 0.15.1
Tree-SHA512: 83d1b5c392ada61c846ece98e5060ead8b79989a024d241ade20b607af3651a832f59adc73d34771b4e9ec573315cb19ea20743d7d7d88dbbec0e60b2ca81729
2017-11-11 14:40:43 +01:00
Wladimir J. van der Laan
e1f6a2a801
Merge #11565: Make listsinceblock refuse unknown block hash
659b206 Make listsinceblock refuse unknown block hash (Russell Yanofsky)

Pull request description:

  Change suggested by @theuni  who noticed listsinceblock would ignore invalid block hashes causing it to return a completely unfiltered list of transactions.

Tree-SHA512: 3c8fb160265780d1334e856e853ab48e2e18372b8f1fc71ae480c3f45317048cc1fee0055d5c58031981a91b9c2bdbeb8e49a889d04ecba61729ce8109f2ce3f
2017-11-01 14:12:54 +01:00
Russell Yanofsky
659b2061c4 Make listsinceblock refuse unknown block hash
Change suggested by Cory Fields <cory-nospam-@coryfields.com> who noticed
listsinceblock would ignore invalid block hashes causing it to return a
completely unfiltered list of transactions.
2017-10-26 07:10:59 -04:00
fanquake
9d30f54ef1
[Docs] Update OpenBSD Build Instructions for OpenBSD 6.2 2017-10-25 10:57:56 +08:00
Aaron Clauson
7383d77264 Updated instructions for Windows 10 Fall Creators Update. 2017-10-18 10:14:22 +11:00
Aaron Clauson
e0fc4a7356 Updated Windows build doc for WSL/Xenial workarounds. 2017-10-15 22:51:53 +11:00
Matt Corallo
c4784b5065 Add a dev notes document describing the new wallet RPC blocking 2017-10-13 19:30:15 -04:00
Wladimir J. van der Laan
becbd71b0c
Merge #11437: [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04
696ce46 [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 (fanquake)
4f890ba Add new step to clean $PATH var by removing /mnt specific Window's %PATH% paths that cause issues with the make system (Donal OConnor)

Pull request description:

  This updates the Windows build documentation with the workaround required to build using Ubuntu 17.04 on WSL, and makes it's explicit that building on Ubuntu 16.04 is broken, and not recommended.

  This includes a commit from @donaloconnor in #11244, and is mostly the investigative work of @laanwj throughout #8732, #8653 and quite a few other issues.

  I tested building on 14.04, 16.04.3 and 17.04 [here](https://github.com/bitcoin/bitcoin/pull/11244#issuecomment-327990251) and got the results we expect.

  ---

  Built master at c22a53cd63 on a Windows 10 VM (Version 1607, OS Build 14393.1593) using WSL with Ubuntu 14.04.
  ![windows](https://user-images.githubusercontent.com/863730/30195033-867f1f24-9489-11e7-932c-e87b8764a627.png)

  Upgraded WSL to 16.04.3, and tried building c22a53cd63 using these instructions. The result is as expected.
  ![ubuntu 16 04 3](https://user-images.githubusercontent.com/863730/30235670-b9bf36bc-953d-11e7-8c1d-4debf7113032.png)

  Upgraded WSL to 17.04 and tried building 3255d6347b using these instructions.
  ![ubuntu 17 04](https://user-images.githubusercontent.com/863730/30235669-b7473434-953d-11e7-8ea3-d05a319ae2d4.png)

  If someone else could also verify that builds are working on both 14.04 and 17.04 with these instructions, that would be great.

Tree-SHA512: 866f1003eb45d208d8ae849504f54fc2f27c32240129d2124ce5a2ee7167bcbf062d29f23b1745123f532ffd0253a8611e719b2a316d1331d3c3924f91e7775d
2017-10-05 18:06:10 +02:00
Wladimir J. van der Laan
7f11ef2608
Merge #9937: rpc: Prevent dumpwallet from overwriting files
0cd9273 rpc: Prevent `dumpwallet` from overwriting files (Wladimir J. van der Laan)

Pull request description:

  Prevent arbitrary files from being overwritten by `dumpwallet`. There have been reports that users have overwritten wallet files this way. It may also avoid other security issues.

  Fixes #9934. Adds mention to release notes and adds a test.

Tree-SHA512: 268c98636d40924d793b55a685a0b419bafd834ad369edaec08227ebe26ed4470ddea73008d1c4beb10ea445db1b0bb8e3546ba8fc2d1a411ebd4a0de8ce9120
2017-10-04 15:01:24 +02:00
fanquake
696ce46306
[Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 2017-10-03 07:49:25 +08:00
Donal OConnor
4f890ba6bc
Add new step to clean $PATH var by removing /mnt specific Window's %PATH% paths that cause issues with the make system 2017-10-02 18:28:53 +08:00
Wladimir J. van der Laan
0cd9273fd9 rpc: Prevent dumpwallet from overwriting files
Prevent arbitrary files from being overwritten. There have been reports
that users have overwritten wallet files this way. It may also avoid
other security issues.

Fixes #9934. Adds mention to release notes and adds a test.
2017-09-26 16:12:47 +02:00
MarcoFalke
fa082b4ee0 doc: move gitian building to external repo
This reduces the overhead in the git repo due to binary blobs of
the png files.

Also, the documentation can be updated independent of any tags and
release cycles.
2017-09-25 15:45:38 +02:00
Wladimir J. van der Laan
a3b4c5943b
Merge #11392: Fix stale link in gitian-building.md
204cc98 fix  link error (Shooter)

Pull request description:

  The  `perform-gitian-builds`  is  not  exist,
  replace  `perform-gitian-builds` with  `setup-and-perform-gitian-builds`.

Tree-SHA512: c4f3fb4b6ae502a2e7a6857d3075734d493f549871b80ec00a2733ee689b00f98aa67ce7c3b7facf1ae4949b7845e1e2ef6f727aeca0c88c00b46d77b4d7e570
2017-09-25 11:48:26 +02:00
Pieter Wuille
12ed800ab8
Merge #11390: [docs] document scripted-diff
90ab62c45 [docs] document scripted-diff (John Newbery)

Pull request description:

  Document scripted-diffs in developer-notes.md

  I sometimes comment on PRs that a scripted-diff would be appropriate, but I don't have any documentation to point to. Fix that.

Tree-SHA512: 7d4a14b9217c812e4c27601e5e6dd8054cf5104cd20ecbe1ec0a84c217cc4b0645b7c0d2e3a89fdd4d059cafbc388acbddba75a430308f8279200b9383e009de
2017-09-24 17:38:59 -07:00
John Newbery
90ab62c451 [docs] document scripted-diff 2017-09-24 08:16:48 -04:00
Shooter
204cc98261 fix link error
The  `perform-gitian-builds`  is  not  exists,
repalce  `perform-gitian-builds` with  `setup-and-perform-gitian-builds`.
2017-09-24 17:39:41 +08:00
Wladimir J. van der Laan
10a20bf770
Merge #11338: qt: Backup former GUI settings on -resetguisettings
723aa1b qt: Backup former GUI settings on `-resetguisettings` (Wladimir J. van der Laan)

Pull request description:

  Writes the GUI settings to `guisettings.bak` in the data directory before wiping them. This can be used to retroactively troubleshoot issues (e.g. #11262) where `-resetguisettings` solves the problem.
  (as discussed in yesterday's IRC meeting)

Tree-SHA512: c64f5052d992eb02057ba285435f143c42d0cc456144a4c565e1c87be833737f9df750d0aee10810f85047c820d9b4f9f22fd94a6f09f4b28a9cf41b63a56586
2017-09-23 09:40:28 +02:00
Wladimir J. van der Laan
723aa1b875 qt: Backup former GUI settings on -resetguisettings
Writes the GUI settings to `guisettings.bak` in the data directory
before wiping them. This can be used to retroactively troubleshoot
issues (e.g. #11262) where `-resetguisettings` solves the problem.
2017-09-23 09:34:53 +02:00
Wladimir J. van der Laan
2847480275
Merge #11305: [doc] Update release notes and manpages for 0.16
fa65dcd doc: Update release notes for 0.16.0 (MarcoFalke)
fa2c3b6 doc: Bump manpages to 0.15.99 (MarcoFalke)

Pull request description:

  This updates the release notes for the breaking changes to `-usehd` option and the `getinfo` rpc.
  Also, bumps the manpages to current master.

Tree-SHA512: 55b74375fa680d6043882e3cc37bc655840c9e719d67f60d4d615c10399d570cf6ed4dc338635be80d4044d4ed12cebde1370729ccb6794182e6d9c9910dab04
2017-09-20 18:52:42 +02:00
Wladimir J. van der Laan
1ab1b687cb
doc: Add release notes for 0.15.0.1
Tree-SHA512: 488ee6fda9f9d2eb1c4d78f37d7b21c019ca70dc1899ef7dd275b5ef615fb5afebd6805147649753dd3497e2e98bfb2c601d8c3cffed04781652f84c9c0d32e5
2017-09-19 15:03:42 +02:00