Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | core: first few round will not have DKG (#455) | Jimmy Hu | 2019-03-04 | 1 | -1/+1 |
| | | | | | | | | | | | | | | * 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: Change RoundInterval to RoundLength (#453) | Jimmy Hu | 2019-02-26 | 3 | -5/+5 |
| | |||||
* | core: switch round by block height (#450) | Mission Liao | 2019-02-20 | 3 | -28/+4 |
| | |||||
* | big-bang: single chain (#446) | Mission Liao | 2019-02-19 | 5 | -408/+0 |
| | |||||
* | core: remove Governance.NotifyRoundHeight (#431) | Mission Liao | 2019-01-24 | 1 | -1/+1 |
| | |||||
* | misc: Add gosec to check security issues (#424) | Jimmy Hu | 2019-01-18 | 3 | -13/+20 |
| | | | | | | | | * Add gosec to tools * Run security check to ci * Fix secrity issues | ||||
* | simulation: add more time for k8s to start (#417) | Jimmy Hu | 2019-01-09 | 1 | -1/+1 |
| | |||||
* | simulation: fix k8s dmoment issue (#416) | Jimmy Hu | 2019-01-09 | 4 | -7/+9 |
| | | | | | | * Handshake with server dmoment * Start simulation from dMoment * Update k8s config | ||||
* | simulation: fix k8s simulation stuff (#410) | Jimmy Hu | 2019-01-08 | 8 | -17/+26 |
| | | | | | | * simulation: fix k8s simulation stuff * Default K to 0 | ||||
* | simulation: Fix simulation stuffs (#405) | Jimmy Hu | 2019-01-07 | 1 | -2/+14 |
| | | | | | | * test: fix marshal randomness pullrequest * Add result for witness latency | ||||
* | simulation: add latency for gossip (#389) | Mission Liao | 2019-01-03 | 3 | -23/+36 |
| | |||||
* | simulation: support config change (#381) | Mission Liao | 2018-12-26 | 7 | -70/+257 |
| | |||||
* | core: simulation: add throughput and block event monitoring (#380) | haoping-ku | 2018-12-22 | 4 | -33/+129 |
| | | | | | | | | | | | * core: simulation: add throughput and block event monitoring Added throughput and block event monitoring in TCP-local network. These data is collected by nodes and reported to peer server. * fix issues * fix sent time of throughput issue | ||||
* | db: rename blockdb to db (#367) | Mission Liao | 2018-12-13 | 1 | -4/+4 |
| | | | | | | | | | | * Rename blockdb package to db * Rename 'BlockDB' to 'DB' * Make all methods in db specific for ''block'. * Rename db.BlockDatabase to db.Database * Rename revealer to block-revealer * Rename test.Revealer to test.BlockRevealer | ||||
* | simulation: fix concurrency issue, add lock (#361) | haoping-ku | 2018-12-06 | 1 | -3/+7 |
| | |||||
* | test: allow to log in test.State (#359) | Mission Liao | 2018-12-06 | 1 | -1/+6 |
| | |||||
* | Haoping fix simulation (#356) | haoping-ku | 2018-12-05 | 3 | -9/+127 |
| | | | | | | | | | | | | | | | * simulation: add benchmark features * tmp * simulation: modify Debug interface * Added BlockReceived and BlockReady function to Debug interface. * Added Benchmark features. * fix * fix typos | ||||
* | core: construct consensus from syncer (#352) | Mission Liao | 2018-12-04 | 1 | -1/+1 |
| | |||||
* | simulation: fix confirm latency (#353) | haoping-ku | 2018-12-03 | 2 | -6/+10 |
| | |||||
* | simulation: -log to dump log to file as well (#348) | Jimmy Hu | 2018-11-29 | 2 | -10/+30 |
| | |||||
* | core: remove StronglyAcked (#347) | Mission Liao | 2018-11-29 | 1 | -5/+0 |
| | |||||
* | core: support NumChains change for BA modules (#339) | Mission Liao | 2018-11-20 | 1 | -1/+1 |
| | |||||
* | core: sync logger with dex (#325) | Mission Liao | 2018-11-14 | 1 | -1/+5 |
| | |||||
* | simulation: Fix simulation failure (#324) | Mission Liao | 2018-11-14 | 1 | -0/+2 |
| | |||||
* | core: expose implicit round shift (#321) | Mission Liao | 2018-11-13 | 1 | -1/+2 |
| | |||||
* | simulation: use test.Governacne in simulation (#311) | Mission Liao | 2018-11-08 | 4 | -275/+55 |
| | | | | | | | | | | | | * Move simulation.Network to test package * Use test.Governance in simulation * Pack/Apply state request in blocks payload * Add Governance.SwitchToRemoteMode This would trigger governance to broadcast pending state change requests when changes. * Allow to marshal/unmarshal packedStateChanges * Attach test.Network and test.State | ||||
* | core: Run DKG stuffs only if the node is in DKG set (#302) | Jimmy Hu | 2018-11-06 | 5 | -13/+38 |
| | |||||
* | test: move simulation.network to test package (#297) | Mission Liao | 2018-11-05 | 7 | -441/+84 |
| | |||||
* | core: block deliver with position (#289) | Mission Liao | 2018-11-02 | 1 | -1/+1 |
| | | | | | This info is required when application layer needs to do something related to the underlying DAG, not just compaction chain. | ||||
* | core: Remove max block interval (#287) | Jimmy Hu | 2018-11-02 | 1 | -1/+0 |
| | |||||
* | Rename repo to dexon-consensus | Wei-Ning Huang | 2018-11-02 | 12 | -93/+93 |
| | |||||
* | core: Add PullVotes to Network. (#281) | Jimmy Hu | 2018-10-31 | 1 | -0/+5 |
| | |||||
* | core: Pull block (#263) | Jimmy Hu | 2018-10-26 | 1 | -0/+25 |
| | |||||
* | core: Move dkg in types to types/dkg. (#253) | Jimmy Hu | 2018-10-25 | 4 | -28/+32 |
| | |||||
* | core: fix stuffs (#250) | Mission Liao | 2018-10-24 | 1 | -2/+1 |
| | | | | | | | | * fix discontinuous finalization height * remove types.Block.Witness.Timestamp field * add field: types.Block.Finalization.ParentHash * fix log format of CRS * switch round and chain in log of types.Position. | ||||
* | core: Change interface of Application.VerifyBlock (#246) | Jimmy Hu | 2018-10-23 | 1 | -2/+2 |
| | | | | * Change interface of Application.VerifyBlock | ||||
* | core: add round parameter to ProposeCRS method (#244) | Wei-Ning Huang | 2018-10-23 | 1 | -1/+1 |
| | | | | | | | | Since all DKG set members may ProposeCRS, but only one will get through, we need to be able to tell which round the CRS is intended for in order to skip CRS submission of the same round. Also this commit add check to make sure we have enough master public key when initializing DKGGroupPublicKey. | ||||
* | simulation: Cache network broadcasted message (#242) | Jimmy Hu | 2018-10-23 | 1 | -10/+36 |
| | |||||
* | core: initial commit for logger (#228) | Mission Liao | 2018-10-19 | 1 | -1/+7 |
| | | | | | | | | | | | | | * Replace "log.*" with logger. * Add simple logger to log with log package. * Add debug logs to all calls to these interfaces: - core.Application - core.Governance - core.Network * Add Stringer to these types: - types.DKGComplaint - types.AgreementResult - types.DKGMasterPublicKey - types.DKGFinalize | ||||
* | misc: Fix simulation error (#230) | Jimmy Hu | 2018-10-19 | 3 | -4/+48 |
| | |||||
* | core: Add init block to Run() (#221) | Jimmy Hu | 2018-10-18 | 1 | -1/+1 |
| | |||||
* | Remove duplicated dMoment in Consensus.Run (#206) | Jimmy Hu | 2018-10-15 | 1 | -1/+1 |
| | |||||
* | core: Fix simulation errors. (#202) | Jimmy Hu | 2018-10-15 | 1 | -1/+1 |
| | |||||
* | core: fix simulation error (#201) | Jimmy Hu | 2018-10-15 | 3 | -4/+16 |
| | | | | | * Sync dMoment for all consensus core * App check for randomness ignore round 0 | ||||
* | test_config: sync default config (#200) | Wei-Ning Huang | 2018-10-15 | 1 | -1/+1 |
| | |||||
* | core: modify interface (#194) | Mission Liao | 2018-10-12 | 2 | -4/+9 |
| | | | | * Add a new method to notify full node about round cutting. * Modify interface to return error when preparing block | ||||
* | core: change interface (#193) | Mission Liao | 2018-10-11 | 1 | -16/+15 |
| | | | | | | | * Extract types.FinalizationResult * Change interface: - Application.BlockConfirmed returns whole block. - Application.BlockDelivered returns partial result. | ||||
* | core: Add round to DKG methods in gov. Change network interface name (#185) | Jimmy Hu | 2018-10-09 | 3 | -8/+19 |
| | |||||
* | core: Add DKG final message. (#181) | Jimmy Hu | 2018-10-09 | 3 | -0/+35 |
| | |||||
* | core: update config variable name grammar and remove configuration (#184) | Wei-Ning Huang | 2018-10-08 | 1 | -2/+2 |
| | |||||
* | core: Remove round from gov.ProposeCRS (#183) | Jimmy Hu | 2018-10-08 | 1 | -11/+17 |
| | |||||
* | core: Add block randomness in compaction-chain module (#179) | Jimmy Hu | 2018-10-08 | 1 | -0/+3 |
| | |||||
* | core: General tsig (#177) | Jimmy Hu | 2018-10-05 | 2 | -0/+33 |
| | |||||
* | core: Check Witness height. Add ConsensusTime and ConsensusHeight to block. ↵ | Jimmy Hu | 2018-10-04 | 1 | -12/+34 |
| | | | | (#170) | ||||
* | core: remove NumWitnessSet in governance config (#167) | Wei-Ning Huang | 2018-10-03 | 1 | -1/+0 |
| | | | | NumWitnessSet is no longer required as we don't have witness set in the design anymore. | ||||
* | core: publish round based config (#165) | Mission Liao | 2018-10-03 | 1 | -1/+0 |
| | |||||
* | core: replace reliable-broadcast with shard (#159) | Mission Liao | 2018-10-02 | 1 | -6/+6 |
| | |||||
* | core: remove ProposeThresholdSignature/GetThresholdSignature (#158) | Wei-Ning Huang | 2018-10-02 | 1 | -15/+2 |
| | | | Also rename the argument name of ProposeCRS. | ||||
* | core: run DKG and CRS at background. (#155) | Jimmy Hu | 2018-10-02 | 1 | -5/+8 |
| | |||||
* | core: update data model to reflect new model (#157) | Wei-Ning Huang | 2018-10-01 | 3 | -40/+6 |
| | | | | | | Update data model: 1) Remove witness ack. 2) Add round to block. 3) Update governance interface. | ||||
* | core: use notarySet for BA module. (#153) | Jimmy Hu | 2018-10-01 | 1 | -12/+21 |
| | |||||
* | core: remove legacy mode (#149) | Mission Liao | 2018-09-28 | 2 | -10/+5 |
| | |||||
* | core: Add sizes of various nodeSets (#148) | Jimmy Hu | 2018-09-28 | 3 | -18/+30 |
| | |||||
* | core: hide types.NodeID from full node. (#147) | Mission Liao | 2018-09-28 | 4 | -25/+29 |
| | | | | | | | | | * Refine core.Governance interface - Remove types.NodeID from interface declaration. - All parameter should be round based. * Add core.NodeSetCache * Agreement accepts map of nodeID directly. * test.Transport.Peers method return public keys. | ||||
* | core: update governance interface and config (#145) | Wei-Ning Huang | 2018-09-27 | 2 | -19/+21 |
| | | | | | | 1) Remove RoundHeight from config. 2) NotarySet is not from governance contract, we get Node set intead. Notary set is caculated from the NodeSet using CRS. 3) CRS is not in the governance interface. | ||||
* | core: rename crypto/eth to crypto/ecdsa (#144) | Wei-Ning Huang | 2018-09-26 | 1 | -2/+2 |
| | |||||
* | crypto: sigtopub to crypto package. remove SigToPubFn (#141) | Jimmy Hu | 2018-09-26 | 2 | -5/+2 |
| | |||||
* | core: move crypto to core/crypto (#140) | Mission Liao | 2018-09-26 | 3 | -3/+3 |
| | | | | | | | | | - 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: configuration chain test (#137) | Jimmy Hu | 2018-09-26 | 1 | -4/+1 |
| | |||||
* | core: run TSIG for first configuration block at startup (#135) | Jimmy Hu | 2018-09-26 | 4 | -12/+46 |
| | |||||
* | core: update governance interface to consider genesis state (#136) | Wei-Ning Huang | 2018-09-25 | 2 | -11/+12 |
| | |||||
* | Fix naming of methods (#134) | Mission Liao | 2018-09-25 | 1 | -8/+8 |
| | | | | | | - BlockDeliver -> BlockDelivered - TotalOrderingDeliver -> TotalOrderingDelivered - WitnessAckDeliver -> WitnessAckDelivered - VerifyPayload -> VerifyPayloads | ||||
* | core: add debug (#133) | Mission Liao | 2018-09-25 | 1 | -64/+19 |
| | | | | | | | | | | | | | | | | | | | | | * Split interface * Rename nonblocking-application to nonblocking Parts needs nonblocking gets more. * Implement core.nonBlocking based on interface split * Fix: the witness parent hash could be parent on compaction chain. * Rename Application.DeliverBlock to BlockDeliver To sync with naming of other methods. * Change methods' fingerprint - BlockConfirmed provides block hash only. - BlockDeliver provde a whole block. | ||||
* | core: run first DKG at startup. (#129) | Jimmy Hu | 2018-09-23 | 5 | -7/+24 |
| | |||||
* | core: refactor witness data processing flow (#124) | Wei-Ning Huang | 2018-09-20 | 1 | -0/+15 |
| | | | | | | | | | | | Since witness data need to include data from application after it processed a block (e.g. stateRoot). We should make the process of witness data asynchronous. An interface `BlockProcessedChan()` is added to the application interface to return a channel for notifying the consensus core when a block is processed. The notification object includes a byte slice (witenss data) which will be include in the final witness data object. | ||||
* | test_config: update config to latest runnable version (#122) | Wei-Ning Huang | 2018-09-20 | 1 | -1/+1 |
| | |||||
* | Rename validator* to node* (#120) | Mission Liao | 2018-09-20 | 13 | -138/+138 |
| | |||||
* | core: rename Notary (Acks) to Witness (#118) | Wei-Ning Huang | 2018-09-19 | 3 | -10/+10 |
| | |||||
* | core:DKG and TSIG protocol (#115) | Jimmy Hu | 2018-09-19 | 3 | -3/+31 |
| | |||||
* | core: refine governance interface to reduce Get* methods (#114) | Wei-Ning Huang | 2018-09-18 | 1 | -56/+24 |
| | | | | | Since we have a bunch of static configurations in the governance contract, instead of using a Get* method for each of them, we instead implement a GetConfiguration() method to return a structure of the configurations. | ||||
* | core: remove ticker parameter from NewConsensus | Mission Liao | 2018-09-18 | 3 | -16/+12 |
| | | | | | | | | | - remove BlockProposingInterval, it's replaced by lambda. - remove ticker parameter of NewConsensus, ticker would be derived from governance. - leave a backdoor to hook the construction of ticker. - move 'Lambda' config from to consensus. | ||||
* | core: move blockdb into core package and minor change on governance ↵ | Wei-Ning Huang | 2018-09-17 | 2 | -3/+8 |
| | | | | | | | interface (#110) Since third party apps will possibly implement their only blockdb class, it make sense for the interface to be in core. Also add GetNumShards into the governance interface. | ||||
* | core: DKG interface (#108) | Jimmy Hu | 2018-09-17 | 3 | -4/+72 |
| | |||||
* | cleanup (#109) | Mission Liao | 2018-09-17 | 1 | -18/+15 |
| | | | | | | - With context, we don't need stopChan - Remove core.BlockChain. - Remove unused variable. | ||||
* | core: fix VerifyPayload argument (#103) | Wei-Ning Huang | 2018-09-13 | 1 | -1/+1 |
| | | | | Since we are using a byte slice for storing payload. VerifyPayload() should also accepts a byte slice. | ||||
* | core: replace acks with slice (#102) | Mission Liao | 2018-09-12 | 1 | -1/+1 |
| | |||||
* | core: types: use []byte for block Payload type (#101) | Wei-Ning Huang | 2018-09-12 | 1 | -3/+3 |
| | | | | | Change payload type to []byte instead of [][]byte to make it more generic. The user of the consensus core should marshal the payload into a byte slice by themselves. | ||||
* | simulation: integrate test.Transport (#99) | Mission Liao | 2018-09-11 | 11 | -950/+468 |
| | | | | | - Add marshaller for simulation by encoding/json - Implement peer server based on test.TranportServer - Remove network models, they are replaced with test.LatencyModel | ||||
* | core: timestamp (#98) | Jimmy Hu | 2018-09-11 | 1 | -1/+1 |
| | |||||
* | misc: Polish BA. (#94) | Jimmy Hu | 2018-09-05 | 4 | -22/+44 |
| | |||||
* | core: BA-based consensus core. (#93) | Jimmy Hu | 2018-09-04 | 3 | -2/+16 |
| | |||||
* | Add GetChainNumber to Goverance (#92) | Jimmy Hu | 2018-09-03 | 3 | -23/+19 |
| | |||||
* | core: minor change to governance interface (#90) | Wei-Ning Huang | 2018-09-03 | 1 | -5/+0 |
| | |||||
* | core: Add a new structure `Position` and move `ShardID`, `ChainID` and ↵ | Jimmy Hu | 2018-09-03 | 1 | -2/+2 |
| | | | | `Height` from `Block` (#89) | ||||
* | Add methods to Application interface. (#86) | Jimmy Hu | 2018-08-31 | 2 | -92/+11 |
| | |||||
* | Use Network in Consensus core (#85) | Jimmy Hu | 2018-08-31 | 1 | -1/+4 |
| | |||||
* | core: Add PreparePayloads to Application and Remove blockConverter ↵ | Jimmy Hu | 2018-08-30 | 4 | -7/+16 |
| | | | | interface. (#84) | ||||
* | core: Change the lattice key from validatorID to chainID. (#83) | Jimmy Hu | 2018-08-30 | 1 | -0/+13 |
| | | | | | * Add chainID in simulation.Validator * Change validatorid to chainID in rbModule | ||||
* | core: Leader Selector. (#80) | Jimmy Hu | 2018-08-30 | 3 | -6/+24 |
| | |||||
* | core: Add agreement module (#77) | Jimmy Hu | 2018-08-29 | 1 | -2/+13 |
| | |||||
* | core: tune performance (#73) | Mission Liao | 2018-08-28 | 4 | -37/+70 |
| | | | | | | | | | | | | | | | | | | | | | | - Avoid using recursive function in critical path. - Do not write through when using levelDB. Things put to levelDB would be safe from panic even we didn't force to write through every time. - Dump count of confirmed blocks proposed by self. - Avoid allocating variables in loop. - Return length of acking node set, we only need that when total ordering. - Fix potential bug: make sure win records updated when acking height vectors of candidates are changed. - Keep dirty validators in slice. - Add cache for objects to ease the pressure to garbage collector. - Cache global acking status when total ordering. - Add method to recycle blocks. - Marshal JSON should be called once for each broadcast. - Make updateWinRecord called in parallel. - Log average / deviation of latencies when simulation finished. | ||||
* | core: Add vote type and add field to block. (#76) | Jimmy Hu | 2018-08-28 | 3 | -0/+19 |
| | |||||
* | simulation: remove fake network (#74) | Wei-Ning Huang | 2018-08-25 | 3 | -166/+18 |
| | |||||
* | simulation: allow to run simulation with scheduler on k8s (#72) | Mission Liao | 2018-08-22 | 6 | -0/+96 |
| | | | | | | | | To run a simulation with scheduler on k8s: ./run_scheduler.sh 61 5 Where *61* means the simulation contains 61 validators, and *5* means the simulation utilizes 5 vCPUs and corresponding concurrent workers to run. | ||||
* | core: Notary ack application. (#70) | Jimmy Hu | 2018-08-22 | 4 | -0/+29 |
| | |||||
* | core: Notary ack (#69) | Jimmy Hu | 2018-08-21 | 1 | -2/+2 |
| | |||||
* | core: NotaryAck interfaces. (#67) | Jimmy Hu | 2018-08-20 | 1 | -0/+4 |
| | |||||
* | simulation: taken network latency model into consideration in TCP mode (#68) | Mission Liao | 2018-08-20 | 3 | -15/+26 |
| | | | | | | - Clone block once for each broadcast - Add network latency model for TCPNetwork - Fix map concurrent write | ||||
* | simulation: Fix port reuse error in simulation. (#65) | Jimmy Hu | 2018-08-17 | 2 | -16/+71 |
| | |||||
* | core: Prepare Genesis block. (#54) | Jimmy Hu | 2018-08-14 | 1 | -7/+4 |
| | |||||
* | Use RLock for simulation.simApp.blockByHash (#53) | Jimmy Hu | 2018-08-13 | 1 | -4/+3 |
| | |||||
* | simulation: Create Consensus core after Join. (#51) | Jimmy Hu | 2018-08-13 | 4 | -32/+31 |
| | |||||
* | simulation: fix concurrent map write (#52) | Wei-Ning Huang | 2018-08-13 | 4 | -6/+15 |
| | | | Fix concurrent map write and also change k8s settings. | ||||
* | core: Sign block in Consensus.PrepareBlock. (#50) | Jimmy Hu | 2018-08-13 | 2 | -5/+10 |
| | |||||
* | simulation: kubernetes: update config | Wei-Ning Huang | 2018-08-13 | 4 | -11/+11 |
| | |||||
* | core: ValidatorID.Hash is the hash of public key. (#49) | Jimmy Hu | 2018-08-13 | 2 | -9/+21 |
| | |||||
* | simulation: kubernetes: update config template | Wei-Ning Huang | 2018-08-13 | 1 | -0/+4 |
| | |||||
* | core: Modify Consensus interface (#45) | Jimmy Hu | 2018-08-10 | 1 | -1/+1 |
| | |||||
* | core: update governance interface and move K into config (#40) | Wei-Ning Huang | 2018-08-10 | 5 | -89/+125 |
| | |||||
* | Add genesis block to simulation app. (#44) | Jimmy Hu | 2018-08-10 | 1 | -0/+1 |
| | |||||
* | Fix the bug preventing us from testing large group when using TCP-Local (#42) | Mission Liao | 2018-08-10 | 2 | -21/+24 |
| | | | | | | | | | | | | | | | | | | | | * Fix the issue that processing genesis block twice. - Restore the mechanism to avoid sending block to proposer. * Fix the 'keep-alive' not working Quote from comments of net/http/request For client requests, setting this field prevents re-use of TCP connections between requests to the same hosts, as if Transport.DisableKeepAlives were set. * Remove useless field * Fix the test bug: I should provide '3' when test K=3 * Fixup: the parent hash of genesis block should be zero | ||||
* | core: Deliver only Hash to Application. (#43) | Jimmy Hu | 2018-08-10 | 2 | -9/+17 |
| | |||||
* | core: Add Block.IsGenesis() and set Block.ParentHash to 0 in genesis block. ↵ | Jimmy Hu | 2018-08-09 | 1 | -4/+3 |
| | | | | (#37) | ||||
* | simulation: Fix k8s simulation issues. (#36) | Jimmy Hu | 2018-08-09 | 2 | -9/+38 |
| | | | | | | | | | | | | * Refine peer server * k8s ignore * Keep peer server alive on k8s * Stop validators from accepting new blocks after peer server has shut down. * Add comment | ||||
* | core: Add Consensus to replace core.Blocklattice (#35) | Mission Liao | 2018-08-08 | 5 | -36/+171 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. | ||||
* | simulation: Show internal and external timestamp latency. (#30) | Jimmy Hu | 2018-08-07 | 4 | -17/+193 |
| | |||||
* | simulation: tcp-network: force http.Client to reuse connection (#33) | Wei-Ning Huang | 2018-08-06 | 1 | -15/+22 |
| | | | Force connection reuse and TCP keep alive by using the same http client for all reqeusts. | ||||
* | simulation: free resource after use and misc fix for k8s mode (#31) | Wei-Ning Huang | 2018-08-06 | 8 | -14/+63 |
| | |||||
* | Remove timestamp generating function in validator (#25) | Jimmy Hu | 2018-08-01 | 1 | -8/+0 |
| | |||||
* | core: refine Application interface and add Governance interface (#24) | Wei-Ning Huang | 2018-07-31 | 1 | -7/+7 |
| | | | | | | | Add a new Governance interface for interaction with the governance contract. Also remove the ValidateBlock call in application interface as the application should validate it before putting it into the consensus module. A new BlockConverter interface is also added. The consensus module should accept the BlockConverter interface in future implementation, and use the Block() function to get the underlying block info. | ||||
* | blockdb: allow to dump blocks to json-encoded file | Mission Liao | 2018-07-31 | 2 | -10/+9 |
| | | | | | | | | | | | | - Allow to dump blockdb to a json file - Compared to leveldb, a json file is easier to trace. - Add interfaces block database: - Close would be required by database that needs cleanup. - BlockIterator is required when we need to access 'all' blocks, adding a new method 'GetAll' as the constructor for iterators. - Remove GetByValidatorAndHeight from blockdb.Reader - This function is not used anywhere, to make interface minimum, remove it. - Fix typo: backend -> backed | ||||
* | Print block confirm latency when Peer Server stopped. (#23) | Jimmy Hu | 2018-07-31 | 8 | -26/+67 |
| | |||||
* | Print confirmed blocks per second when Peer Server stopped. (#22) | Jimmy Hu | 2018-07-31 | 2 | -0/+47 |
| | |||||
* | Add a config that PeerServer can shutdown after receiving enough of block. (#19) | Jimmy Hu | 2018-07-30 | 8 | -22/+240 |
| | |||||
* | Verify the Total Ordering Algorithm in peerServer in tcp mode (#11) | Jimmy Hu | 2018-07-26 | 9 | -16/+328 |
| | | | Verify the Total Ordering Algorithm in peerServer in tcp mode. | ||||
* | simulation: fix tcp-local network simulation (#8) | Wei-Ning Huang | 2018-07-23 | 2 | -2/+6 |
| | | | | | | * simulation: fix tcp-local network simulation * fixup | ||||
* | Implement simulation on a real network (#5) | Wei-Ning Huang | 2018-07-20 | 14 | -129/+720 |
| | | | simulation: implement simulation on a real network | ||||
* | core: refactor acking relationship (#3) | Wei-Ning Huang | 2018-07-18 | 1 | -1/+1 |
| | | | | | | | | | * core: refactor acking relationship Use AckBy only, and remove IndirectAcks. Also fix the issue where validator is not filling Height when proposing block. | ||||
* | Initial implementation of DEXON consensus algorithm | Wei-Ning Huang | 2018-07-16 | 7 | -0/+521 |