Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | backport from v1.8.23 (#304) | Sonic | 2019-04-09 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | * dex: backport f6193ad * dex/downloader: backport accc0fa accc0fab 174083c3 * dex: backport 434dd5b * dex: backport 42a914a 0983d02 * dex: backport 48b70ec 31b3334 and some modification * dex/downloader: backport 5f251a6 * dex/downloader: backport 81c3dc7 * dex, dex/downloader: fix typos | ||||
* | dex: fix fast sync in BP mode (#291) | Wei-Ning Huang | 2019-04-09 | 1 | -1/+14 |
| | | | | Start blockproposer only after fast sync is completed (received ChainHead event), so watchcat is not falsely triggered. | ||||
* | dex: properly shutdown protocol stack (#267) | Wei-Ning Huang | 2019-04-09 | 1 | -3/+8 |
| | |||||
* | dex: properly start and stop the block proposer module (#264) | Wei-Ning Huang | 2019-04-09 | 1 | -8/+7 |
| | | | | Stop blockproposer in the Stop() method of node service so the process doens't hang. | ||||
* | core: fill in genesis timstamp and remove dMoment from protocol handshake (#263) | Wei-Ning Huang | 2019-04-09 | 1 | -2/+2 |
| | | | | | | Fill in dmoment as genesis block timestamp. This allow us to remove dMoment check from protocol handshake since genesis block hash itself will protect us against different dMoment. | ||||
* | dex: implement recovery mechanism (#258) | Wei-Ning Huang | 2019-04-09 | 1 | -1/+7 |
| | | | | | | | | | * dex: implement recovery mechanism The DEXON recovery protocol allows us to use the Ethereum blockchain as a fallback consensus chain to coordinate recovery. * fix | ||||
* | dex: rename IsLatticeSyncing to IsCoreSyncing (#238) | Wei-Ning Huang | 2019-04-09 | 1 | -2/+2 |
| | |||||
* | p2p, dex: rework connection management (#183) | Sonic | 2019-04-09 | 1 | -1/+0 |
| | | | | | | * p2p, dex: rework connection management * dex: refresh our node record periodically * dex: don't send new record event if no new record | ||||
* | vendor: sync to latest core (#154) | Jimmy Hu | 2019-04-09 | 1 | -0/+1 |
| | | | | | | * vendor: sync to latest core with BA3.0 * params: Update dmoment | ||||
* | app: remove pending block logic (#149) | bojie | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | params: write dMoment into ChainConfig (#150) | Wei-Ning Huang | 2019-04-09 | 1 | -4/+3 |
| | |||||
* | consensus: implement DEXON cryptoeconomics v4.0 (#145) | Wei-Ning Huang | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | dex: replace NodeMeta with ENR (#132) | Sonic | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | indexer: support data exporting/forwarding (#103) | Meng-Ying Yang | 2019-04-09 | 1 | -0/+14 |
| | | | | | | | | | To support more effective and flexible blockchain info exploring, we add `indexer` package, defines the flow of indexer dameon, and integrate into dex.Dexon fullnode. For more export options, we use Golang built-in `plugin` package to support mulitple implementations. | ||||
* | core, dex, internal: block proposer syncing (first iteration) (#96) | Sonic | 2019-04-09 | 1 | -16/+25 |
| | | | | | | | | | | | | | | | | | | | | | | * dex, internal: block proposer syncing (first iteration) * core: find block from db if not in memory This fix handles stopping proposing and then restarting * core: no need to reorg when reset Dexon will not fork. This commit also fix when a block confirm but its parent is not in db yet, during restarting proposing. * dex: always accept NewBlockMsg, NewBlockHashesMsg We need to accept NewBlockMsg, NewBlockHashesMsg to sync current block with other peers in block proposer mode when syncing lattice data. It's a waste when the node is synced and start proposing. Todo: control msg processing on/off more granular, accept NewBlockMsg, NewBlockHashesMsg when syncing, but stop when synced. | ||||
* | dex: stop consensus core (#93) | Jimmy Hu | 2019-04-09 | 1 | -0/+1 |
| | |||||
* | vendor: sync to latest core (#91) | Mission Liao | 2019-04-09 | 1 | -2/+2 |
| | | | | | | - Implement new methods in db to cache DKG private key. - Implement new methods in db to cache compaction chain tip. | ||||
* | dex, cmd: Add DMoment to command line (#87) | Jimmy Hu | 2019-04-09 | 1 | -6/+2 |
| | |||||
* | vendor: sync to latest core and fix conflict (#79) | Jimmy Hu | 2019-04-09 | 1 | -2/+1 |
| | |||||
* | core, dex: polish sync (#75) | Sonic | 2019-04-09 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | - 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: add app test case and benchmark (#66) | bojie | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | Fix lint | Wei-Ning Huang | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | dex: use dex/downloader in dex | Sonic | 2019-04-09 | 1 | -10/+10 |
| | | | | | To compatible with ethereum code base, make Downloader a interface in internal/ethapi | ||||
* | dex: add BlockDB, which implements consensus core's blockdb.BlockDatabase (#36) | Sonic | 2019-04-09 | 1 | -11/+2 |
| | |||||
* | core: fix light node synchronization issue (#30) | Wei-Ning Huang | 2019-04-09 | 1 | -0/+1 |
| | | | | | 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 Huang | 2019-04-09 | 1 | -4/+3 |
| | | | | | | | | 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-04-09 | 1 | -1/+1 |
| | | | | We did not change anything in eth/gasprice, don't copy it into dex. | ||||
* | app: fix core test | BJ4 | 2019-04-09 | 1 | -1/+2 |
| | |||||
* | test: start a separate RPC node for testing block sync | Wei-Ning Huang | 2019-04-09 | 1 | -9/+2 |
| | |||||
* | Rename import due to dexon-consensus rename | Wei-Ning Huang | 2019-04-09 | 1 | -9/+9 |
| | |||||
* | dex: fix round switching and initialize dMoment correctly | Wei-Ning Huang | 2019-04-09 | 1 | -1/+8 |
| | |||||
* | geth: add propose flag to enable/disable proposing | Sonic | 2019-04-09 | 1 | -0/+7 |
| | |||||
* | dex: pass logger object to consensus core | Wei-Ning Huang | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | consensus: dexcon: fetch config from state | Wei-Ning Huang | 2019-04-09 | 1 | -1/+7 |
| | |||||
* | dex: add initial block to Run | Jimmy Hu | 2019-04-09 | 1 | -1/+3 |
| | |||||
* | dex: register ethereum APIs | Wei-Ning Huang | 2019-04-09 | 1 | -1/+38 |
| | |||||
* | hack: temp fix for running tests | Wei-Ning Huang | 2019-04-09 | 1 | -1/+4 |
| | |||||
* | dex: add subprotocols | Sonic | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | dex: run consensus core on Start | Wei-Ning Huang | 2019-04-09 | 1 | -0/+1 |
| | |||||
* | app: add default block reward | Bojie Wu | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | dex: set tmp dMoment for testing | Wei-Ning Huang | 2019-04-09 | 1 | -1/+2 |
| | |||||
* | dex: add self node meta after Start | Sonic | 2019-04-09 | 1 | -0/+1 |
| | |||||
* | dex: move dexcon blockdb into datadir | Wei-Ning Huang | 2019-04-09 | 1 | -1/+3 |
| | |||||
* | dex: interface update | Wei-Ning Huang | 2019-04-09 | 1 | -1/+3 |
| | |||||
* | dex: network: implement the network interface | Sonic | 2019-04-09 | 1 | -5/+30 |
| | |||||
* | dex: bug fix to allow running geth without crashing | Wei-Ning Huang | 2019-04-09 | 1 | -3/+6 |
| | |||||
* | dex: implement sendTx related governance methods | Wei-Ning Huang | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | dex: pass p2p nodeKey to Dexon instance | Wei-Ning Huang | 2019-04-09 | 1 | -8/+4 |
| | |||||
* | dex: implement some governance interface functions | Wei-Ning Huang | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | dex: governance: implement governance interface | Wei-Ning Huang | 2019-04-09 | 1 | -11/+21 |
| | |||||
* | dex: add api_backend.go and it's dependencies | Wei-Ning Huang | 2019-04-09 | 1 | -2/+13 |
| | |||||
* | dex: implement dexon application interface | Bojie Wu | 2019-04-09 | 1 | -4/+66 |
| | |||||
* | dex: update consensus core interface | Wei-Ning Huang | 2019-04-09 | 1 | -5/+4 |
| | |||||
* | Change import go github.com/dexon-foundation/dexon | Wei-Ning Huang | 2019-04-09 | 1 | -10/+10 |
| | |||||
* | Use dex.Config instead of eth.Config | Wei-Ning Huang | 2019-04-09 | 1 | -14/+2 |
| | |||||
* | dex: fix use of internal package not allowed | Sonic | 2019-04-09 | 1 | -1/+1 |
| | |||||
* | dex: make geth buildable and update interface skeleton | Wei-Ning Huang | 2019-04-09 | 1 | -0/+107 |
| | |||||
* | Add dex package | Wei-Ning Huang | 2019-04-09 | 1 | -0/+22 |