Commit Graph

31 Commits

Author SHA1 Message Date
Evan Duffield
6e0a468701 Highly improved syncing process 2015-07-14 19:48:02 -07:00
Evan Duffield
0b3ef3c9fe Various fixes
- Proposal submitting now works properly
- Syncing proposals now works properly
- Finalized budgets are now created correctly
2015-07-12 10:34:21 -07:00
Evan Duffield
a8f5472037 fixed compile error 2015-07-08 08:19:07 -07:00
evan82
872ef7f9a9 Merge pull request #414 from UdjinM6/v0.12.0.x_fix_minmnpaymentsproto
V0.12.0.x fix min mnpayments proto usage
2015-07-08 07:20:31 -07:00
UdjinM6
635778f0ab use spork dependent logic to get the right minimal proto everywhere MIN_MNPAYMENTS_PROTO_VERSION was used previously 2015-07-08 05:00:09 +03:00
UdjinM6
9cfdaffee5 introduce RelayInv 2015-07-08 04:31:10 +03:00
Evan Duffield
4596e7f336 Vastly improved proposal management implementation
-Syncing now happens in stages. Masternodes and Sporks, then Masternode winners, then proposals. Some of these require the masternode signatures, otherwise there are race conditions within the syncing process itself.
-Resigning - When a proposal is sent to the network initially it's signed by a masternode, if that masternode goes inactive the proposal becomes invalid. Resigning allows other masternodes to update proposal keep it valid with the coming and going of masternodes.
-Resigning compatibility - non masternodes will scan and flag proposals as invalid to accept updated owners.
-Invalid votes are now actively removed from the proposals when they go inactive
- Remove budgets with negative votes of more than 10% of network
- Only allow proposals into budget that have more than 10% of network support
- Faster removal of inactive masternodes
2015-07-06 10:46:58 -07:00
Evan Duffield
a89b0e705f Fixed syncing code for stuck clients 2015-07-01 16:46:03 -07:00
Evan Duffield
8a4c22ec9a fixed typo 2015-06-25 11:22:11 -07:00
Evan Duffield
55dda32f34 Removed need for amounts in masternode winners protocol 2015-06-25 11:08:50 -07:00
Evan Duffield
e3963ea71c Spork changes / improvements
- New Command "Spork Active" : Show which sporks report as active
- Cleaned up the spork code and fixed some bugs with defaults
2015-06-25 08:17:53 -07:00
Evan Duffield
fd8afcc91a added masternode status info 2015-06-24 09:41:03 -07:00
UdjinM6
08a6803165 fixing all kind of typos etc 2015-06-23 23:44:20 +03: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
Evan Duffield
12e5f8f4d4 added some debugging 2015-06-22 06:50:33 -07:00
Evan Duffield
dddc095856 changed enforcement strategy for mn payments 2015-06-21 10:06:25 -07:00
Evan Duffield
a0d8442835 added hybrid keys for masternode payment voting 2015-06-19 11:33:02 -07:00
Evan Duffield
5c4dc3727b fixed issue with reindex and super blocks 2015-06-16 07:04:50 -07: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
eaf7b940a6 Complete rewrite of consensus code for mn/budget payments
- Added FindProposal and FindFinalBudget to budgeting class
- Added 2 new sporks for Proposals and Budget payment enforcement. This is outside of the decentralized code so we can turn it off if there's a problem.
- Detect budget blocks and pay correct amounts in super blocks
2015-05-30 10:27: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
d470eddc01 fixed hashing issues with mnw messages 2015-05-27 15:07:53 -07:00
Evan Duffield
fe55b12a1f added improvements for finding next masternode to get paid 2015-05-27 12:47:01 -07:00
Evan Duffield
41eb74dc82 Stable budget implementation
- All budgeting code seems to be rather stable now. Serialization/caching is working rather well.
- Fixed some ambiguous variable names within the budgeting system that were causing the file caching to not work all of the time
2015-05-27 09:28:55 -07:00
Evan Duffield
efe377fa69 tie budget system to masternode payment system 2015-05-26 07:56:51 -07:00
UdjinM6
397654ef76 fix masternode payments bugs 2015-05-16 05:53:53 +03: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
7d33b6d8b3 Masternode Last Paid Times
-Update nLastPaid when blocks come in
2015-04-16 14:08:58 -07:00
Evan Duffield
d25cf1af22 Split masternode and payments code 2015-04-16 13:26:18 -07:00