Commit Graph

13810 Commits

Author SHA1 Message Date
Alexander Block
cd9c6994c2 Implement named devnets (#1791)
* Initial devnet

* Move genesis block adding into its own method

* Introduce -allowprivatenet to lift limitation on RFC1918 addresses

Normally, RFC1918 (192.168.x.x/10.x.x.x/...) addresses are not allowed
to be relayed. Also, masternodes won't start when the address is considered
invalid.

This is needed to test local devnet or regtest based networks.

* Lift the requirement of minimum MN age for regtest/devnet

* Implement named devnets

This allows the creation of multiple independent devnets. Each one is
identified by a name which is hardened into a "devnet genesis" block,
which is automatically positioned at height 1. Validation rules will
ensure that a node from devnet=test1 never be able to accept blocks
from devnet=test2. This is done by checking the expected devnet genesis
block.

The genesis block of the devnet is the same as the one from regtest. This
starts the devnet with a very low difficulty, allowing us to fill up
needed balances for masternodes very fast.

Also, the devnet name is put into the sub-version of the VERSION message.
If a node connects to the wrong network, it will immediately be disconnected.

* Allow to select multiple addresses from the same group in devnet/regtest

The selection code normally only allows to select addresses from the same
group (e.g. 192.168.x.x) once. This results in connecting to only a single
node in devnet/regtest.

* Show the devnet name in the title bar and on the loading screen

* Add AllowMultipleAddressesFromGroup to chainparams and use it in net.cpp

* Remove unused/unneeded scripts from devnet geneses creation

1. OP_RETURN not needed in input script of devnet genesis
2. genesisOutputScript was unused

* Fix copy/paste error in -allowprivatenet description

* Improve -devnet parameter error handling

- Only allow one of -devnet, -regtest or -testnet
- Only allow -devnet=name to be specified once

* Use different datadir for each devnet

* Fix `devnet-devnet` issue

* Fix devnet splashscreen (should use testnet img)

* Avoid passing devNetName around (most of the time)

* Remove nMaxTipAge from CDevNetParams

Not present anymore after rebase on develop
2017-12-20 14:45:01 +03:00
UdjinM6
41850d0368
Merge pull request #1790 from codablock/pr_backport_bitcoin_0.13-2
Backport missing PRs from Bitcoin 0.13 - Part 2
2017-12-20 14:43:53 +03:00
Wladimir J. van der Laan
1f8ca7546e depends: mac deploy Py3 compatibility
This fixes the gitian MacOSX build, it was broken in #7723.

The patch to `native_mac_alias` should probably make it upstream.
2017-12-20 08:49:46 +01:00
Alexander Block
e5b82075ac Fix no-wallet build after backports refactored RPCs 2017-12-20 08:39:44 +01:00
Alexander Block
f235b6a6ac Apply review suggestions/fixes 2017-12-20 07:51:20 +01:00
Wladimir J. van der Laan
6a515e5e20 Merge #7788: Use relative paths instead of absolute paths in protoc calls
0087f26 Use relative paths instead of absolute paths (Pavel Janík)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
d5f1b5ae88 Merge #7791: Doc: change Precise to Trusty in gitian-building.md
190c1e2 Doc: change Precise to Trusty in gitian-building.md (JeremyRand)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
e7d9ffa5d7 Merge #7774: RPC: add versionHex in getblock and getblockheader JSON results
92107d5 RPC: add versionHex in getblock and getblockheader JSON results; expand data in getblockchaininfo bip9_softforks field. (mruddy)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
1cd653cc54 Merge #7781: devtools: Auto-set branch to merge to in github-merge
10d3ae1 devtools: Auto-set branch to merge to in github-merge (Wladimir J. van der Laan)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
c86717a599 Merge #7813: [doc] Update port in tor.md
3373c43 [doc] Update port in tor.md (Adam Brown)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
7ba8612b58 Merge #7797: RPC: fix generatetoaddress failing to parse address
60361ca RPC: fix generatetoaddress failing to parse address and add unit test (mruddy)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
a7514a8e60 Merge #7789: [Doc] Add note about using the Qt official binary installer.
4b9dfd6 Add note about using the Qt official binary installer. (Pavel Janík)
2017-12-19 13:42:36 +01:00
Alexander Block
9dbda86cb1 HDWallet error/warning message fixes 2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
298224b3b7 Merge #7691: [Wallet] refactor wallet/init interaction
25340b7 [Wallet] refactor wallet/init interaction (Jonas Schnelli)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
a5505e7e8c Merge #7711: [build-aux] Update Boost & check macros to latest serials
cf5c786 [build-aux] Update Boost & check macros to latest serials (fanquake)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
21b23d1ec1 Merge #7785: Trivial: Fix typo: Optimizaton -> Optimization [skip ci]
a22bde9 Fix typo: Optimizaton -> Optimization (paveljanik)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
960cb014d3 Merge #7477: Fix quoting of copyright holders in configure.ac.
72fd008 Fix quoting of copyright holders in configure.ac. (Daniel Kraft)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
0956f3d67c Merge #7763: Put hex-encoded version in UpdateTip
eff736e Reformat version in UpdateTip and other messages (Pieter Wuille)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
644240157a Merge #7766: rpc: Register calls where they are defined
fb8a8cf rpc: Register calls where they are defined (Wladimir J. van der Laan)
2017-12-19 13:42:35 +01:00
Wladimir J. van der Laan
18da34e295 Merge #7761: [Qt] remove trailing output-index from transaction-id
7d5e31a [Qt] remove trailing output-index from transaction-id (Jonas Schnelli)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
1c84417780 Merge #7573: P2P: add maxtimeadjustment command line option
e1523ce P2P: add maxtimeadjustment command line option (mruddy)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
a9a209f586 Merge #7723: build: python 3 compatibility
18f05c7 build: python 3 compatibility (Wladimir J. van der Laan)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
ba65eb1ac3 Merge #7764: [qa] Don't run pruning.py twice
faa9f01 [qa] Don't run pruning.py twice (MarcoFalke)
2017-12-19 13:18:30 +01:00
Alexander Block
a309bf372e Clear setInternalKeyPool and setExternalKeyPool instead of setKeyPool
Due to out of order backporting this was missed in the past
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
e2fefa539d Merge #7558: [RPC] Add import/removeprunedfunds rpc call
f1bb13c Added companion removeprunedfunds call. (instagibbs)
7eb7029 Add importprunedfunds rpc call (instagibbs)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
ca33635ef7 Merge #7742: [Wallet][RPC] add missing abandon status documentation
cef8bdf [Wallet][RPC] add missing abandon status documentation (Jonas Schnelli)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
34701da5cb Merge #7737: devtools: make github-merge.py use py3
f11c5a3 devtools: make github-merge.py use py3 (Wladimir J. van der Laan)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
a4911c383b Merge #7646: Fix lockunspent help message
df9e923 Fix lockunspents help message (João Barbosa)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
f933c67266 Merge #7715: Fix calculation of balances and available coins.
68d4282 Fix calculation of balances and available coins. (Alex Morcos)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
760d58e3dc Merge #7671: [RPC] Add generatetoaddress rpc to mine to an address
d5c5c71 RPC tests for generatetoaddress (Andrew C)
fe00ca7 Create generatetoaddress rpc (Andrew C)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
953aeead1f Merge #7710: [Depends] Bump miniupnpc and config.guess+sub
c85f475 [Depends] Latest config.guess & config.sub (fanquake)
5fd2318 [Depends] Miniupnpc 1.9.20160209 (fanquake)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
74fe8fe598 Merge #7649: Prevent multiple calls to CWallet::AvailableCoins
bb16c88 Prevent multiple calls to CWallet::AvailableCoins (João Barbosa)
2017-12-19 13:18:30 +01:00
Alexander Block
aa584522da Dash related changes for feefilter 2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
11ac70af9e Merge #7542: Implement "feefilter" P2P message
0371797 modify release-notes.md and bips.md (Alex Morcos)
b536a6f Add p2p test for feefilter (Alex Morcos)
5fa66e4 Create SingleNodeConnCB class for RPC tests (Alex Morcos)
9e072a6 Implement "feefilter" P2P message. (Alex Morcos)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
2839222434 Merge #7726: Correct importaddress help reference to importpubkey
c5825d2 Correct importaddress help reference to importpubkey (Denis Lukianov)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
04bf554ab4 Merge #7712: Improve COutPoint less operator
0f17692 Improve COutPoint less operator (João Barbosa)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
f4d30a6452 Merge #7708: De-neuter NODE_BLOOM
c90036f Always disconnect old nodes which request filtered connections. (Patrick Strateman)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
8fde2fd5fa Merge #7705: [amount] Add tests and make GetFee() monotonic
fad13b1 [amount] Preempt issues with negative fee rates (MarcoFalke)
faf756a [amount] Make GetFee() monotonic (MarcoFalke)
fab6880 [qa] Add amount tests (MarcoFalke)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
721171ee39 Merge #7686: [qt] Remove 0-fee from send dialog
fae8467 [qt] Remove unneeded "fSendFreeTransactions" check (MarcoFalke)
fa48bb3 [qt] Remove 0-fee from send dialog (MarcoFalke)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
29d2633897 Merge #7594: Mempool: Add tracking of ancestor packages
ce019bf Check all ancestor state in CTxMemPool::check() (Suhas Daftuar)
e2eeb5d Add ancestor feerate index to mempool (Suhas Daftuar)
72abd2c Add ancestor tracking to mempool (Suhas Daftuar)
76a7632 Remove work limit in UpdateForDescendants() (Suhas Daftuar)
5de2baa Rename CTxMemPool::remove -> removeRecursive (Suhas Daftuar)
7659438 CTxMemPool::removeForBlock now uses RemoveStaged (Suhas Daftuar)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
49a8ed6d36 Merge #7683: Fix torcontrol.cpp unused private field warning
3d7e973 Fix torcontrol.cpp unused private field warning (Jonas Schnelli)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
abbbe61d0f Merge #7608: [wallet] Move hardcoded file name out of log messages
fa19b18 [wallet] Move hardcoded file name out of log messages (MarcoFalke)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
5f9bfa0b6d Merge #7670: use cached block hash in blockToJSON()
a6ee0ca use cached block hash in blockToJSON() (Pavel Vasin)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
fb4ec255c6 Merge #7663: Make the generate RPC call function for non-regtest
8a253b3 Make the generate RPC call function for non-regtest (Pieter Wuille)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
fa03411150 Merge #7507: Remove internal miner
8d1de43 Remove internal miner (Leviathn)
2017-12-19 12:55:49 +01:00
Alexander Block
332fbfc0e3 HDWallet fixes after moving wallet initialization 2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
b3525b2e67 Merge #7577: [Wallet] move "load wallet phase" to CWallet
15e6e13 [Wallet] optimize return value of InitLoadWallet() (Jonas Schnelli)
fc7c60d [Wallet] move "load wallet phase" to CWallet (Jonas Schnelli)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
8be396a3b8 Merge #7667: Move GetTempPath() to testutil
2fdaa25 Move GetTempPath() to testutil. (Mustafa)
393b22e Add a source file for unit test utils. (Mustafa)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
f1e95e3584 Merge #7635: [Documentation] Add dependency info to test docs
2ab835a Check if zmq is installed in tests, update docs (Elliot Olds)
2017-12-19 12:55:49 +01:00
Wladimir J. van der Laan
51c6ab20f3 Merge #7576: [Wallet] move wallet help string creation to CWallet
72c2651 [Wallet] move wallet help string creation to CWallet (Jonas Schnelli)
2017-12-19 12:55:48 +01:00