aboutsummaryrefslogtreecommitdiffstats
path: root/core/types.go
Commit message (Collapse)AuthorAgeFilesLines
* Rebrand as tangerine-network/go-tangerineWei-Ning Huang2019-09-171-4/+4
|
* core, dex: use block hash as witness data (#160)Sonic2019-06-121-1/+2
| | | | | | | | | | Using only state root and receipt root as witness data can not protect other fields in block header, ex: bloom, difficulty, gas limit, gas used... So that everyone can manipulate these fields to create as many valid blocks at the same height as he want. Although this will not effect the state, one can spam us when syncing. Using block hash as witness data can solve this.
* core: refactor validator and fix light node sync (#25)Wei-Ning Huang2019-06-121-0/+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.
* Change import go github.com/dexon-foundation/dexonWei-Ning Huang2019-06-121-3/+3
|
* all: switch gas limits from big.Int to uint64Péter Szilágyi2018-01-031-4/+2
|
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-051-22/+8
| | | | | This commit adds pluggable consensus engines to go-ethereum. In short, it introduces a generic consensus interface, and refactors the entire codebase to use this interface.
* core/vm: move Log to core/typesFelix Lange2017-01-061-1/+1
| | | | | | | | This significantly reduces the dependency closure of ethclient, which no longer depends on core/vm as of this change. All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too, the constructor simply returned a literal.
* core, miner: move Backend to minerFelix Lange2016-08-171-15/+0
| | | | | This ensures that package core doesn't depend on package accounts and resolves an age-old TODO.
* eth: remove dapp database remainsFelix Lange2016-08-171-1/+0
|
* all: update license informationFelix Lange2016-04-151-1/+1
|
* core: added basic chain configurationJeffrey Wilcke2016-04-011-1/+1
| | | | | | | | | Added chain configuration options and write out during genesis database insertion. If no "config" was found, nothing is written to the database. Configurations are written on a per genesis base. This means that any chain (which is identified by it's genesis hash) can have their own chain settings.
* core: Added EVM configuration optionsJeffrey Wilcke2016-03-241-1/+1
| | | | | The EVM is now initialised with an additional configured object that allows you to turn on debugging options.
* core: various typosLeif Jurvetson2016-03-161-1/+1
|
* core: create a header chain structure shared by core.BlockChain and ↵zsfelfoldi2016-03-101-2/+10
| | | | light.LightChain
* core, eth, rpc: split out block validator and state processorJeffrey Wilcke2015-11-181-0/+70
This removes the burden on a single object to take care of all validation and state processing. Now instead the validation is done by the `core.BlockValidator` (`types.Validator`) that takes care of both header and uncle validation through the `ValidateBlock` method and state validation through the `ValidateState` method. The state processing is done by a new object `core.StateProcessor` (`types.Processor`) and accepts a new state as input and uses that to process the given block's transactions (and uncles for rewords) to calculate the state root for the next block (P_n + 1).