obscuren
145e02fc54
core, miner: added value check on tx validation
...
* Changed CalcGasLimit to no longer need current block
* Added a gas * price + value on tx validation
* Transactions in the pool are now re-validated once every X
2015-04-26 11:19:40 +02:00
obscuren
405720b218
xeth, core, cmd/utils: Transaction can not be over block gas limit
...
Transactions will be invalidated when the tx.gas_limit > block.gas_limit
2015-04-24 17:48:13 +02:00
Bas van Kervel
c273ed7d82
Moved leveldb update loop to eth/backend
...
change order of block insert and update LastBlock
bugfix, wrong hash stored in blockDb
2015-04-23 17:58:58 +02:00
obscuren
7edbb0110f
core: set the state for the managed tx state
...
Set the state for the managed tx state instead of creating a new
managed state.
2015-04-23 11:50:12 +02:00
obscuren
b8160cc6d4
core: shuffled some code
2015-04-20 20:37:40 +02:00
obscuren
72d065d491
core: force block process & fixed chain manager test
2015-04-20 16:02:50 +02:00
obscuren
97a9753f87
core: added chain reset mechanism on bad blocks
2015-04-20 12:58:17 +02:00
obscuren
45da3e17e2
core: added chain head reset to known block
2015-04-20 12:29:02 +02:00
obscuren
97b0c4b697
core: moved TD calculation from proc to chain
2015-04-20 12:01:20 +02:00
obscuren
164b878854
cleanup
2015-04-19 00:08:57 +02:00
obscuren
84f1af6413
core: merge using equal block numbers rather than the current block
2015-04-18 21:23:42 +02:00
obscuren
dff39553d4
core: changed split detection to also account for number less than
2015-04-16 00:11:40 +02:00
obscuren
333d4e0f27
core: during split properly insert parent blocks
...
During a split parent and grand parent were included in the database but
not in the canonical chain (numbered chain). Added a `merge` function
which finds the common ancestor of the chains and reinserts the missing
blocks.
2015-04-14 00:20:29 +02:00
Jeffrey Wilcke
1fa844aaf5
Merge pull request #702 from ethersphere/frontier/blockpool
...
blockpool stability fixes:
2015-04-13 17:35:25 +02:00
zelig
3d57e377a4
blockpool stability fixes:
...
- follow up locks and fix them
- chainManager: call SetQueued for parentErr future blocks, uncomment TD checks, unskip test
- make ErrIncorrectTD non-fatal to be forgiving to genuine mistaken nodes (temp) but demote them to guard against stuck best peers.
- add purging to bounded nodeCache (config nodeCacheSize)
- use nodeCache when creating blockpool entries and let non-best peers add blocks (performance boost)
- minor error in addError
- reduce idleBestPeerTimeout to 1 minute
- correct status counts and unskip status passing status test
- glogified logging
2015-04-13 13:13:55 +01:00
Bas van Kervel
49a513bdeb
Added blockchain DB versioning support, closes #650
2015-04-13 10:13:52 +02:00
obscuren
46898f1e55
Merge branch 'frontier/blockpool' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/blockpool
2015-04-09 16:54:32 +02:00
obscuren
0636e17dbe
Added default registrar
2015-04-09 16:37:04 +02:00
zelig
262714fc6c
future queued block support
...
- queued bool // flag for blockpool to skip TD check
- set to true when future block queued
- in checkTD: skip check if queued
- TODO: add test (insertchain sets future block)
2015-04-09 13:58:35 +01:00
obscuren
688d118c7e
Updated logging
2015-04-07 14:57:04 +02:00
obscuren
9c55576c7b
Block header changed & console miner control
...
* miner control moved to `admin.miner`
* miner option to set extra data
* block extra now bytes
2015-04-05 18:59:18 +02:00
obscuren
736aefe9b5
time lapse
2015-04-05 17:59:38 +02:00
obscuren
053d5552ab
Updated logging
2015-04-04 23:04:19 +02:00
obscuren
c39484bc4b
Added thread safe each
2015-04-04 20:34:10 +02:00
obscuren
eff6a43419
Removed debugging
2015-04-04 18:29:11 +02:00
obscuren
7a18a39351
prevent deadlock
2015-04-04 18:23:51 +02:00
obscuren
e1ed8c33bd
Improved chain manager, improved block processor, fixed tests
...
* ChainManager allows cached future blocks for later processing
* BlockProcessor allows a 4 second window on future blocks
* Fixed tests
2015-04-04 16:35:23 +02:00
obscuren
c985ce4d78
Changed log to new logging
2015-04-04 13:41:58 +02:00
obscuren
218bfeb60e
check for nil block (tmp).
...
@zelig this needs to be addressed in the block pool.
2015-04-04 12:40:48 +02:00
obscuren
a0e44e3281
basic glog
2015-04-04 12:40:11 +02:00
obscuren
f9d94c7462
do not include BlockEqualTS as valid uncles
2015-04-03 17:19:09 +02:00
Gustav Simonsson
c26c8d3a44
Read most protocol params from common/params.json
...
* Add params package with exported variables generated from
github.com/ethereum/common/blob/master/params.json
* Use params package variables in applicable places
* Add check for minimum gas limit in validation of block's gas limit
* Remove common/params.json from go-ethereum to avoid
outdated version of it
2015-04-02 06:22:32 +02:00
obscuren
9de1ad6546
fixed tests
2015-03-24 15:27:05 +01:00
obscuren
0ec171ccdf
Copy fix
2015-03-24 13:38:16 +01:00
obscuren
0ee0094cc0
better block propagation
2015-03-23 22:59:19 +01:00
obscuren
0330077d76
moved state and vm to core
2015-03-23 16:59:09 +01:00
obscuren
d7eaa97a29
moved to error
2015-03-23 16:55:40 +01:00
obscuren
211cb03f83
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
2015-03-23 16:47:05 +01:00
Gustav Simonsson
becc503230
Correct difficulty calculation to use new difficulty minimum
2015-03-23 16:32:20 +01:00
obscuren
dc3a9379f5
logging for possible uncles
2015-03-23 16:14:33 +01:00
obscuren
524f8199bf
added some nil checks for cache (testing specific)
2015-03-23 12:22:58 +01:00
obscuren
deee9cb170
Added caching for block chain. Currently set to 10k
2015-03-20 15:54:42 +01:00
obscuren
29eb220910
:-)
2015-03-19 17:18:55 +01:00
obscuren
b5a71d955c
merge
2015-03-19 16:59:13 +01:00
obscuren
e540a75030
re-enabled json logging
2015-03-19 16:30:01 +01:00
obscuren
14a2f42f37
fixed chain event. Closes #529
2015-03-19 16:19:54 +01:00
obscuren
4d0ae8b0cb
Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into conversion
2015-03-18 14:16:07 +01:00
obscuren
48dd601de0
prep template for fixed size hashes
2015-03-18 14:15:58 +01:00
Felix Lange
b5b83db450
core: use package rlp to encode blocks
...
This also changes the chain export format so there is no
enclosing list around the blocks, which enables streaming export.
2015-03-18 13:36:48 +01:00
obscuren
8ce6a36478
converted chain manager
2015-03-16 23:48:18 +01:00
obscuren
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
obscuren
44636e5b82
typo
2015-03-14 13:21:20 +01:00
obscuren
532a74f50e
Improved errors. Closes #475
2015-03-14 12:43:10 +01:00
obscuren
b927c29469
GetBlockByNumber now properly looks for a number in the database
2015-03-13 18:29:42 +01:00
obscuren
03403399fc
Return proper error
2015-03-13 17:47:11 +01:00
obscuren
cda88ce31a
Implemented a manage state for keeping track of nonces
2015-03-13 14:37:54 +01:00
obscuren
e69d5b32e8
Increased genesis gas & gas floor limit to 3141592
2015-03-13 13:52:23 +01:00
obscuren
ce595b9266
fallback
2015-03-10 20:28:20 +01:00
obscuren
07955b3041
merge
2015-03-08 01:09:34 +01:00
obscuren
cd856cb213
Separated block db from state db. Partial fix for #416
2015-03-06 18:26:16 +01:00
obscuren
8d9be18b29
Queued approach to delivering chain events
2015-03-06 15:50:44 +01:00
obscuren
23ad2f02c0
debug comments & pow handling
2015-03-06 10:22:40 +01:00
Taylor Gerring
fbb307cca0
Added eth.chain.new_head
2015-03-05 10:58:13 -06:00
Jeffrey Wilcke
3b30765378
Merge pull request #426 from Gustav-Simonsson/add_blockchain_tests
...
Add initial implementation of block tests
2015-03-05 17:43:56 +01:00
obscuren
c47866d251
Miner fixes and updates (including miner)
2015-03-05 09:14:58 +01:00
Gustav Simonsson
871dfd399b
Add initial implementation of block tests
...
* Add blocktest cmd and support for block tests files in
tests/BlockTests , the launched node does not connect to
network, resets state with a genesis block from the test file
and starts the RPC API
2015-03-04 20:27:09 +01:00
obscuren
84a4f761f3
uncle validation
2015-03-04 10:49:56 +01:00
obscuren
26de12d9bf
Changed nonce to a uint64
2015-03-03 21:04:31 +01:00
obscuren
f0b2ea64fc
Merge branch 'jsonlogs' of https://github.com/ethersphere/go-ethereum into ethersphere-jsonlogs
...
Conflicts:
eth/block_pool.go
eth/block_pool_test.go
eth/protocol_test.go
miner/worker.go
2015-03-03 20:30:05 +01:00
zelig
6c2856df23
add eth.chain.new_head log to core/chain_manager
2015-03-03 15:44:41 +07:00
obscuren
b383ff0b96
New gas prices model
2015-03-02 16:32:02 +01:00
obscuren
747647e02a
Merge branch 'master' into develop
2015-02-23 19:25:50 +01:00
obscuren
0b57bad2de
removed log
2015-02-23 19:25:41 +01:00
obscuren
b2a225a52e
Properly uninstall filters. Mining issue fixed #closes #365
...
* Added an additional tx state which is used to get the current nonce
* Refresh transient state each time a new canonical block is found
* Properly uninstall filters. Fixes a possible crash in RPC
2015-02-23 15:43:41 +01:00
obscuren
cc43ab9a81
Minor updates for release
2015-02-20 18:05:46 +01:00
obscuren
66d5559866
Fixed chain event issue
2015-02-20 16:59:08 +01:00
obscuren
75625801f5
fixed merge
2015-02-20 15:18:07 +01:00
obscuren
d8ac267f41
dirty tracking for state objects fixed
2015-02-20 14:01:30 +01:00
obscuren
fa4cbad315
Optimisations and fixed a couple of DDOS issues in the miner
2015-02-19 22:33:22 +01:00
obscuren
655e942597
Added GetBlock GetUncle with OOB guard
2015-02-18 13:14:21 +01:00
obscuren
7fc9b5b3f9
Changed to ChainEvent and fixed a nil pointer in transact
2015-02-17 22:20:47 +01:00
obscuren
567428fb34
Filter and mutex locks added
2015-02-17 16:12:55 +01:00
obscuren
d2a4bc4d73
Removed reference to lastBlockNumber & LastBlockNumber
2015-02-16 12:03:27 +01:00
obscuren
2c3a014f03
Resolved some bugs in the miner
...
* TODO nonce error sometimes persists
* Fixed mining on wrong blocks
* Fixed state error & receipt fail
2015-02-15 16:16:27 +01:00
obscuren
b143dad596
Reference pointer to block instead of pointer to function
2015-02-15 02:09:57 +01:00
obscuren
da2fae0e43
Basic structure miner
2015-02-10 13:04:38 +01:00
obscuren
65158d39b0
Filtering
2015-02-04 15:05:47 -08:00
obscuren
3440a8a0bf
changed lost key
2015-01-28 21:12:26 +01:00
obscuren
7394ee7c72
Fixed difficulty
...
Difficulty was broken when refactored.
2015-01-18 15:45:54 +01:00
obscuren
491c23a728
Moved the TD method from block processor.
2015-01-09 22:42:36 +01:00
obscuren
905b8cc82f
mem fixes for vm. Changed uncle inclusion tests
2015-01-09 17:38:35 +01:00
zelig
b3161f5803
Merge remote-tracking branch 'upstream/develop' into develop
2015-01-09 06:21:47 +00:00
zelig
3bdf28c1fe
GetBlockHashesFromHash(hash, max) gives back max hashes starting from PARENT of hash
2015-01-09 05:03:26 +00:00
obscuren
b25126a277
Minor fixed and additions for block proc
...
* Path check length
* Genesis include TD
* Output TD on last block
2015-01-08 16:37:06 +01:00
obscuren
fed3e6a808
Refactored ethutil.Config.Db out
2015-01-07 13:17:48 +01:00
obscuren
25e6c4eff8
Adjusted difficulty and skip get tx messages
2015-01-06 14:02:47 +01:00
obscuren
ca1b2a1a91
Changed prev_hash to block_hash, state transition now uses vm env
...
* PREVHASH => BLOCKHASH( N )
* State transition object uses VMEnv as it's query interface
* Updated vm.Enviroment has GetHash( n ) for BLOCKHASH instruction
* Added GetHash to xeth, core, utils & test environments
2015-01-03 17:18:43 +01:00
obscuren
4dc7ee9087
Closure => Context
2015-01-02 16:14:12 +01:00
obscuren
477a6d426c
Added a query interface for world state
2015-01-02 12:07:54 +01:00
obscuren
1c7e8e9093
Set TD to block once processed
2015-01-02 11:16:42 +01:00
obscuren
1382e8d84b
Delete current chain for reset
2014-12-23 14:50:04 +01:00
obscuren
9e5257b83b
Chain importer
2014-12-23 14:33:15 +01:00
obscuren
4cd79d8ddd
Refactored block & Transaction
...
* Includes new rlp decoder
2014-12-23 13:48:44 +01:00
obscuren
0dc566124a
Merge fixes
2014-12-18 13:22:59 +01:00
obscuren
721e8ae93f
Merged develop
2014-12-18 13:19:41 +01:00
obscuren
2d09e67713
Updated to new methods
2014-12-18 13:17:24 +01:00
obscuren
49e0267fe7
Locks, refactor, tests
...
* Added additional chain tests
* Added proper mutex' on chain
* Removed ethereum dependencies
2014-12-18 13:12:54 +01:00
obscuren
e6fdf0c9f7
Merge branch 'develop' into poc8
2014-12-18 00:12:51 +01:00
obscuren
b1c58b76a9
moved err check
2014-12-17 12:57:35 +01:00
zelig
72290f67fe
resolve merge conflict hell
2014-12-14 20:57:29 +00:00
zelig
7b39cc83cc
adapt chain_manager to eth protocol interface
...
- add Status() to return td, currentblock hash, genesis hash
- GetChainHashesFromHash -> GetBlockHashesFromHash
2014-12-14 20:45:12 +00:00
zelig
d84810d89d
add Status to retrieve TD, currentBlock, genesis for easy interface with eth/protocol
2014-12-14 20:30:56 +00:00
obscuren
2b5fcb4642
moved interfaces
2014-12-10 20:26:55 +01:00
obscuren
5553e5aaed
states moved to chain
2014-12-10 19:59:12 +01:00
obscuren
9925916851
upped proto version and modified block pool
2014-12-05 16:26:39 +01:00
obscuren
73123bf257
Only set TD if it's actually higher
2014-12-04 15:35:21 +01:00
obscuren
9008b155d3
Renamed chain
=> core
2014-12-04 10:28:02 +01:00