Commit Graph

47 Commits

Author SHA1 Message Date
obscuren
3c6c891680 core: optimise pending transaction processing 2015-05-11 11:39:33 +02:00
obscuren
dcfecebe1f core: get transaction by hash from transaction pool 2015-05-07 18:22:57 +02:00
obscuren
92f998c7ef core: use removeTx instead of delete 2015-05-06 18:30:55 +02:00
obscuren
88292f35db core: remove txs from queue in addition to removal of pending 2015-04-30 00:20:59 +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
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
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
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
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
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
a953f3ec97 Sync managed accounts to the network 2015-04-08 13:07:21 +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
Felix Lange
a59dd393e7 core: fix tests 2015-03-18 13:38:47 +01:00
Felix Lange
17c5ba2b6b core: actually convert transaction pool 2015-03-17 12:16:21 +01:00
Felix Lange
b95387a0dc core: convert transaction pool to common.{Address,Hash} 2015-03-17 11:59:26 +01:00
obscuren
b523441361 Moved ethutil => common 2015-03-16 11:27:38 +01:00
Matthew Wampler-Doty
de9f79133f Introducing ethash 2015-03-02 22:29:34 -05:00
Ethan Buchman
5a827417d9 Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop 2015-02-26 17:54:57 -05:00
obscuren
ea9a549bbd Removed exported fields from state object and added proper set/getters 2015-02-20 14:19:34 +01:00
obscuren
fa4cbad315 Optimisations and fixed a couple of DDOS issues in the miner 2015-02-19 22:33:22 +01:00
Ethan Buchman
2ba65f4fba Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop 2015-02-17 19:25:18 -05:00
obscuren
cb382fa76b Validate transactions sender before adding to pool. Closes #272 2015-01-31 17:22:17 +01:00
Ethan Buchman
2da367a2be fix unchecked slice index on tx.From() 2015-01-26 10:57:23 -08:00
obscuren
60d9611c23 Fixed tests where txs weren't properly removed 2015-01-07 01:21:45 +01:00
obscuren
6abf8ef78f Merge 2015-01-05 17:10:42 +01:00
obscuren
16f417f5af Fixed bug where logging could crash client during tx adding 2015-01-02 22:19:58 +01:00
obscuren
d336e24dce Removed the need of having a backend for the tx pool 2015-01-02 12:26:55 +01:00
obscuren
ae2c90cc28 Removed value check from tx validation 2015-01-02 12:24:36 +01:00
obscuren
48d2a8b8ee Refactored tx pool and added extra fields to block
* chain manager sets td on block + td output w/ String
* added tx pool tests for removing/adding/validating
* tx pool now uses a set for txs instead of list.List
2015-01-02 12:09:38 +01:00
obscuren
207b6c50fb Merge branch 'badsig' of https://github.com/ebuchman/go-ethereum into ebuchman-badsig
Conflicts:
	core/transaction_pool.go
2014-12-19 00:33:05 +01:00
obscuren
22d29a6d52 merge 2014-12-19 00:02:55 +01:00
obscuren
5ad473d758 Moved methods to messages 2014-12-18 15:33:22 +01:00
obscuren
db494170dc Created generic message (easy for testing) 2014-12-18 15:18:13 +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
49e0267fe7 Locks, refactor, tests
* Added additional chain tests
* Added proper mutex' on chain
* Removed ethereum dependencies
2014-12-18 13:12:54 +01:00
zelig
c2af10d256 transaction pool changes
- use eventer events to broadcast transactions
- CurrentTransactions -> GetTransactions
- add AddTransactions
2014-12-14 20:27:06 +00:00
obscuren
5553e5aaed states moved to chain 2014-12-10 19:59:12 +01:00
obscuren
8dbca75d85 Skip mining on transactions that don't meet the min accepted gas price 2014-12-04 23:54:07 +01:00
obscuren
a5b27bbc10 Improved and simplified wallet functions and behaviour 2014-12-04 16:44:43 +01:00
obscuren
f298ffdbb8 Renamed State => StateDB 2014-12-04 11:40:20 +01:00
obscuren
9008b155d3 Renamed chain => core 2014-12-04 10:28:02 +01:00