Commit Graph

33 Commits

Author SHA1 Message Date
jl777
be6279d62d ASSETCHAINS_BLOCKTIME 2019-02-09 03:44:03 -11:00
jl777
51a6360f57 Fix 2019-01-21 00:41:59 -11:00
jl777
f22c02d1fd Test 2019-01-21 00:36:06 -11:00
jl777
2cb2b335d7 Prune inconsistent refs 2019-01-21 00:34:19 -11:00
jl777
7cfb6293c6 komodo_defs a lot more 2019-01-21 00:31:14 -11:00
jl777
70fba21c46 SETBIT 2019-01-19 00:50:51 -11:00
jl777
2df13c428f Workaround for -maxreorg 2019-01-09 04:24:04 -11:00
jl777
0ea9ae3c05 Update copyright to 2019 2018-12-31 21:41:05 -11:00
jl777
05d0f6c0b3 +comments 2018-11-29 01:58:48 -11:00
jl777
418439b929 Add height 2018-11-24 08:58:43 -11:00
jl777
91f355fd69 4MB block size with sapling 2018-11-24 08:39:23 -11:00
jl777
0b876f9224 JUMBLR for KMDCC 2018-11-23 08:42:02 -11:00
jl777
d39300e3ff Conditional activate of sapling 2018-11-23 03:26:18 -11:00
jl777
ed81fb7a64 Activate one hour from now 2018-11-22 05:22:08 -11:00
jl777
ac5aa8dff4 Test timestamp 2018-11-22 02:46:24 -11:00
jl777
19042ac062 Activate half hour ago 2018-11-22 01:07:31 -11:00
jl777
e09959ff66 Test activation a week ago 2018-11-22 00:54:39 -11:00
jl777
e6154dc141 Sapling edge detection 2018-11-22 00:27:38 -11:00
miketout
6e2a502b0e Merge of Komodo and Verus Technologies Post Sapling, Pre-VerusPoP with Support for Time locked coinbases 2018-11-14 16:40:10 -08:00
jl777
9a4e737db3 #define KOMODO_FIRSTFUNGIBLEID 100 2018-11-10 01:57:22 -11:00
jl777
19e4c023b6 ASSETCHAINS_TXPOW for signrawtransaction 2018-10-21 11:36:18 -11:00
miketout
e871bb78ad Fix Komodo compatibility 2018-10-17 16:57:27 -07:00
miketout
9feb4b9e08 Major updates integration from all upstreams 2018-09-18 14:33:53 -07:00
Michael Toutonghi
0c8fa56a02 All latest updates, smart contracts, including oracle from KMD/jl777 2018-09-13 13:00:13 -07:00
jl777
7542d92054 Def 2018-09-05 20:01:41 -11:00
miketout
ffda33998f Add fix to remove KMD coinbase check with pool fee workaround at block 227520 (~Oct 28th) 2018-08-30 19:40:07 -07:00
Michael Toutonghi
5034d1c134 Sync with latest Komodo changes 2018-08-06 12:52:22 -07:00
jl777
221cc791c3 Change notary sig to CRYPTO output 2018-05-15 22:45:16 +03:00
jl777
bd070d8bce Prevent relaying expired tx 2018-05-10 12:55:14 +03:00
miketout
48d800c2c6 Merge all Komodo changes, including proof of stake, crypto conditions, passport, etc. 2018-05-02 03:24:21 -07:00
jl777
2ac071da47 KOMODO_LIMITED_NETWORKSIZE
Prior commits relate to supporting a limited size network.

It looks like there is an edge case where it is possible for a hash to
be in the mapIndex, without a pindex. If a block with such a hash is
tried to be Accepted, the AcceptBlockHeader returns true but with a
null pindex, and AcceptBlock fails.

The code says that this indicates that the hash was added from a
blockheader without a block, but I didn’t see that happening. In any
case, it happens a lot on a 2 node network. So much so that if one node
is just mining, before too long the other node will not accept the
block and once that happens, no subsequent block would work as the
prior block is missing.

Of course, with more nodes, these blocks will be around a lot more and
likely it won’t be such an issue, but not so sure that it doesn’t
require restarting the node to get it back on track again.

These prior commits implement a KOMODO_LIMITED_NETWORKSIZE logic where
if it sees that a block has come in which is in the mapIndex but has no
pindex, it automatically addtoblockindex.

There is one edge case still left where both the current block being
processed and its previous block are in this limbo state. Since the
pindex is not mapped to the block, it is problematic to retrieve the
CBlock for the pprev and without the valid pprev the pindex will have a
null pprev and no nHeight set. It is possible that all the other code
will properly deal with such a case and automatically fix it, but
rather than rely on that, in such a case the automatic addtoblockindex
is not done.

A node in such a state would need to exit and restart or somehow fill
in the data from other nodes.

From what I can tell, the above is the main reason why the PoS/PoW
networks were having problems staying in sync. Since even with one
mining node, it was just a matter of time before the other node got
stuck, with more than one mining node we end up with independent forks
that won’t reconcile until the node is restarted.
2018-04-20 17:16:06 +03:00
Michael Toutonghi
26a8d19484 fix build 2018-04-10 00:33:38 -07:00
jl777
5416af1ddc KOMODO_DEFS_H 2017-11-10 19:15:34 +02:00