obscuren
7e160a677d
xeth, core, event/filter, rpc: new block and transaction filters
2015-05-07 14:44:32 +02:00
zelig
009b221692
solidity compiler and contract metadocs integration
...
* common/compiler: solidity compiler + tests
* rpc: eth_compilers, eth_compileSolidity + tests
* fix natspec test using keystore API, notice exp dynamically changes addr, cleanup
* resolver implements registrars and needs to create reg contract (temp)
* xeth: solidity compiler. expose getter Solc() and paths setter SetSolc(solcPath)
* ethereumApi: implement compiler related RPC calls using XEth - json struct tests
* admin: make use of XEth.SetSolc to allow runtime setting of compiler paths
* cli: command line flags solc to set custom solc bin path
* js admin api with new features debug and contractInfo modules
* wiki is the doc https://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions
2015-05-07 12:58:21 +02:00
Gustav Simonsson
2808409fbd
Add genesis block total difficulty in tests
2015-05-06 23:22:49 +02:00
Jeffrey Wilcke
323216ed85
Merge pull request #861 from obscuren/transaction_pool_fixes
...
core: transaction pool fixes & resending transactions
2015-05-06 11:23:58 -07:00
obscuren
92f998c7ef
core: use removeTx instead of delete
2015-05-06 18:30:55 +02:00
Gustav Simonsson
b1cc9cdc74
Integrate new ethash API and change geth makedag cmd
2015-05-05 08:24:15 +02:00
obscuren
37770ed0d3
core: added unix timestamp to debug output for block proc
2015-05-03 21:49:19 +02:00
obscuren
c5b8acbaf0
core: print ignored blocks
2015-05-03 14:09:50 +02:00
obscuren
c6ad3aec05
eth,core: changed NewTicker to Tick
2015-05-03 13:27:37 +02:00
obscuren
b298928c49
core: added 'ignored' status
2015-05-01 16:00:30 +02:00
obscuren
15873fafc0
core: added a wait group to chain manager for graceful shutdown
2015-04-30 17:50:47 +02:00
obscuren
e4dba36892
core: check for parent in calc TD. TD = (N != 0 == parent.TD) || (== D)
2015-04-30 14:55:21 +02:00
obscuren
28b39267d9
core, eth: verify td of received blocks
2015-04-30 13:50:59 +02:00
obscuren
88292f35db
core: remove txs from queue in addition to removal of pending
2015-04-30 00:20:59 +02:00
obscuren
2590a7dabb
core: added some additional chain tests for shortest chain
2015-04-30 00:14:41 +02:00
obscuren
9e63798d03
core/types, eth: meassure and display propagation times
2015-04-29 19:55:30 +02:00
obscuren
c930045834
core: fixed tetst to reflect (int, error) return by insertChain
2015-04-29 15:27:04 +02:00
obscuren
735b029db9
core: return the index of the block that failed when inserting a chain
2015-04-29 14:00:24 +02:00
obscuren
4e07967711
core: fixed chain reorg during splits
...
Chain reorgs weren't properly handled when a chain was further ahead.
Previously we'd end up with mixed chains in our canonical numbering
sequence. Added test for this type of forking.
```
/-o-o-o A
o-C-+
\-o-o-o-o B
```
Ends up with with C A1, A2, A3, B4
2015-04-29 12:51:05 +02:00
obscuren
af73d1d682
core/types: added fake parent hash / hash to String() output
2015-04-29 12:51:05 +02:00
obscuren
7ac24d551b
core: seperated proccing mutex and getting mutex
2015-04-29 12:51:04 +02:00
obscuren
9f32117457
core: bump database version
2015-04-29 12:51:04 +02:00
obscuren
a4b79f1dac
core: moved mutex locks in insert blocks to start of function
...
Insert blocks will no longer allow processing of multiple chains at the
same time. The block lock has been moved to start of the function.
2015-04-29 12:51:04 +02:00
obscuren
04a09b7e2d
core: set min gas price at startup
2015-04-29 12:51:04 +02:00
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
Jeffrey Wilcke
8d09f95bc7
Merge pull request #805 from obscuren/download_improvements
...
eth, eth/downloader: improve downloader and remove asynchronousness
2015-04-24 15:56:17 -07: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
obscuren
cd2782f59c
core: fixed wildcard topic filters. Closes #725
2015-04-24 13:45:21 +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
7f14fbd579
core: pending txs now re-validated once every second
2015-04-23 11:50:12 +02:00
obscuren
fba40e18d9
core: added accessor for queued transactions
2015-04-23 11:50:12 +02:00
obscuren
d3be1a2719
eth: moved mined, tx events to protocol-hnd and improved tx propagation
...
Transactions are now propagated to peers from which we have not yet
received the transaction. This will significantly reduce the chatter on
the network.
Moved new mined block handler to the protocol handler and moved
transaction handling to protocol handler.
2015-04-23 11:50:12 +02:00
obscuren
888ece0cb2
core: fixed test
2015-04-23 11:50:12 +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
1506e00a23
core: improved error message for invalid nonce txs
2015-04-23 11:50:11 +02:00
obscuren
7138404cb0
core: only post event once per tx & fixed test
2015-04-23 11:50:11 +02:00
obscuren
498b24270a
core: implemented a queued approach processing transactions
...
Implemented a new transaction queue. Transactions with a holes in their
nonce sequence are also not propagated over the network.
N: 0,1,2,5,6,7 = propagate 0..2 -- 5..N is kept in the tx pool
2015-04-23 11:50:11 +02:00
Gustav Simonsson
4e0a2c8e8c
Validate block header UncleHash against calculated hash
2015-04-22 23:16:19 +02:00
obscuren
ed0817c55d
core/rpc: fix for null entries in log filters. Closes #725
...
You can now specify `null` as a way of saying "not interested in this
topic, match all". core.Filter assumes the zero'd address to be the
wildcard. JSON rpc assumes empty strings to be wildcards.
2015-04-21 12:00:57 +02:00
obscuren
093d6d5074
core: removed nonce resetting from the block processor.
...
All nonce error handling has been moved to the worker
2015-04-21 11:27:12 +02:00
obscuren
b8160cc6d4
core: shuffled some code
2015-04-20 20:37:40 +02:00
obscuren
f28b2bb6ed
core: upgraded block chain version
2015-04-20 18:12:05 +02:00
obscuren
36ec42e50c
Merge branch 'frontier/natspec' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/natspec
2015-04-20 18:08:14 +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
zsfelfoldi
d8fb834386
test account is no longer permanently in genesis block, only put there when testing
2015-04-19 20:57:49 +01:00
zsfelfoldi
dba2367157
NatSpec contracts are now not in the genesis block but added by the test
2015-04-19 20:57:49 +01:00
zsfelfoldi
b635cad9fe
NatSpec passing end to end test
2015-04-19 20:57:49 +01:00
zsfelfoldi
94489b2269
s
2015-04-19 20:57:49 +01:00
zsfelfoldi
e2d333d209
NatSpec contracts in genesis block, end to end test (unfinished)
2015-04-19 20:57:49 +01:00
obscuren
8f3a7e41de
Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum into fjl-rlp-size-validation
...
Conflicts:
eth/protocol.go
2015-04-19 17:07:40 +02:00
obscuren
164b878854
cleanup
2015-04-19 00:08:57 +02:00
obscuren
d34e4dc5ac
Merge branch 'develop' into downloader-proto
2015-04-18 21:26:43 +02:00
obscuren
84f1af6413
core: merge using equal block numbers rather than the current block
2015-04-18 21:23:42 +02:00
obscuren
1bc2d83b6f
core: improved uncle validation error message
2015-04-18 14:24:44 +02:00
Felix Lange
574d5d6ae6
core/types: add rlp tag "nil" for Transaction.Recipient
2015-04-17 14:45:10 +02:00
obscuren
dff39553d4
core: changed split detection to also account for number less than
2015-04-16 00:11:40 +02:00
obscuren
5d2138a2b2
core: fixed issue for logs filter. Closes #629
...
Log filter `Address` field was cast to a Hash which causes it to always
fail.
2015-04-15 11:59:41 +02:00
obscuren
ccb4722a59
core/types: Changed bloom lookup to take anything bytes backed
2015-04-15 11:58:45 +02:00
obscuren
8310bcda61
state: fixed mutex lockes
2015-04-14 12:47:54 +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
obscuren
d423305f07
state: fixed nonce issue in managed state
...
Rlock => Lock when creating a new nonce
2015-04-13 22:57:03 +02:00
Jeffrey Wilcke
1fa844aaf5
Merge pull request #702 from ethersphere/frontier/blockpool
...
blockpool stability fixes:
2015-04-13 17:35:25 +02:00
Jeffrey Wilcke
5f9346bc7a
Merge pull request #700 from bas-vk/issue_650
...
Added blockchain DB versioning support, closes #650
2015-04-13 17:34:34 +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
3aa5437a10
Set input to nil for create
2015-04-10 19:59:01 +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
204ac81188
Moved handling of nonces to the managed state
2015-04-08 23:30:07 +02:00
obscuren
6e2f78ebdd
Default log to stderr
2015-04-08 22:18:16 +02:00
obscuren
6184781b49
Improved transaction pool
...
The transaction pool will now some easily be able to pre determine the
validity of a transaction by checking the following:
* Account existst
* gas limit higher than the instrinsic gas
* enough funds to pay upfront costs
* nonce check
2015-04-08 20:47:32 +02:00
obscuren
f08e9cbe42
ignore invalid txs right after being added if they prove incorrect
2015-04-08 18:08:21 +02:00
obscuren
1c872ddf4b
Changed how logs are being recorded
...
Logs are now recorded per transactions instead of tossing them out after
each transaction. This should also fix an issue with
`eth_getFilterLogs` (#629 ) Also now implemented are the `transactionHash,
blockHash, transactionIndex, logIndex` on logs. Closes #654 .
2015-04-08 17:15:45 +02:00
obscuren
a953f3ec97
Sync managed accounts to the network
2015-04-08 13:07:21 +02:00
obscuren
31b086f511
Added additional methods to the managed state
...
* GetNonce Returns the canonical nonce
* SetNonce Set the managed account's nonce
2015-04-08 13:06:56 +02:00
obscuren
09147a50ed
Improved tx pool to ignore invalid transactions
...
Transaction pool will attempt to ignore invalid transactions it had
previously encountered.
2015-04-08 00:31:23 +02:00
Jeffrey Wilcke
758205b187
Merge pull request #648 from Gustav-Simonsson/forward_ecrecover_err_and_remove_dup_checks
...
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 20:48:56 +02:00
obscuren
688d118c7e
Updated logging
2015-04-07 14:57:04 +02:00
obscuren
43454053b0
Fixed tests
2015-04-07 13:10:12 +02:00
Gustav Simonsson
2591883a18
Use logger.Error instead of 0 with glog
2015-04-07 12:48:19 +02:00
Gustav Simonsson
3f306f63d4
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 12:48:19 +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
eb1c26746d
Changed R S to big int and fixed tests
2015-04-04 21:41:24 +02:00
obscuren
eb8f0b85f7
Changed R & S to *big.Int
2015-04-04 21:32:24 +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
29f120206e
Added block cache delete method
2015-04-04 16:33:12 +02:00
obscuren
c985ce4d78
Changed log to new logging
2015-04-04 13:41:58 +02:00
obscuren
1889727144
Moved logging to logger.Core
2015-04-04 13:24:01 +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
ec8a6e0a2b
Merge branch 'develop' into glog
2015-04-03 17:19:22 +02:00