Commit Graph

39 Commits

Author SHA1 Message Date
Evan Duffield
61745d7724 Filter SigTime modes / version / proto bump 2015-07-24 16:10:44 -07:00
UdjinM6
753297ea99 drop -masternodeminprotocol/nMasternodeMinProtocol, use masternodePayments.GetMinMasternodePaymentsProto() 2015-07-20 08:03:36 +03:00
UdjinM6
dba572ac96 use specific protocols 2015-07-20 04:54:02 +03: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
Evan Duffield
c489574e8a Masternode System Bug Fixes
- Fixed a race condition with masternode node selection upon new blocks
- Using nTime for lastpaid instead of the current time for high consensus
2015-06-14 17:05:51 -07: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
40149c4e41 Budgeting Software / Reference Node Removal
- Added commands for using budgets "mnbudget" and "mnfinalbudget"
- Supports 100% decentralized budget control and view-only site with json meta data object
2015-05-14 18:01:15 -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
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
3cfd9538d5 Merge branch 'master' into merge_btc010 2015-04-10 19:32:57 +03:00
UdjinM6
27514f0f80 masternode stop should disable MN and remove it from MN list 2015-04-08 07:02:23 +03:00
Evan Duffield
631e4b505f fixed vote-many 2015-04-07 12:59:30 -07:00
UdjinM6
64eebc3316 0.12 dirty merge'n'fix (bitcoin 0.10) 2015-04-04 19:24:37 +03:00
UdjinM6
7ae6c961f7 use strMagicMessage to verify mncache.dat, rewrite (only) if hash and both magic are ok 2015-03-24 13:43:14 +03: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
35bb210c6b Dash rebranding 2015-03-17 16:06:58 -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
819724ad1d merged proof-of-service 2015-03-16 09:40:39 -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
UdjinM6
6933d17a80 - new function GetMasternodeRanks returns full masternode rank list
- use GetMasternodeRanks in "masternode list rank" instead of GetMasternodeRank
- small cleanup
2015-03-14 21:37:43 +03:00
UdjinM6
b5414e1c3c save nDsqCount in mncache.dat 2015-03-06 20:59:19 +03:00
UdjinM6
e522cbfd6a rename masternodes.dat->mncache.dat / fix strings 2015-03-05 20:39:47 +03:00
Evan Duffield
f63e1ddfd0 Merge branch 'v-1.11.2.x' of https://github.com/darkcoinproject/darkcoin into v0.11.2.x 2015-03-05 08:23:43 -07:00
Mike Kinney
98fe439af4 V0.11.2.x update comments 2015-03-05 00:10:15 -08:00
UdjinM6
2a5d588784 Make masternodes.dat verification more specific, prevent from overwriting corruped files and files with unknown format, give more info in debug.log output 2015-03-05 02:46:50 +03:00
Evan Duffield
a6b58ab1e8 Merged masternode blinding 2015-03-04 08:58:36 -07:00
evan82
40b2ac6e3e Merge pull request #211 from UdjinM6/v0.11.2.x_pay_to_oldest_legit
V0.11.2.x pay to oldest legit MN
2015-03-01 19:06:17 -07:00
evan82
e2cf12b9de Merge pull request #210 from UdjinM6/v0.11.2.x_check_exp_mn_on_start
V0.11.2.x check expired MNs right on client start
2015-03-01 19:04:22 -07:00
UdjinM6
b2017ebefa find oldest legit masternode to pay / naming "now" -> "sigTime" 2015-03-01 18:45:27 +03:00
UdjinM6
80ce3f5a06 clear maps in mnodeman 2015-03-01 03:04:17 +03:00
UdjinM6
4af7c7411a check and remove expired masternodes on client start / more info on load/flush 2015-03-01 02:56:52 +03:00
UdjinM6
4fe845bf15 Fix crashes on remove from vector
Few more locks and slight iterators optimization
2015-02-27 02:12:43 +03:00
UdjinM6
2e05bf212e Change the way changes are handled:
- do not keep track of a single time variable for whole structure change
- save to masternode.dat and clear on checks:
  - who's asked for the masternode list and the last time
  - who we asked for the masternode list and the last time (will help to prevent dseg ban when restart wallet several times in short period of time)
  - which masternodes we've asked for
- do not use timeout for CheckAndRemove (played with that - doesn't make sense actually)
2015-02-26 02:21:28 +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
dd61090051 move list logic back to rpcdarkcsend and give it a copy of vMasternodes (json dep in mnodeman is ugly, my bad) 2015-02-24 02:48:11 +03:00
UdjinM6
adddff85a2 CMasternodeMan - masternode manager class - part1(broken) 2015-02-23 23:01:21 +03:00