aboutsummaryrefslogtreecommitdiffstats
path: root/core/blockchain.go
Commit message (Collapse)AuthorAgeFilesLines
* core: optimize message handle (#542)Jimmy Hu2019-04-021-7/+23
| | | | | | | | * core: optimize for handling agremenet result * core: disable clone vote * core: touch npks
* core: clean TODOs (#539)Mission Liao2019-04-011-40/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * core: fix block timestamp (#529) * Remove TODO dMoment is still required when the block timestamp of the genesis block is still need to be verified. * Refine timestamp when preparing blocks * Add timestamp checking in sanity check * Revert code to patch position when preparing * Remove TODOs that seems meaningless now * Remove TODOs related to refactoring * core: remove finalization (#531) - Remove types.FinalizationResult, randomness field would be moved to `types.Block` directly. - Add a placeholder for types.Block.Randomness field for blocks proposed from round < DKGDelayRound. (refer to core.NoRand) - Make the height of the genesis block starts from 1. (refer to types.GenesisHeight) - The fullnode's behavior of core.Governance.GetRoundHeight is (assume round-length is 100): - round: 0 -> 0 (we need to workaround this) - round: 1 -> 101 - round: 2 -> 201 - test.Governance already simulate this behavior, and the workaround is wrapped at utils.GetRoundHeight. * core: fix issues (#536) fixing code in these condition: - assigning position without initializing them and expected it's for genesis - compare height with 0
* core: sign block hash for empty block (#517)Jimmy Hu2019-03-271-10/+20
| | | | | | * core: sign block hash for empty block * run force synced empty block at startup
* core: bring back agreement result (#515)Jimmy Hu2019-03-271-13/+52
| | | | | | | | | | * core: bring back agreement result * add logger * Fix * fixup
* core: Remove agreement result (#514)Jimmy Hu2019-03-271-31/+13
| | | | | | | | | | | | * core: remove agreement result for round with randomness * remove agr test in syncer * fixup * remove randomness field from agreement result * modify test
* core: merge notarySet and DKGSet (#488)Jimmy Hu2019-03-271-65/+19
| | | | | | | | | | | | | | * core: さよăȘら DKGSet * test logger * temporary fix before finalized * core: Sign psig on commit vote * Add syncer log * fixup
* core: abort hang DKG (#508)Mission Liao2019-03-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | * Capitalize log * Fix DKG aborting hangs Make sure reset cc.dkg to nil in runDKG * Remember to purge tsig verfier too * Replace abortCh with context.Context * Fix obvious bug * Fixup: forever blockin at Wait method when runDKG is not called * Fixup: fix corner case If the Add(1) moved to runDKG under cc.dkgLock, we may not catch it after unlocking cc.dkgLock. * fixup
* core, syncer: integrate utils.RoundEvent (#490)Mission Liao2019-03-161-23/+46
|
* core/syncer: add force sync (#468)Jimmy Hu2019-03-151-2/+5
| | | | | | | | | | | | | * core: Add Recovery Interface * core/syncer: modify recovery interface * core: fix Recovery interface * core/syncer: rename terminator to watchcat (#491) * core/syncer: rename terminator to watchcat * Add error log * Rename Pat to Feed * core/syncer: add force sync * run prepareRandomness if round >= DKGDelayRound * Add test for Forcsync
* utils: add RoundEvent (#482)Mission Liao2019-03-131-16/+16
| | | | | * Move core.roundBasedConfig to core/utils * Refine utils.RoundBasedConfig * Add utils.RoundEvent
* core: reduce blockrandomness message (#477)Jimmy Hu2019-03-101-14/+16
| | | | | | * core: reduce blockchain randomness msg * add test
* core: fix empty parent not found (#470)Mission Liao2019-03-081-11/+17
| | | | * Do not panic when empty block is unable to propose * Make blockChain able to handle pulled empty block
* core: PreparePayload/Witness for genesis block (#465)Jimmy Hu2019-03-071-0/+14
|
* core: first few round will not have DKG (#455)Jimmy Hu2019-03-041-2/+2
| | | | | | | | | | | | | | * core: Add DKGDelayRound constant * core: use constant value * core, utils: set DKGDelayRound for utils. * test: add dkgDelayRound to state * core: do not run dkg and crs for round < DKGDelayRound * fix test
* core: fix panic by duplicated pending blocks (#460)Mission Liao2019-02-271-0/+5
|
* core: switch round by block height (#450)Mission Liao2019-02-201-31/+25
|
* core: fix stuffs (#448)Jimmy Hu2019-02-191-0/+4
| | | | | | | | | | * Add log * core: delay first dkg * Fix test * core: only runDKG in prepare at round 0
* big-bang: single chain (#446)Mission Liao2019-02-191-0/+617
|
* cleanup (#109)Mission Liao2018-09-171-26/+0
| | | | | | - With context, we don't need stopChan - Remove core.BlockChain. - Remove unused variable.
* Fix typos and add .gitignore (#2)Haoping Ku2018-07-171-1/+1
| | | | | * Fix typos and add .gitignore * Add more rule on .gitignore
* Initial implementation of DEXON consensus algorithmWei-Ning Huang2018-07-161-0/+26