Commit Graph

133 Commits

Author SHA1 Message Date
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