Commit Graph

73 Commits

Author SHA1 Message Date
UdjinM6
a5ac60b868 Merge remote-tracking branch 'bitcoin/0.12' into HEAD
+ merge fixes
+ keepass on evhttp
2016-02-06 16:48:04 +03: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
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
evan82
dac2b0fae5 Merge pull request #490 from UdjinM6/v0.12.0.x_process_on_IsBlockchainSynced
V0.12.0.x process DS,IX,MN,DGBB on IsBlockchainSynced, not on IBD
2015-08-07 06:18:50 -07:00
UdjinM6
8063bcc8aa process DS,IX,MN,DGBB on IsBlockchainSynced, not on IBD 2015-08-07 07:48:55 +03:00
UdjinM6
f57c470f95 ask for mn / lower ban score for mnw 2015-08-07 06:07:40 +03:00
UdjinM6
7d78c98f0d Few more lock-related fixes:
- do not lock cs_main for mnodeman.CheckAndRemove() - we have trylock inside CMasternode.Check, should be enough
- fast cs_main lock for ix
- use RelayInv instead of manually locking nodes / pushing inv
- do not lock cs_vNodes / ClearFulfilledRequest on every 100th block, CMasternodeSync should already handle resync by itself better now
2015-08-05 01:54:31 +03:00
Evan Duffield
c770283371 Lower IX conf minimum
- 1 less than the "send IX" gui requires, incase of a block propagating the network at the time
2015-08-04 10:42:05 -07:00
Evan Duffield
334c3ea971 Added ReprocessBlocks 2015-08-02 16:08:37 -07:00
evan82
718c7f14f9 Merge pull request #384 from UdjinM6/v0.12.0.x_debug_categories
V0.12.0.x additional debug categories
2015-08-01 15:48:03 -07:00
Evan Duffield
fa9a0ec037 Use reconsider blocks for IX instead of disconnect 2015-07-31 12:39:02 -07:00
UdjinM6
1c7c81afb3 cleanup other incorrect ix log outputs 2015-07-31 18:52:19 +03:00
UdjinM6
184611f2ac add instantx debug category 2015-07-31 18:52:19 +03:00
UdjinM6
afd715286a fix all kind of lock issues 2015-07-30 16:44:18 +03:00
Evan Duffield
304ab6c7ab Various improvements to the proposal system
- Proposal scripts are now checked correctly
- Fee transactions are created correctly for IX and non-IX types
2015-07-12 14:02:39 -07:00
Evan Duffield
c701839a43 Proposal Security Overhaul
Submissions to the network now require a fee to be paid to the network (mining fee) using a special transaction with a OP_RETURN && ProposalHash in one of the outputs. This allows the network to filter spam quickly, while also allowing anyone to submit a proposal to the network.

To implement these changes we've introduced a few new commands:

mnbudget prepare PROPOSAL-NAME URL PAYMENT_COUNT BLOCK_START DASH_ADDRESS DASH_AMOUNT YES|NO|ABSTAIN [USE_IX(TRUE|FALSE)]
- To create the special transaction

mnbudget submit PROPOSAL-NAME URL PAYMENT_COUNT BLOCK_START DASH_ADDRESS DASH_AMOUNT YES|NO|ABSTAIN FEE_TX
- After the transaction is accepted by the network and has 3 confirmations, you can submit the transaction to the network here

mnbudget show
- Get the proposal hash from here

mnbudget vote PROPOSAL-HASH YES|NO|ABSTAIN
- You can now simply vote by hash using this command
2015-07-11 13:20:12 -07:00
evan82
2a3b96e020 Merge pull request #411 from UdjinM6/v0.12.0.x_various_small_fixes
V0.12.0.x various small fixes
2015-07-08 07:19:41 -07:00
UdjinM6
9cfdaffee5 introduce RelayInv 2015-07-08 04:31:10 +03:00
UdjinM6
d94967d958 small fixes 2015-07-07 15:47:22 +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
UdjinM6
d53968ea56 fix ix comments 2015-06-04 21:54:33 +03:00
UdjinM6
64eebc3316 0.12 dirty merge'n'fix (bitcoin 0.10) 2015-04-04 19:24:37 +03: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
2e0d7ab0b6 fix even more console spam 2015-03-05 19:40:17 +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
adddff85a2 CMasternodeMan - masternode manager class - part1(broken) 2015-02-23 23:01:21 +03:00
Evan Duffield
23ea75f737 Add maximum out value for IX via spork 2015-02-11 08:08:55 -07:00
Evan Duffield
257078d2a4 Full Spork Implementation
Many sporks are supported at once, with efficient broadcasting
via inventory messages.
2015-02-09 12:49:00 -07:00
Evan Duffield
dd48c4a352 enable IX when fork detected 2015-02-08 11:59:09 -07:00
Evan Duffield
ddc31b0ff7 fixed issues with ix signature propagation 2015-02-07 20:54:36 -07:00
Evan Duffield
2f56ecb10a protocol version 2015-02-07 20:04:08 -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
3a72da77ac clean up tx lock votes on expiration 2015-02-06 13:19:22 -07:00
Evan Duffield
012f0e5660 Implemented inventory system for IX messages 2015-02-06 12:07:22 -07:00
Evan Duffield
dfb3da5ec3 version/protocol bump/min protocol 2015-02-06 09:03:50 -07:00
Evan Duffield
b65d718cf5 debugging 2015-02-06 08:54:39 -07:00
Evan Duffield
76e36bfbea only vote when in the top X nodes 2015-02-05 21:41:17 -07:00
Evan Duffield
6149e55710 extend txlock expiration 2015-02-05 17:49:55 -07:00
Evan Duffield
b27a6a3cac fixed score calculation 2015-02-05 17:32:03 -07:00
Evan Duffield
f51ee91a2c track requests per IX 2015-02-05 11:29:13 -07:00
Evan Duffield
d5376687d4 improvements for resolving forks 2015-02-05 10:56:11 -07:00
Evan Duffield
97d73a72b5 cancel out conflicting locks 2015-02-05 09:48:57 -07:00
Evan Duffield
c8fc2633ee Various IX improvements
- Fixed a segfault with listtransactions and IX
- Improved the feed back of IX while processing
2015-02-05 08:52:02 -07:00
Evan Duffield
77bade91be version bump 2015-02-04 21:05:36 -07:00
Evan Duffield
4064c2f5ef Improved IX security / quicker tx scanning 2015-02-04 14:59:19 -07:00
Evan Duffield
ea06ed5bae fix segfault with disablewallet 2015-02-04 14:19:18 -07:00
Evan Duffield
6ae98a8790 use authoritive block height for IX 2015-02-04 14:09:50 -07:00
Evan Duffield
2a0d3dfb9d Use hash after transaction was mined
- Prevents an attacker from gaming which masternodes they'll use
2015-02-04 13:25:12 -07:00
Evan Duffield
712eb7e9d9 improved conflict resolution 2015-02-04 13:20:13 -07:00