Commit Graph

248 Commits

Author SHA1 Message Date
UdjinM6
c3b950d457 fix mn anounce: (#813)
- every node should check for "pre-enabled" status of a newly added mn to relay message further (was "enabled" which is wrong - if node is enabled, that's not the first announce, so no need to relay it because most likely we were the one who asked for that mn directly via dseg)
- we should not add ourselves to mn list if announce message has outdated protocol version (report this in log)
- we should remove ourselves from saved list if we start updated mn for the first time and just loaded old list from mncache.dat
2016-05-27 08:24:44 +02:00
UdjinM6
87ad368643 Optimize processing of a (potentially) new MN:
- Move heavy `IsVinAssociatedWithPubkey` deep inside of `CheckInputsAndAdd` to be actually executed only once per masternode and only after much simpler checks were executed;
- Verify `GetInputAge` (it uses cache) before trying to enter `AcceptToMemoryPool` (which hash many ifs and checks inside).
2016-05-24 03:15:53 +03:00
Evan Duffield
d8453bb92b Use chainparams instead of standalone func for mn confirms
- Use function instead of chainparams directly
2016-05-19 13:54:23 -07:00
Evan Duffield
2ca8c85820 fixed voting errors 2016-05-19 11:34:43 -07:00
UdjinM6
eaf57b3fb7 Implemented masternodebroadcast
This set of rpc commands provide an ability to create masternode broadcast messages offline
and relay them from online node later (messages expire in ~1 hour).

Arguments:
1. command        (string or set of strings, required) The command to execute
2. passphrase     (string, optional) The wallet passphrase
Available commands:
  create-alias  - Create single remote masternode broadcast message by assigned alias configured in masternode.conf
  create-all    - Create remote masternode broadcast messages for all masternodes configured in masternode.conf
  decode        - Decode masternode broadcast message
  relay         - Relay masternode broadcast message to the network

Closes #741
2016-03-17 08:29:53 +01:00
UdjinM6
38f386ae1c Few small changes: - Better log output (a bit more granular for mnb, fixing "\n"s and few other small issues) - Unify variable/class members naming a bit
Closes #733
2016-03-16 07:48:37 +01:00
TheLazieR Yip
8675ce1929 Check New MasterNodeBroadcast Time
Closes #722
2016-03-07 12:00:29 +01:00
UdjinM6
67cd10c87d Add some locks to protect chainActive.Tip() and mapBlockIndex
(fixing only few of them here, see next commit for further changes)
2016-03-04 12:10:37 +03:00
UdjinM6
6fc9b4c772 Replace hardcoded 9999 with Params(CBaseChainParams::MAIN).GetDefaultPort() 2016-02-17 21:52:37 +03:00
UdjinM6
a4aef837bd Merge remote-tracking branch 'origin/v0.12.1.x' into mergebtc0.12 + fix 2016-02-16 03:17:25 +03:00
UdjinM6
832e7505dd Merge remote-tracking branch 'bitcoin/0.12' into mergebtc0.12
+ fix AcceptToMemoryPool fDryRun for mnb
2016-02-06 18:53:20 +03:00
UdjinM6
a5ac60b868 Merge remote-tracking branch 'bitcoin/0.12' into HEAD
+ merge fixes
+ keepass on evhttp
2016-02-06 16:48:04 +03:00
Evan Duffield
83f87b0f2d merged 2016-02-04 12:39:53 -07:00
Evan Duffield
eeb53b9682 Vastly faster syncing process / small budget system changes
- Syncing process is now event based, rather than timeout based. This means the system can tell when it's done with each step and moves on between phases much faster. In initial testing it seems to be about 10-15x faster and has synced everytime successfully.
- Please remove print debugging when the syncing system is proven to be debugged.
2016-02-04 12:29:09 -07:00
UdjinM6
e2aaf09700 Cleanup
- lower unobvious dependency through header files, move few includes to the right places
- some trivial code cleanup

Closes #680
2016-01-31 12:08:45 +01:00
evan82
ddf71c0764 Merge pull request #561 from UdjinM6/v0.12.1.x_pre_enabled
V0.12.1.x pre-enabled status from masternodes
2015-09-22 07:14:10 -07:00
UdjinM6
f68a5d8102 remove depreciated dsee/dseep code
Closes #606
2015-09-12 16:35:37 +02:00
Evan Duffield
eebb03eb13 reduce memory usage 2015-09-02 05:20:06 -07:00
Evan Duffield
47fc1e750e revert c5d6b reduced mnw bandwidth 2015-08-29 16:48:19 -07:00
evan82
82606d6322 Merge pull request #562 from UdjinM6/v0.12.1.x_cleanup
V0.12.1.x cleanup
2015-08-28 20:04:48 -07:00
Evan Duffield
c5d6b8486b Drastically reduce bandwidth/cpu usage for syncing
- Only send 1 winner per block for the previous 4500 blocks (was 10 items per block for 6000 blocks)
- Send full sync for last 5 blocks and next 20 blocks
- Turn off mnb cleaning, there aren't that many broadcasts on the network and this could cause problems in some cases
- Fix budget submission collateral check
2015-08-28 14:42:23 -07:00
UdjinM6
657bd1103e Few cleanups:
- compiling errors
- output
- CBitcoinAddress usage cleanup
- refresh qt project file
- fix typo in `masternode` debug category
2015-08-28 23:16:58 +03:00
UdjinM6
84b03d28e0 more mem fixes:
- clean mapMasternodeBlocks and mapSeenSyncMNB too
- clean mapSeenMasternodeBroadcast by lastPing sigTime nad fix clean threshold
2015-08-25 17:15:59 +03:00
UdjinM6
30ab984920 treat MN as pre-enabled while there is no legit ping that differ from initial one (from mnb) 2015-08-22 19:00:12 +03:00
UdjinM6
001b8cf709 more fixes - dsee updated entry 2015-08-14 08:11:57 +03:00
UdjinM6
f0790ed32c fix dseep flood / log output 2015-08-14 04:14:08 +03:00
UdjinM6
cbecd3bfa8 fix 2015-08-12 15:35:58 +03:00
Evan Duffield
8c805923f9 Only relay dsee updates that are new 2015-08-11 18:39:22 -07:00
Evan Duffield
1a2f30c628 fixed compile err 2015-08-11 15:54:27 -07:00
Evan Duffield
5e1a6afe7f Send nLastDsq with MasternodeBroadcast 2015-08-11 15:43:19 -07:00
UdjinM6
6b8c6b5c1a allow mnb to be checked again if issue is (possibly) on our side 2015-08-10 03:38:00 +03:00
UdjinM6
c1aa277286 set a cooldown for MN check 2015-08-08 13:36:30 +03:00
UdjinM6
6b74652b01 track hashes and update "last..." only twice per hash 2015-08-05 04:18:37 +03:00
UdjinM6
dd8fa7c365 Continue work on more debug categories
- rebased to latest v12
- masternode, mnpayments, mnbudget and keepass categories
- remove c_str in logprint(f)
2015-07-31 19:01:18 +03:00
UdjinM6
9ab4a72454 cleanups/fixes:
- use map.insert instead of [] (should be safer)
- debug output / comments / spaces / names
- fix few long strings / make translatable one more label in UI
2015-07-30 19:12:05 +03:00
UdjinM6
afd715286a fix all kind of lock issues 2015-07-30 16:44:18 +03:00
Evan Duffield
145c845d1f Changed vote restrition model
- Masternodes can only vote once per hour now, instead of 100 times a day total
- UI reports back errors now
2015-07-26 07:01:49 -07:00
Evan Duffield
b04faf6e2d Update lastPing in mapSeen obj, remove ping from CMasternode hash 2015-07-25 21:13:17 -07:00
Evan Duffield
c0a5dfba61 Masternode inv messages / save seen in mncache 2015-07-25 12:07:30 -07:00
Evan Duffield
5281c48f70 Fix syncing issues
- if(pindexPrev->nHeight + 4 < pindexBestHeader->nHeight || pindexPrev->nTime + 600 < GetTime()) return;
-- && allowed skipping in various situations, which caused blocks to be rejected because of lack of mnfinalbudget data
2015-07-24 09:10:08 -07:00
Evan Duffield
9e65749ff6 Safer calcscore implementation 2015-07-24 08:50:10 -07:00
Evan Duffield
388f22c576 Version 26 / New masternode consensus system
- Consensus system selects 1/10 of the oldest masternodes by payment, then selects payee by score from those. This fixes various race conditions when blocks are close together or inconsistant historical winner lists.
- Ask for up to 2 cycles of history
- Keep up to 5 cycles of history locally
2015-07-21 20:07:23 -07:00
Evan Duffield
cbe2bae130 Improved lastpaid and fixed votes calculation 2015-07-21 16:57:21 -07:00
Evan Duffield
b2c4e14ee8 Add offset for lastpaid / seperate min mnw peer version 2015-07-21 16:11:49 -07:00
Evan Duffield
e4a0e8340c Masternode payment cache and mnget changes
- Cache saves masternode payment history
- On startup, the client will find the most recent block and calculate the amount of entries to ask for. The other peer will then send that amount of entries to save bandwidth on restarts.
2015-07-20 19:24:43 -07:00
Evan Duffield
37f55a3181 Refactored masternode payments system
- Replaced coinbase cache in favor of using the masternode payments voting system only
- Syncing masternode payments now supports up to the syncing the entire payment list
2015-07-20 15:09:42 -07:00
Evan Duffield
2d745eb539 Don't sync sporks in regtest, fix segfault
- segfault caused by:
-    fRequireEnabled = (fRequireEnabled && pmn->IsEnabled()) || !fRequireEnabled;
-    if(pmn != NULL && fRequireEnabled && pmn->protocolVersion >= masternodePayments.GetMinMasternodePaymentsProto())
2015-07-20 11:56:02 -07:00
Evan Duffield
f36e4251ab mnb/mnp debugging 2015-07-20 11:43:10 -07:00
UdjinM6
cc26cff893 do not require active MN on ping check from UpdateFromNewBroadcast 2015-07-20 20:46:22 +03:00
UdjinM6
753297ea99 drop -masternodeminprotocol/nMasternodeMinProtocol, use masternodePayments.GetMinMasternodePaymentsProto() 2015-07-20 08:03:36 +03:00
UdjinM6
86c869137f fixes for sync 2015-07-20 04:54:02 +03:00
UdjinM6
dba572ac96 use specific protocols 2015-07-20 04:54:02 +03:00
Evan Duffield
9c34930680 Disable nDos on early ping / sync regtest changes 2015-07-19 08:49:46 -07:00
UdjinM6
26fed43603 Major masternode broadcast/ping changes (incompatible with prev version, proto bump required):
- Do not rely on local lastTimeSeen and requested fRequested anymore. Use last know (signed) ping instead and base all logic on that. Should reduce mn list difference between
 nodes.
- Rework CActiveMasternode accordingly along with states, errorMessages, rpc etc.
- Clean some related code, move parts from public to private
- drop c_str in LogPrintf that were related to this functionality (todo: drop it for LogPrintf everywhere else)
2015-07-14 08:50:30 +03:00
UdjinM6
9cfdaffee5 introduce RelayInv 2015-07-08 04:31:10 +03:00
UdjinM6
189e48328d fix 2 crashes 2015-07-03 01:56:43 +03:00
Evan Duffield
f1b868f098 Removed PoSe due to consensus issues
- With nodes coming and going on the network, the network could come to different opinions about who should get paid next in line due to some nodes being flagged as failing a PoSe check. This will have to be fixed by introducing a blockchain based PoSe system, but that's out of the scope of this release. To fix the issues in the interrim, I'm removing PoSe checks for the time being.
2015-06-23 16:44:31 -07:00
Evan Duffield
3c01ffa444 fixed errors from merge 2015-06-23 10:59:14 -07:00
Evan Duffield
43e6976695 merged 2015-06-23 10:53:12 -07:00
Evan Duffield
c72355335c Coinbase Payee Cache Implementation
- Masternode nLastPaid is removed and a new caching system that keeps the last 30 days of coinbase payees replaces it
- To deal with some significant attack vectors, the masternode donation feature was removed. The donation feature was added to support developement anyway, so this will be replaced by the budgeting code.
-  This code should allow the network to come to consensus about who should be paid pretty effectively
2015-06-23 10:48:03 -07:00
UdjinM6
a6a04cb5c1 refactor: dsee -> mnb 2015-06-23 18:40:08 +03:00
Evan Duffield
947b79c8c5 Changed masternode broadcast/pinging logic
- Fixed a bug causing the broadcasts to be ignored in some situations
- Added some logic to rebroadcast new masternodes, so the rest of the network finds out about unknown nodes quickly
- should help masternode payments to work properly
2015-06-20 12:56:56 -07:00
UdjinM6
1e393d5b70 fix mnping 2015-06-18 21:41:01 +03:00
UdjinM6
91c7f66562 remove nLastPaid from CMasternodeBroadcast 2015-06-18 00:18:24 +03:00
UdjinM6
795ee119ec SecondsSincePayment (fix buffer overflow / change logic / move impl to cpp) 2015-06-17 23:03:09 +03:00
UdjinM6
19d9a65f8a add recent (tip - 12) block hash to mnping 2015-06-09 14:37:36 +03:00
Evan Duffield
bd4a7f2fad Masternode payment consensus via quorums
- Payees are chosen by their last payment, if no payment it's based on their hash
- Fixed a few issues with counting quorum votes
2015-05-28 10:45:31 -07:00
Evan Duffield
969826c249 Reference Node / Stubbed Out Budget System
- Removed of reference node and replaced with decentralized quorums that pick the masternodes who get paid each block.
- Made a budgeting system, where masternodes can vote on individual budgets and the data is stored perminently on each clients computer
2015-04-30 07:55:37 -07:00
Evan Duffield
1e69e57662 Masternode Overhaul
- Added new CMasterBroadcast/CmasternodePing objects, with all of the code required to check each new message. SHould be much easier to tell what's going on now.
2015-04-17 23:44:49 -07:00
Evan Duffield
d25cf1af22 Split masternode and payments code 2015-04-16 13:26:18 -07:00
Evan Duffield
88f6a598b9 Updated Reference-Node Implementation
- Added nLastPaid to masternode information for persistant storage of the masternode payment cycle
- Masternodes get flagged as just paid when they enter the masternode list and must wait a full cycle to be paid again
- Masternode RPC commands now show short vin string instead of ip address
2015-04-16 07:08:06 -07:00
UdjinM6
62bbc1176e fix merge 2015-04-10 20:08:01 +03:00
UdjinM6
3cfd9538d5 Merge branch 'master' into merge_btc010 2015-04-10 19:32:57 +03:00
Evan Duffield
91a669e231 Ref-node : Always fill vecLastPayments
- In some rare cases the vecLastPayments would get truncated and would start paying people it paid recently again. This stops that from happening.
2015-04-09 10:06:48 -07:00
UdjinM6
41f592aec7 Explicitly convert mutable txes to immutable before calling AcceptableInputs 2015-04-07 05:59:56 +03:00
UdjinM6
dd39898a6b Merge branch 'master' into HEAD
Resolved conflicts:
	configure.ac
	src/clientversion.h
	src/qt/locale/dash_bg.ts
	src/qt/locale/dash_cmn.ts
	src/qt/locale/dash_de.ts
	src/qt/locale/dash_es.ts
	src/qt/locale/dash_fi.ts
	src/qt/locale/dash_pt.ts
	src/qt/locale/dash_ru.ts
	src/qt/locale/dash_sv.ts
	src/qt/locale/dash_vi.ts
	src/qt/res/icons/toolbar.png
	src/qt/res/icons/toolbar_testnet.png
2015-04-04 19:45:02 +03:00
UdjinM6
64eebc3316 0.12 dirty merge'n'fix (bitcoin 0.10) 2015-04-04 19:24:37 +03:00
Evan Duffield
fea26cfb89 updated minimum for reference node 2015-03-30 12:33:42 -07:00
Evan Duffield
b89fd2e149 compiling warnings / fixed block comparison 2015-03-26 14:11:05 -07:00
Evan Duffield
a34ca7a88c Reference node fixes / debugging
- Only allow payments to be created once per blockHeight
2015-03-26 13:46:19 -07:00
Evan Duffield
6c9cc68449 version 12 2015-03-26 07:29:56 -07:00
UdjinM6
5c1621447d make sure nScanningErrorCount and nLastScanningErrorBlockHeight handled correctly 2015-03-24 04:52:27 +03:00
UdjinM6
2a7c348b16 explicitly grab each piece of data from memory for hashing in CMasternode::CalculateScore 2015-03-23 20:28:36 +03:00
Evan Duffield
4592b5090d fixed masternode donation miscalculations 2015-03-23 07:13:20 -07:00
Evan Duffield
9bafb70a2f changed some locks 2015-03-21 20:27:13 -07:00
Evan Duffield
c5da226a09 changed some locks 2015-03-21 20:10:34 -07:00
Evan Duffield
649937dc4f masternode voting improvements 2015-03-20 20:34:36 -07:00
Evan Duffield
412a6838c7 added masternode voting system for dash initiates 2015-03-20 11:24:11 -07:00
Evan Duffield
dce8718d6b Merge branch 'v11.2-dash' into v0.11.2.x 2015-03-20 07:49:36 -07:00
Evan Duffield
3fff810292 fixed masternode payments FindOldestNotInVec 2015-03-19 08:04:14 -07:00
Evan Duffield
8f39610ee4 Merge branch 'v0.11.2.x' of https://github.com/darkcoinproject/darkcoin into v11.2-dash 2015-03-18 12:50:02 -07:00
Evan Duffield
a1ac7ca8d3 Fixed blinding submission process 2015-03-18 09:47:01 -07:00
Evan Duffield
d83646f5b9 Fixed blinding submission process 2015-03-18 09:41:30 -07:00
Evan Duffield
35bb210c6b Dash rebranding 2015-03-17 16:06:58 -07:00
UdjinM6
0655c17175 bring mn inputage/sigtime checks back (+regtest support) 2015-03-17 04:10:19 +03:00
Evan Duffield
1f47914316 fixed bugs / removed spam 2015-03-16 15:25:15 -07:00
UdjinM6
567fe419d9 fix pubkey/donation conditions 2015-03-17 00:11:15 +03:00
Evan Duffield
c65adeb7d1 Fixed mnw message issue 2015-03-16 13:57:07 -07:00
Evan Duffield
8cd7f8e980 Add structure for donating a percentage of ones earnings to another party via the protocol 2015-03-16 12:01:11 -07:00
Evan Duffield
e5267319ef Complete implementation of Proof-of-Service
- Ensures ports remain open and client are responsive to IX requests.
- Completely 100% decentralized. This farms out the work of checking the masternode network to the masternode network. 1% of the network is determistically selected to check another 1% of the network each block. It takes six separate checks to deactivate a node, thus making it tamper proof.
- Nodes are kept in the masternode list if they fail enough PoSe checks to deactivate. They will continue to be checked until the operator fixes them. However they will not be paid while they're failing checks.
2015-03-16 09:32:18 -07:00
Evan Duffield
c169e49fce Added input/output/sig trickle
- Send a few inputs/output each cycle
- Mix other users inputs/outputs into relay each cycle
- Send signatures as a tickle, also mixed with other users signatures
- Fixed a bug with validating the final transaction
2015-03-07 07:50:14 -07:00
Mike Kinney
c8fe5a9cf7 V0.11.2.x update comments 2015-03-05 00:11:56 -08:00
UdjinM6
b2017ebefa find oldest legit masternode to pay / naming "now" -> "sigTime" 2015-03-01 18:45:27 +03:00
UdjinM6
1ded1b9ec2 Few fixes for processing extra messages:
- call ProcessMessageMasternodePayments on ProcessBlock (lost after moving mnodeman functionality)
- do not process extra functionality messages (DS, IX, spork) on initial download / reindex
2015-02-26 17:40:43 +03:00
UdjinM6
0d51e1c90d better naming/readability (Find) 2015-02-25 14:54:03 +03:00
UdjinM6
259752c627 copyright 2015-02-24 17:05:26 +03:00
UdjinM6
003a1b7d72 track lastTimeChanged for mnodeman and ask for update only if UpdateNeeded 2015-02-24 13:39:29 +03:00
UdjinM6
dd1c1b7d1c CMasternodeMan - masternode manager class - part3 - connect ProcessMessage from mnodeman(rpc still broken) 2015-02-23 23:12:33 +03:00
UdjinM6
14e122cbfa CMasternodeMan - masternode manager class - part2 - fix ProcessMasternodeConnections/ThreadCheckDarkSendPool (still broken) 2015-02-23 23:07:37 +03:00
UdjinM6
adddff85a2 CMasternodeMan - masternode manager class - part1(broken) 2015-02-23 23:01:21 +03:00
evan82
70596bf868 Merge pull request #182 from vertoe/devel-0.9
Weekly translations update.
2015-02-16 12:51:35 -07:00
UdjinM6
428d5976c7 Fix payee selectoin on CMasternodePayments::ProcessBlock
1) find exact payment list
2) find active MNs not payment list
3) if none found - pay to the first active MN from payment list counting from its back
2015-02-16 22:37:24 +03:00
Evan Duffield
b7b2549e56 blockheight should default to current height 2015-02-13 07:55:08 -07:00
Evan Duffield
65aa7db8a2 fixed sync message 2015-02-13 07:43:44 -07:00
Evan Duffield
5907263729 sign payee for masternode payments 2015-02-12 12:55:14 -07:00
Evan Duffield
886f45379a fixed caching 2015-02-09 13:36:45 -07:00
Evan Duffield
a119b3008c use inventory system for masternode winners 2015-02-09 13:23:42 -07:00
Evan Duffield
f510cc309b use block hash caching 2015-02-09 13:21:12 -07:00
Evan Duffield
a4c8341b98 revert changes to calcScore 2015-02-08 21:57:50 -07:00
Evan Duffield
c7a3729637 make calcScore return the same results on all platforms 2015-02-08 17:16:38 -07:00
Evan Duffield
0a077975c7 fixed calcscore 2015-02-07 12:58:43 -07:00
Evan Duffield
a49cc8f5d5 debug 2015-02-07 12:35:33 -07:00
Evan Duffield
4ec5370317 added aux2 data for calcscore 2015-02-07 12:07:08 -07:00
Evan Duffield
ef2b9ef223 debugging 2015-02-07 11:31:15 -07:00
Evan Duffield
ee37d4622e proto bump 2015-02-07 10:47:44 -07:00
Evan Duffield
3a263ed1bf fixed platform issues with calcscore / better re-converge after fork 2015-02-07 10:30:16 -07:00
Evan Duffield
c56a54d211 enforce mn port on mainnet only 2015-02-06 12:41:39 -07:00
Evan Duffield
a950049541 New improved masternode calculation 2015-02-05 16:26:32 -07:00
Evan Duffield
412f54fe8a added improvements to hashing algorithm / block hash caching 2015-02-05 15:56:59 -07:00
Evan Duffield
186699abff Masternode payment improvements / release notes 2015-02-04 08:24:34 -07:00
Evan Duffield
efe22ea1ae fixed segfault 2015-02-04 07:44:23 -07:00
Evan Duffield
feb9a1e922 Improved masternode payments 2015-02-03 10:17:30 -07:00
Evan Duffield
2992907d91 Better DOS protection, fixed min confirmations 2015-02-02 10:33:52 -07:00
Evan Duffield
7e38235e5a Added masternode payee caching 2015-02-02 04:05:21 -07:00
Evan Duffield
a3077626b5 various improvements to IX 2015-02-01 08:53:49 -07:00
Evan Duffield
69ca88c491 Darksend rounds default/litemode changes
4 rounds should be more than enough
2015-01-26 15:54:12 -07:00
Evan Duffield
71e074336b Update dseg limitations
vecMasternodes.size() == 0 is a nearly impossible condition due to the behavior
of dseep. Each time a node receives a ping where it's unaware of the masternode
it will ask for the dsee from it's peer.
-        if(c % 5 == 0 && (RequestedMasterNodeList <= 2 || vecMasternodes.size()
+        if(c % 5 == 0 && RequestedMasterNodeList < 3){
2015-01-26 11:03:36 -07:00
UdjinM6
ed49131f96 fix dseg messaging / banning issue 2015-01-22 03:04:52 +03:00
Evan Duffield
678a43c35b disable reference node code when key is not present 2015-01-20 03:02:11 -07:00
Evan Duffield
539a8683a4 Added LiteMode
LiteMode disables Darksend/Masternodes/InstantX for clients
who want speed and don't need access to these features. UI
for Darksend is also hidden while in this mode.
2015-01-18 08:28:16 -07:00
crowning-
6a93a7c47b Exclude localnet addresses
127.0.0.* addresses shouldn't show up in "masternode list"
2015-01-01 20:18:23 +01:00
Evan Duffield
d219a6c51a randomly sort masternodes before picking next winner 2014-12-30 22:45:45 -07:00
Evan Duffield
bc20787fec Added perfectly balanced masternode payments
- Implemented using a simple round robin algorithm instead of the deterministic round robin approach (was slightly unbalanced)
2014-12-30 22:40:53 -07:00
Evan Duffield
826b18c41f Regtest+Darksend / Dsee update / vecMasternodes
- Made masternodes/darksend compatible with regression testing mode (a local-only blockchain that doesn't require mining). Developers can now test multiple rounds in a few minutes without waiting on mining (much faster).
- Added dsee security verification to v11
- darkSendMasternodes -> vecMasternodes (must clearer)
2014-12-30 19:54:00 -07:00
Evan Duffield
80144a47ab Disable local addresses 2014-12-30 14:41:28 -07:00
Francis Reynders
55cae78c3b Improve support for start-many:
- refactored CActiveMasternode
- added masternodeconfig to handle remote masternode configuration
- read masternodeconfig upon init
- new masternode rpc commands: stop-many, start-alias, stop-alias, list-conf
- added notCapableReason field for better handling not capable issues
2014-12-14 06:06:39 +01:00
Evan Duffield
9aac2038f1 Merged: Error message changed (crowning) 2014-12-11 09:01:39 -07:00
Evan Duffield
78c5ca53f6 Merged in Darksend/InstantX/Masternodes
This doesn't include any of the changes in the darkcoin/v0.10.18.x branch. Those will be brought over into this commit history.
2014-12-11 08:10:35 -07:00