aboutsummaryrefslogtreecommitdiffstats
path: root/core/utils.go
Commit message (Collapse)AuthorAgeFilesLines
* core: refine VerifyAgreementResult (#553)Mission Liao2019-04-081-5/+1
| | | | | | | | * Pass notary set directly to VerifyAgreementResult * Fix core.Consensus * Fix syncer
* core: fix issues (#522)Jimmy Hu2019-03-271-1/+7
| | | | | | | | * required vote calculation * fix agreement result * core: fix initRound issue of BA
* core: fix required vote calculations (#513)Jimmy Hu2019-03-241-1/+1
|
* core, syncer: integrate utils.RoundEvent (#490)Mission Liao2019-03-161-3/+3
|
* core: move some dkg utils (#476)Mission Liao2019-03-111-4/+0
| | | | | | * Move core.getDKGThreshold to core.utils.GetDKGThreshold * Move core.DKGGroupPublicKey to typesDKG.GroupPublicKey
* core: switch round by block height (#450)Mission Liao2019-02-201-8/+1
|
* core: Fix BA3.0 implmenetation (#426)Jimmy Hu2019-01-211-1/+1
| | | | | | | | | | | | | | | | * types: Add vote type * core: remove stateFastRollback * core: rename lockRound to lockIter * core: Implement real ba3.0 * core: Add test for confirm * Fix VoteFastCom in agreement result * lockIter will always increase
* core: Fix stuffs (#422)Jimmy Hu2019-01-181-0/+18
| | | | | | * core: reduce syncing ba msg * core: fix checking period of agreement result
* core: BA 3.0 (#408)Jimmy Hu2019-01-071-3/+9
| | | | | | | | | | | | | | * Add v3 enum * Add BA leader calculation * Fast BA * Add unittest for Fast BA * Add comment * Select leader in notarySet
* core: fix issues found when testing syncing. (#379)Mission Liao2018-12-241-0/+20
| | | | | | | | * Avoid panic when stopping multiple times. * Fix syncer panic when round switching * Add getCurrentConfig to total-ordering, and panic with more info * Avoid infinite loop.
* utils: move authenticator to utils package (#378)Mission Liao2018-12-221-22/+1
|
* core: cache dkg's private key in db (#371)Mission Liao2018-12-161-0/+4
|
* core: Longer lambda for TravisCI (#365)Jimmy Hu2018-12-101-0/+12
| | | | | | * Longer time for TravisCI. * Update CI setting for PR
* core: syncer: add syncer (#346)haoping-ku2018-11-291-0/+45
|
* core: Fix stuffs (#342)Jimmy Hu2018-11-271-1/+1
|
* core: support NumChains change for BA modules (#339)Mission Liao2018-11-201-0/+6
|
* core: Add function alias (#341)Jimmy Hu2018-11-201-0/+4
|
* test: fix network (#328)Mission Liao2018-11-151-0/+5
| | | | * Broadcast to set of node instead of broadcasting when attaching cache. * Fix pull blocks
* core: expose implicit round shift (#321)Mission Liao2018-11-131-11/+0
|
* core: notify consensus height for genesis rounds (#296)Mission Liao2018-11-051-0/+11
| | | | * Add notifyGenesisRounds * Log round for types.Vote and types.Block
* Rename repo to dexon-consensusWei-Ning Huang2018-11-021-8/+8
|
* core: Add BlockSkeleton and Verify functions (#271)Jimmy Hu2018-10-291-0/+21
|
* core: latticeData supports config change (#190)Mission Liao2018-10-121-0/+8
| | | | | | | | | | | | | | | * Add test for num of chains changes. * Return error in latticeData.prepareBlock * Compare two positions * Modify chainStatus from height-based to index-based. * Fix consensus to use round variable * Remove sanity check in chainStatus * Fixup: refine sanity check - verify if round switching is required or not by chainTip's config. - make the logic in sanity check more clear - pospone acking relationship checking, they are more expensive to check.
* core: move crypto to core/crypto (#140)Mission Liao2018-09-261-1/+1
| | | | | | | | | - Move key-holder to authenticator Make core.keyHolder public as core.Authenticator, it is not required to make this part an interface. - Make private when there is no need to go public. - Fix data race
* core: run TSIG for first configuration block at startup (#135)Jimmy Hu2018-09-261-0/+28
|
* core: total ordering with chain ID (#100)Mission Liao2018-09-121-1/+1
|
* core: timestamp (#98)Jimmy Hu2018-09-111-12/+11
|
* core: tune total ordering performance (#81)Mission Liao2018-08-301-0/+11
| | | | | - Replace map with slice Compared to slice, accessing to map is slower and the memory usage is inefficient.
* core: Add Consensus to replace core.Blocklattice (#35)Mission Liao2018-08-081-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Make Sequencer return slice of blocks. * Fix naming issue The function 'getHeightVecto' would return ackingStatusVector. * Fix comment error. * Add methods to collect info when proposing blocks. * Add test.App * Add test.Gov * Move this type to core.types to avoid cyclic import. * Add core.Consensus * Move getMedianTime, interpoTime to util These functions are not depending on members of core.consensusTimestamp and is required when testing core.Consensus. * Make sure types.Block.Clone would copy critical fields. * Remove core.blocklattice * Define 'infinity' in core/total-ordering This definition is defined in core/blocklattice originally. * Fix a bug when processing the same block twice. * Integrate simulation with core.Consensus core.Consensus is a replacement of core.Blocklattice * Fix the comment to use sigular form. * Move lock mechanism to sub modules. * phi should be 2*fmax+1 * Fixup: should aborting when the validator is added * Fix for new block fields * Fix the bug that the total ordering sequence is wrong.
* Initial implementation of DEXON consensus algorithmWei-Ning Huang2018-07-161-0/+45