Evan Duffield
fd8afcc91a
added masternode status info
2015-06-24 09:41:03 -07:00
UdjinM6
a6a04cb5c1
refactor: dsee -> mnb
2015-06-23 18:40:08 +03:00
Evan Duffield
b8c842744d
clear out old masternodes in CheckAndRemove
2015-06-21 06:54:07 -07:00
Evan Duffield
ca95ca2d95
fixed nDos for failure of mnp
2015-06-20 13:28:41 -07: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
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
fe55b12a1f
added improvements for finding next masternode to get paid
2015-05-27 12:47:01 -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
b26ea22a70
Merge branch 'master' into merge_btc010
2015-04-13 22:46:04 +03:00
Evan Duffield
c38eff15e0
Ignore dsee entries with signatures
2015-04-13 10:49:02 -07:00
UdjinM6
3cfd9538d5
Merge branch 'master' into merge_btc010
2015-04-10 19:32:57 +03:00
Evan Duffield
a79196bc19
fixed masternode find bug
2015-04-09 12:17:32 -07:00
evan82
cd4b13d86d
Merge pull request #301 from UdjinM6/fix_mnstop
...
masternode stop should disable MN and remove it from MN list
2015-04-08 07:17:52 -07:00
UdjinM6
27514f0f80
masternode stop should disable MN and remove it from MN list
2015-04-08 07:02:23 +03:00
Evan Duffield
ad348211f8
Merge branch 'v0.11.2.x' of https://github.com/darkcoin/darkcoin into v0.11.2.x
2015-04-07 20:04:02 -07:00
Evan Duffield
631e4b505f
fixed vote-many
2015-04-07 12:59:30 -07:00
UdjinM6
41f592aec7
Explicitly convert mutable txes to immutable before calling AcceptableInputs
2015-04-07 05:59:56 +03:00
UdjinM6
23129a063f
Merge branch 'master' into merge_btc010
2015-04-04 20:15:38 +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
09a898769a
remove donations to multisig addresses
2015-04-03 20:26:55 -07:00
Evan Duffield
ef96abcde4
Merge branch 'master' of https://github.com/darkcoin/darkcoin
2015-03-31 14:22:27 -07:00
Evan Duffield
57127ce661
use different cs for dsee
2015-03-31 14:21:59 -07:00
UdjinM6
ae2dec6780
Fix MN dsee: MN should not update itself in MN list until it activated
2015-03-31 17:29:31 +03:00
UdjinM6
d08949970c
Merge branch 'v0.11.2.x' into v0.11.2.x_mncache_strmagic
2015-03-24 19:14:07 +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
UdjinM6
6f11893ea1
ProcessMasternodeConnections should work on testnet too
2015-03-24 05:03:34 +03:00
UdjinM6
cfc4bbd986
do not check mn unless only active requested
2015-03-24 05:02:22 +03:00
UdjinM6
0fd7c655a4
move mn state enum inside class
2015-03-24 04:59:12 +03:00
Evan Duffield
4152eea1c1
fixed ranking issues for PoSe
2015-03-23 05:59:22 -07:00
Evan Duffield
c5da226a09
changed some locks
2015-03-21 20:10:34 -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
80eafa36d5
fixed dsee sync
2015-03-17 16:12:06 -07:00
Evan Duffield
35bb210c6b
Dash rebranding
2015-03-17 16:06:58 -07:00
Evan Duffield
1f47914316
fixed bugs / removed spam
2015-03-16 15:25:15 -07: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
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
3bb912d8c3
allow 9999 for MNs on mainnet only
2015-03-11 22:26:39 +03: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
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
evan82
5965bec6ba
Merge pull request #222 from UdjinM6/v0.11.2.x_reject_too_old_mn
...
v0.11.2.x better old mn filtering
2015-03-05 08:15:01 -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
UdjinM6
84f4657ff9
Prevent masternodes with protocol less then nMasternodeMinProtocol (set to MIN_PEER_PROTO_VERSION by default now) to be able to stay in masternode list. Scenario: MIN_PEER_PROTO_VERSION was bumped but because we remember masternode we will never ask it for dsee again.
2015-03-04 22:04:02 +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
f4f3f6bd6a
prevent gaming sigTime too much on initial dsee
2015-03-01 18:51:30 +03:00
UdjinM6
b2017ebefa
find oldest legit masternode to pay / naming "now" -> "sigTime"
2015-03-01 18:45:27 +03:00
UdjinM6
7b1efb8997
show new number of MNs on add/remove in logs / move output to debug level
2015-03-01 03:26:29 +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
evan82
2d3426755c
Merge pull request #207 from UdjinM6/v0.11.2.x_fix_logs
...
V0.11.2.x fix logs
2015-02-27 06:49:31 -07:00
UdjinM6
e7bf8d0fe6
Few small log output fixes:
...
- fix DumpMasternodes log output (wasn't really working)
- add log output on CMasternodeMan::Add
- slightly edit CMasternodeMan::CheckAndRemove log output
2015-02-27 04:49:12 +03:00
UdjinM6
14ecda3486
With persistant storage this restriction was way too hard and could lead to dramatically shrinking/not updating masternode list after few restarts with some timeouts
2015-02-27 04:41:17 +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
Evan Duffield
848adbb2d3
Fixed compiling errors
...
std::stoi was introduced in C++11, should probably avoid using it
2015-02-26 07:23:06 -07: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
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
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