aboutsummaryrefslogtreecommitdiffstats
path: root/dex/handler.go
Commit message (Collapse)AuthorAgeFilesLines
* core, dex, downloader: refactor governanceSonic2019-06-121-8/+4
|
* core, dex, dex/downloader: restore insertChain to upstream versionSonic2019-06-121-1/+1
| | | | | Also rename InsertChain2, insertChain2, InsertHeaderChain2, ValidateHeaderChain2
* dex: implement downloader for dexSonic2019-06-121-5/+80
| | | | | | | | | | | 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 dexSonic2019-06-121-2/+2
| | | | | To compatible with ethereum code base, make Downloader a interface in internal/ethapi
* core: add global signature cache and improve concurrency (#42)Wei-Ning Huang2019-06-121-1/+1
| | | | | 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 Hu2019-06-121-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 Hu2019-06-121-1/+16
| | | | | | | | * dex: Add a tx queue in broadcast * Modify queue parameter * Priority select all messages except tx
* core: fix light node synchronization issue (#30)Wei-Ning Huang2019-06-121-0/+4
| | | | | InsertChain() need to record the correct roundHeight mapping in order to process snapshotRoundHeight() governance method correctly.
* core: refactor validator and fix light node sync (#25)Wei-Ning Huang2019-06-121-39/+64
| | | | | | | | 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: fix conflict caused by rebaseWei-Ning Huang2019-06-121-5/+12
|
* test: disable standalone RPC server as BroadcastBlock currently cause forkingWei-Ning Huang2019-06-121-3/+1
|
* test: start a separate RPC node for testing block syncWei-Ning Huang2019-06-121-1/+3
|
* Rename import due to dexon-consensus renameWei-Ning Huang2019-06-121-10/+10
|
* dex: implement PullBlocks/PullVotes (#1)Jimmy Hu2019-06-121-0/+80
|
* vendor: sync consensus core and fix conflictWei-Ning Huang2019-06-121-4/+5
|
* dex: prevent broadcasting agreement and randomness indefinitelyWei-Ning Huang2019-06-121-2/+6
|
* dex: misc fixesWei-Ning Huang2019-06-121-0/+2
|
* dex: no need to rlp encode/decode now, consensus supports itSonic2019-06-121-10/+8
|
* dex: fix public key conversionWei-Ning Huang2019-06-121-6/+2
|
* dex: polish network related functionSonic2019-06-121-30/+58
|
* dex: let notary nodes connect to some dkg nodesSonic2019-06-121-16/+17
| | | | BuildConnection builds notary and dkg connections together
* dex: implement peerSetLoopSonic2019-06-121-11/+43
|
* hack: temp fix for running testsWei-Ning Huang2019-06-121-7/+1
|
* dex: add self node meta after StartSonic2019-06-121-2/+32
|
* dex: add method to get NumChains, NotarySet, DKGSet easilySonic2019-06-121-4/+3
|
* dex: network: implement the network interfaceSonic2019-06-121-0/+116
|
* dex: remove DAO related codeSonic2019-06-121-59/+0
|
* dex: redesign p2p network topologySonic2019-06-121-129/+87
| | | | | | | | | | - 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.
* Change import go github.com/dexon-foundation/dexonWei-Ning Huang2019-06-121-13/+13
|
* dex: implement notary node info propagation and management mechanismSonic2019-06-121-14/+150
|
* dex: introduce dex64 and remove eth62, eth63Sonic2019-06-121-9/+4
|
* Change package name from eth to dexSonic2019-06-121-1/+1
|
* Copy codebase from ethSonic2019-06-121-0/+787