Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | dex, cmd: Add DMoment to command line (#87) | Jimmy Hu | 2019-03-12 | 2 | -6/+5 |
| | |||||
* | app: remove unnecessary code (#86) | bojie | 2019-03-12 | 2 | -15/+3 |
| | |||||
* | dex: Pull blocks from blockdb if cache miss (#84) | Jimmy Hu | 2019-03-12 | 3 | -4/+40 |
| | |||||
* | vendor: sync to latest core and fix conflict (#79) | Jimmy Hu | 2019-03-12 | 1 | -2/+1 |
| | |||||
* | app: return retry later instead of retry with sleep time (#78) | bojie | 2019-03-12 | 1 | -31/+22 |
| | |||||
* | core, dex: polish sync (#75) | Sonic | 2019-03-12 | 6 | -8/+79 |
| | | | | | | | | | | | | | | | - Broadcasting blocks at chain head event is not correct when the full node is not running in block proposer mode. Introduce NewFinalizedBlockEvent, this event is post by the full node which runs in block proposer mode when a block is witnessed and resulting in some blocks are considered finalized. - Non block proposer node will still broadcast blocks at the following moment (same as ethereum): 1. a sync with a peer is terminated successfully 2. a block passes the fetcher's header check during inserting blocks 3. a block is successfully inserted by fetcher - Don't trigger a sync when we are not behind other peers more than acceptable distance. Fetcher is able to cover this. | ||||
* | app: misc fixes (#76) | bojie | 2019-03-12 | 1 | -50/+30 |
| | | | | Use sync map to prevent concurrent read write. Use last pending state to prepare/verify transactions. | ||||
* | dex: replace total difficulty with block number (#73) | Sonic | 2019-03-12 | 10 | -177/+143 |
| | | | | | | | In dexon, we don't "mine" and the blockchain won't and shouldn't fork, so there is no difficulty concept, just replace it with block number. Note: this commit only replace total difficulty related logic and code in dex, dex/downloader package. | ||||
* | core, dex: Timeout for prepare payload (#72) | Jimmy Hu | 2019-03-12 | 1 | -0/+55 |
| | | | | | | * Timeout on prepare payload * Leave 2 CPU for others * Add hardLimit and softLimit to PreparePayload | ||||
* | dex: use whole id to query peer info (#74) | Sonic | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | app: add app test case and benchmark (#66) | bojie | 2019-03-12 | 3 | -19/+723 |
| | |||||
* | dex: verify header that imported from fetcher (#68) | Sonic | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | Fix lint | Wei-Ning Huang | 2019-03-12 | 10 | -109/+111 |
| | |||||
* | dex: add metrics (#54) | Sonic | 2019-03-12 | 1 | -32/+84 |
| | |||||
* | dex/downloader: fix tests | Sonic | 2019-03-12 | 2 | -242/+114 |
| | |||||
* | dex: fix tests | Wei-Ning Huang | 2019-03-12 | 4 | -43/+93 |
| | |||||
* | core: fix tests | Wei-Ning Huang | 2019-03-12 | 2 | -8/+2 |
| | |||||
* | core: various changes on tps tuning (#46) | Wei-Ning Huang | 2019-03-12 | 2 | -7/+4 |
| | |||||
* | app: skip tx which has been confirmed (#45) | bojie | 2019-03-12 | 1 | -9/+8 |
| | | | | | | * app: skip tx which has been confirmed * fixup! app: skip tx which has been confirmed | ||||
* | api: allow sending batch of raw transactions | Wei-Ning Huang | 2019-03-12 | 1 | -0/+4 |
| | |||||
* | core, dex, downloader: refactor governance | Sonic | 2019-03-12 | 4 | -221/+48 |
| | |||||
* | core, dex, dex/downloader: restore insertChain to upstream version | Sonic | 2019-03-12 | 2 | -7/+7 |
| | | | | | Also rename InsertChain2, insertChain2, InsertHeaderChain2, ValidateHeaderChain2 | ||||
* | dex: implement downloader for dex | Sonic | 2019-03-12 | 11 | -88/+499 |
| | | | | | | | | | | | We need governance state to verify block's signature (randomness), but in ethereum fast sync mode, eth downloader only downloads the whole state of pivot block, so we don't have governance state to verify the downloaded block that is before pivot block if we don't processing transaction. To avoid running transactions, dex downloader also downloads the governance state (merkle proof and storage) at snapshot height of each round, so that we can verify blocks in fast sync mode. | ||||
* | dex: use dex/downloader in dex | Sonic | 2019-03-12 | 8 | -19/+19 |
| | | | | | To compatible with ethereum code base, make Downloader a interface in internal/ethapi | ||||
* | dex: copy fetcher and downloader from eth | Sonic | 2019-03-12 | 15 | -0/+7440 |
| | |||||
* | core: add global signature cache and improve concurrency (#42) | Wei-Ning Huang | 2019-03-12 | 2 | -2/+2 |
| | | | | | From the go trace result, the bottleneck hides in the lock of StoreTxCache. To improve this, we update the cache in a batched fassion. | ||||
* | core, dex: Batch process touchSender. Lower priority for tx. (#41) | Jimmy Hu | 2019-03-12 | 1 | -0/+1 |
| | | | | | | | * dex: Add a tx queue in broadcast * Modify queue parameter * Priority select all messages except tx * Batch process TouchSenders | ||||
* | dex: Tx message optimization (#39) | Jimmy Hu | 2019-03-12 | 2 | -7/+42 |
| | | | | | | | | * dex: Add a tx queue in broadcast * Modify queue parameter * Priority select all messages except tx | ||||
* | dex: add BlockDB, which implements consensus core's blockdb.BlockDatabase (#36) | Sonic | 2019-03-12 | 2 | -11/+56 |
| | |||||
* | governance: implement delegate/undelegate function and add tests (#33) | Wei-Ning Huang | 2019-03-12 | 2 | -4/+4 |
| | | | | | Implement delegate/undelegate function to allow others to delegate it's fund to stake on a node. Also added governance contract tests. | ||||
* | core: more fix on light node synchronization (#32) | Wei-Ning Huang | 2019-03-12 | 2 | -8/+7 |
| | | | | | | Fix gas calculation in governance contract. Correctly register round height when processing pending blocks. We should register the mapping when we get the pending block instead of waiting for block confirmation. | ||||
* | core: fix light node synchronization issue (#30) | Wei-Ning Huang | 2019-03-12 | 2 | -0/+5 |
| | | | | | InsertChain() need to record the correct roundHeight mapping in order to process snapshotRoundHeight() governance method correctly. | ||||
* | app: remove notify to prevent dead lock with consensus core | BJ4 | 2019-03-12 | 1 | -39/+3 |
| | |||||
* | app: add cache to reuse same tx address which has already recovered (#26) | BJ4 | 2019-03-12 | 1 | -9/+2 |
| | |||||
* | core: refactor validator and fix light node sync (#25) | Wei-Ning Huang | 2019-03-12 | 3 | -47/+75 |
| | | | | | | | | Remove custom Dexon validator by adding a new `ValidateWitnessData` method into the validator interface. This allow us to properly detect know blocks. This also allow other gdex "light" client to sync compaction chain. Also, setup a standalone RPC node for handling RPC reqeusts. | ||||
* | dex: remove gasprice package and use eth/gasprice instead | Wei-Ning Huang | 2019-03-12 | 4 | -192/+3 |
| | | | | We did not change anything in eth/gasprice, don't copy it into dex. | ||||
* | dex, core: Fix make fail (#24) | Jimmy Hu | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | core, dex: Optimize sender calculation in block transactions. (#22) | Jimmy Hu | 2019-03-12 | 1 | -0/+6 |
| | | | | | | * Add Transactions.TouchSenders that calculates sender and update cache * Use TouchSenders to fill the caches | ||||
* | core: validate DKG set with correct nodeset in round-2 (#19) | Wei-Ning Huang | 2019-03-12 | 1 | -4/+2 |
| | | | | | * vendor: sync consensus core * core: validate DKG set with correct nodeset in round-2 | ||||
* | dex: return correct pending nonce (#14) | Wei-Ning Huang | 2019-03-12 | 2 | -4/+5 |
| | | | | We need to return the correct pending nonce (include those in the tx pool). Also, StateAndHeaderByNumber is also fixed to use pending block. | ||||
* | dex: porting test to enode (#9) | Sonic | 2019-03-12 | 4 | -112/+132 |
| | |||||
* | app: bug fix (#7) | bojie | 2019-03-12 | 1 | -0/+7 |
| | | | | Add notify mutex to prevent missing chain issue while concurrent appending with same slice. | ||||
* | app: fix core test | BJ4 | 2019-03-12 | 1 | -1/+2 |
| | |||||
* | dex: remove useless code | Sonic | 2019-03-12 | 1 | -115/+0 |
| | |||||
* | dex: peer: more fix on ID conversion | Wei-Ning Huang | 2019-03-12 | 1 | -53/+53 |
| | |||||
* | dex: fix conflict caused by rebase | Wei-Ning Huang | 2019-03-12 | 4 | -59/+79 |
| | |||||
* | dex: increase governance tx gas price | Wei-Ning Huang | 2019-03-12 | 1 | -0/+4 |
| | |||||
* | core: validate roundHeight mapping in governance contract | Wei-Ning Huang | 2019-03-12 | 1 | -0/+7 |
| | |||||
* | dex: proofread and fix bugs | Wei-Ning Huang | 2019-03-12 | 1 | -161/+145 |
| | |||||
* | test: disable standalone RPC server as BroadcastBlock currently cause forking | Wei-Ning Huang | 2019-03-12 | 1 | -3/+1 |
| | |||||
* | test: start a separate RPC node for testing block sync | Wei-Ning Huang | 2019-03-12 | 2 | -10/+5 |
| | |||||
* | app: add back mutex to prevent concurrent map read write | BJ4 | 2019-03-12 | 1 | -1/+9 |
| | |||||
* | dex: remove finalization information in block cache | Jimmy Hu | 2019-03-12 | 1 | -0/+2 |
| | |||||
* | app: lock by chain correctly and remove old core in vendor | BJ4 | 2019-03-12 | 1 | -24/+12 |
| | |||||
* | core: vm: governance: remove maxInterval | Wei-Ning Huang | 2019-03-12 | 1 | -1/+0 |
| | |||||
* | Rename import due to dexon-consensus rename | Wei-Ning Huang | 2019-03-12 | 10 | -68/+68 |
| | |||||
* | dex: implement PullBlocks/PullVotes (#1) | Jimmy Hu | 2019-03-12 | 6 | -2/+415 |
| | |||||
* | dex: minor refactor | Wei-Ning Huang | 2019-03-12 | 1 | -12/+18 |
| | |||||
* | dex: set blocktime to millisecond timestamp | Wei-Ning Huang | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | dex: increase TX queue size | Wei-Ning Huang | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | core: tx_pool: remove transactions on BlockConfirmed event | Wei-Ning Huang | 2019-03-12 | 1 | -1/+2 |
| | |||||
* | vendor: sync consensus core and fix conflic | Jimmy Hu | 2019-03-12 | 1 | -0/+21 |
| | |||||
* | dex: add block gas limit into governance | Wei-Ning Huang | 2019-03-12 | 2 | -11/+4 |
| | |||||
* | app: refactor prepare logic | Bojie Wu | 2019-03-12 | 1 | -11/+17 |
| | |||||
* | app: using lock correctly to use map safely | Bojie Wu | 2019-03-12 | 1 | -63/+77 |
| | |||||
* | app: fix nil pointer issue | Bojie Wu | 2019-03-12 | 1 | -4/+6 |
| | |||||
* | vendor: sync consensus core and fix conflict | Wei-Ning Huang | 2019-03-12 | 1 | -0/+5 |
| | |||||
* | app: add cache mechanism to increase performance | Bojie Wu | 2019-03-12 | 1 | -103/+63 |
| | |||||
* | app: add mutex to prevent concurrent read write map | Bojie Wu | 2019-03-12 | 1 | -0/+3 |
| | |||||
* | dex: update default network ID | Wei-Ning Huang | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | dex: fix types changes in consensus core | Sonic | 2019-03-12 | 1 | -10/+9 |
| | |||||
* | dex: remove uneeded info from block header | Wei-Ning Huang | 2019-03-12 | 1 | -15/+5 |
| | |||||
* | vendor: sync consensus core and fix conflict | Wei-Ning Huang | 2019-03-12 | 5 | -27/+30 |
| | |||||
* | app: fix bug when prepare transaction | Bojie Wu | 2019-03-12 | 1 | -2/+7 |
| | |||||
* | dex: fix test | Sonic | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | app: correct process pending block logic | Bojie Wu | 2019-03-12 | 1 | -29/+38 |
| | |||||
* | dex: fix missing randomness assignment | Wei-Ning Huang | 2019-03-12 | 1 | -1/+2 |
| | |||||
* | dex: fix DKG round switching | Wei-Ning Huang | 2019-03-12 | 1 | -3/+3 |
| | |||||
* | dex: prevent broadcasting agreement and randomness indefinitely | Wei-Ning Huang | 2019-03-12 | 1 | -2/+6 |
| | |||||
* | dex: fix round switching and initialize dMoment correctly | Wei-Ning Huang | 2019-03-12 | 1 | -1/+8 |
| | |||||
* | dex: misc fixes | Wei-Ning Huang | 2019-03-12 | 2 | -8/+17 |
| | |||||
* | app: check nonce and balance in prepare payload | Bojie Wu | 2019-03-12 | 1 | -20/+111 |
| | |||||
* | geth: add propose flag to enable/disable proposing | Sonic | 2019-03-12 | 1 | -0/+7 |
| | |||||
* | core: included Dexcon metadata in block | Wei-Ning Huang | 2019-03-12 | 1 | -5/+11 |
| | |||||
* | dex: no need to rlp encode/decode now, consensus supports it | Sonic | 2019-03-12 | 4 | -41/+31 |
| | |||||
* | dex: use RLP to encode contract payload data | Wei-Ning Huang | 2019-03-12 | 1 | -6/+6 |
| | |||||
* | dex: fix public key conversion | Wei-Ning Huang | 2019-03-12 | 1 | -6/+2 |
| | |||||
* | dex: fix DKGMasterPublicKey and DKGComplaints unmarshal | Wei-Ning Huang | 2019-03-12 | 1 | -3/+2 |
| | |||||
* | dex: pass logger object to consensus core | Wei-Ning Huang | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | app: implement verify block logic | Bojie Wu | 2019-03-12 | 1 | -22/+195 |
| | |||||
* | consensus: dexcon: fetch config from state | Wei-Ning Huang | 2019-03-12 | 4 | -7/+15 |
| | |||||
* | dex: fix public key parsing due to changes in consensus core | Wei-Ning Huang | 2019-03-12 | 1 | -12/+8 |
| | |||||
* | app: fixup message format | Wei-Ning Huang | 2019-03-12 | 1 | -8/+8 |
| | |||||
* | app: implement new insert blocks logic | Bojie Wu | 2019-03-12 | 1 | -147/+66 |
| | |||||
* | core/dex: fix governance contract implementation | Wei-Ning Huang | 2019-03-12 | 1 | -8/+8 |
| | |||||
* | dex: add initial block to Run | Jimmy Hu | 2019-03-12 | 1 | -1/+3 |
| | |||||
* | dex: polish network related function | Sonic | 2019-03-12 | 4 | -103/+211 |
| | |||||
* | dex: let notary nodes connect to some dkg nodes | Sonic | 2019-03-12 | 4 | -185/+204 |
| | | | | BuildConnection builds notary and dkg connections together | ||||
* | dex/core: misc bug fixes | Wei-Ning Huang | 2019-03-12 | 3 | -2/+10 |
| | |||||
* | dex: register ethereum APIs | Wei-Ning Huang | 2019-03-12 | 3 | -1/+1036 |
| | |||||
* | dex: implement peerSetLoop | Sonic | 2019-03-12 | 6 | -11/+74 |
| | |||||
* | app: fix log message | Bojie Wu | 2019-03-12 | 1 | -8/+8 |
| | |||||
* | hack: temp fix for running tests | Wei-Ning Huang | 2019-03-12 | 2 | -8/+5 |
| | |||||
* | app: correct dexon application logic | Bojie Wu | 2019-03-12 | 1 | -81/+51 |
| | |||||
* | core: fix nil map initialization | Wei-Ning Huang | 2019-03-12 | 1 | -1/+2 |
| | |||||
* | dex: gov: using dex-consensus-core NodeSetCache | Sonic | 2019-03-12 | 5 | -64/+71 |
| | |||||
* | dex: add subprotocols | Sonic | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | dex: run consensus core on Start | Wei-Ning Huang | 2019-03-12 | 1 | -0/+1 |
| | |||||
* | app: add default block reward | Bojie Wu | 2019-03-12 | 1 | -1/+1 |
| | |||||
* | dex: set tmp dMoment for testing | Wei-Ning Huang | 2019-03-12 | 1 | -1/+2 |
| | |||||
* | dex: fix flaky test | Sonic | 2019-03-12 | 1 | -0/+12 |
| | |||||
* | dex: add self node meta after Start | Sonic | 2019-03-12 | 4 | -6/+47 |
| | |||||
* | dex: add method to get NumChains, NotarySet, DKGSet easily | Sonic | 2019-03-12 | 6 | -43/+80 |
| | |||||
* | dex: move dexcon blockdb into datadir | Wei-Ning Huang | 2019-03-12 | 1 | -1/+3 |
| | |||||
* | dex: interface update | Wei-Ning Huang | 2019-03-12 | 1 | -1/+3 |
| | |||||
* | app: pass chain config instead of nil | Bojie Wu | 2019-03-12 | 1 | -3/+6 |
| | |||||
* | dex: network: implement the network interface | Sonic | 2019-03-12 | 9 | -58/+1024 |
| | |||||
* | dex: bug fix to allow running geth without crashing | Wei-Ning Huang | 2019-03-12 | 3 | -45/+51 |
| | |||||
* | dex: implement sendTx related governance methods | Wei-Ning Huang | 2019-03-12 | 2 | -6/+128 |
| | |||||
* | dex: pass p2p nodeKey to Dexon instance | Wei-Ning Huang | 2019-03-12 | 3 | -13/+20 |
| | |||||
* | app: modify for new interface method | Bojie Wu | 2019-03-12 | 1 | -19/+33 |
| | |||||
* | dex: implement some governance interface functions | Wei-Ning Huang | 2019-03-12 | 4 | -22/+98 |
| | |||||
* | dex: governance: implement governance interface | Wei-Ning Huang | 2019-03-12 | 3 | -16/+38 |
| | |||||
* | app: implement new interface method | Bojie Wu | 2019-03-12 | 1 | -27/+104 |
| | |||||
* | dex: add api_backend.go and it's dependencies | Wei-Ning Huang | 2019-03-12 | 4 | -2/+557 |
| | |||||
* | dex: update application interface | Wei-Ning Huang | 2019-03-12 | 1 | -20/+27 |
| | |||||
* | app: correct validation logic | Bojie Wu | 2019-03-12 | 1 | -4/+10 |
| | |||||
* | dex: implement dexon application interface | Bojie Wu | 2019-03-12 | 3 | -17/+285 |
| | |||||
* | dex: remove DAO related code | Sonic | 2019-03-12 | 2 | -62/+2 |
| | |||||
* | core: vm: refactor and add DKGFinalizeds related implementations | Wei-Ning Huang | 2019-03-12 | 2 | -4/+13 |
| | |||||
* | dex: redesign p2p network topology | Sonic | 2019-03-12 | 12 | -449/+1825 |
| | | | | | | | | | | - Let p2p server support direct connection and group connection. - Introduce node meta table to maintain IP of all nodes in node set, in memory and let nodes in the network can sync this table. - Let peerSet able to manage direct connections to notary set and dkg set. The mechanism to refresh the network topology when configuration round change is not done yet. | ||||
* | core: vm: implement the rest of governance contract methods | Wei-Ning Huang | 2019-03-12 | 3 | -4/+16 |
| | |||||
* | core: vm: add governance contract skeleton | Wei-Ning Huang | 2019-03-12 | 1 | -7/+7 |
| | |||||
* | dex: update consensus core interface | Wei-Ning Huang | 2019-03-12 | 4 | -36/+38 |
| | |||||
* | Change import go github.com/dexon-foundation/dexon | Wei-Ning Huang | 2019-03-12 | 11 | -66/+66 |
| | |||||
* | Use dex.Config instead of eth.Config | Wei-Ning Huang | 2019-03-07 | 4 | -72/+18 |
| | |||||
* | dex: implement notary node info propagation and management mechanism | Sonic | 2019-03-07 | 3 | -16/+183 |
| | |||||
* | dex: implement notarySet for keeping notary set info | Sonic | 2019-03-07 | 1 | -0/+203 |
| | |||||
* | dex: introduce dex64 and remove eth62, eth63 | Sonic | 2019-03-07 | 3 | -18/+37 |
| | |||||
* | dex: let peer able to send notary node info | Sonic | 2019-03-07 | 1 | -3/+41 |
| | |||||
* | dex: let peerSet able to manage notary peers | Sonic | 2019-03-07 | 1 | -1/+64 |
| | |||||
* | dex: fix use of internal package not allowed | Sonic | 2019-03-07 | 1 | -1/+1 |
| | |||||
* | Change package name from eth to dex | Sonic | 2019-03-07 | 8 | -8/+8 |
| | |||||
* | Copy codebase from eth | Sonic | 2019-03-07 | 8 | -0/+2407 |
| | |||||
* | dex: update interface and use static bls lib | Wei-Ning Huang | 2019-03-07 | 1 | -0/+5 |
| | |||||
* | dex: make geth buildable and update interface skeleton | Wei-Ning Huang | 2019-03-07 | 4 | -5/+177 |
| | |||||
* | Add udpated governance interface and app interface | Wei-Ning Huang | 2019-03-07 | 2 | -2/+34 |
| | |||||
* | Add dex package | Wei-Ning Huang | 2019-03-07 | 2 | -0/+80 |