Jeffrey Wilcke
7a75da63c6
core: added default genesis block
...
When a user runs a freshly setup geth w/o a database initialised the
default genesis block is decoded and inserted in to the database.
9 years ago
Bas van Kervel
7e31df3987
bugfix, pending transaction was resend with new gas price/limit but not removed from transaction pool
9 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
9 years ago
Felix Lange
ea54283b30
all: update license information
10 years ago
Jeffrey Wilcke
a748afce03
core: txpool listen for ChainHeadEvent instead of ChainEvent
...
Changed the transaction pool to listen for ChainHeadEvent when resetting
the state instead of ChainEvent. It makes very little sense to burst
through transactions while we are catching up (e.g., have more than one
block to process)
10 years ago
Jeffrey Wilcke
61ca780f3b
core: reduce CPU load by reducing calls to checkQueue
...
* Reduced maxQueue count
* Added proper deletion past maxQueue limit
* Added cheap stats method to txpool
queueCheck was called for **every** transaction instead of:
1. add all txs
2. check queue
previously
1. add txs[i]
2. check queue
3. if i < len(txs) goto 1.
10 years ago
Felix Lange
1d42888d30
core/types: make blocks immutable
10 years ago
Felix Lange
654564e164
core/types: make transactions immutable
10 years ago
Bas van Kervel
a4a4e9fcf8
removed old rpc structure and added new inproc api client
10 years ago
obscuren
f5abc9f188
core, core/vm: state improvements and tx pool speed up
...
Removed full tx validation during state transitions
10 years ago
obscuren
e79cc42dfe
core: moved check for max queue to checkQueue
...
Moved the queue to check to the checkQueue method so no undeeded loops
need to be initiated or sorting needs to happen twice.
10 years ago
obscuren
21fa29111b
core: reduce max allowed queued txs per address
...
Transactions in the queue are now capped to a maximum of 200
transactions. This number is completely arbitrary.
10 years ago
obscuren
6d817e16c1
core, miner: tx pool drops txs below ask price
10 years ago
obscuren
4407524d13
core: fixed race condition for subscriptions
10 years ago
obscuren
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
10 years ago
obscuren
bc6031e7bb
core, xeth: moved nonce management burden from xeth to txpool
10 years ago
Felix Lange
73c355591f
core, eth: document that result of GetTransactions is modifiable
10 years ago
obscuren
5245bd7b20
core: added a test for missing nonces
...
This test showed the logic in the queue was slightly flawed sending out
transactions to its peer it couldn't even resolve itself.
10 years ago
obscuren
912cf7ba04
core: added fork test & double nonce test
10 years ago
obscuren
dcdb4554d7
core: documented changes in tx pool
10 years ago
obscuren
cf5ad266f6
core: only change the nonce if the account nonce is lower
10 years ago
obscuren
9dd12a64a7
core: renamed txs to pending
10 years ago
obscuren
140d883901
core: test updates
10 years ago
obscuren
d09a6e5421
core, eth, miner: moved nonce management to tx pool.
...
Removed the managed tx state from the chain manager to the transaction
pool where it's much easier to keep track of nonces (and manage them).
The transaction pool now also uses the queue and pending txs differently
where queued txs are now moved over to the pending queue (i.e. txs ready
for processing and propagation).
10 years ago
Felix Lange
5721c43585
core: update documentation comments for TxPool
10 years ago
Felix Lange
ca31d71107
core: remove unused code from TxPool
10 years ago
Felix Lange
08befff8f1
core: compute less transaction hashes in TxPool
10 years ago
Gustav Simonsson
147a699c65
Add missing err checks on From() (skip RPC for now)
10 years ago
Gustav Simonsson
32e1b104f8
Add EC signature validations before call to libsecp256k1
10 years ago
obscuren
c37389f19c
core: check negative value transactions. Closes #1109
10 years ago
obscuren
3c6c891680
core: optimise pending transaction processing
10 years ago
obscuren
dcfecebe1f
core: get transaction by hash from transaction pool
10 years ago
obscuren
92f998c7ef
core: use removeTx instead of delete
10 years ago
obscuren
88292f35db
core: remove txs from queue in addition to removal of pending
10 years ago
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
10 years ago
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
10 years ago
obscuren
7f14fbd579
core: pending txs now re-validated once every second
10 years ago
obscuren
fba40e18d9
core: added accessor for queued transactions
10 years ago
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.
10 years ago
obscuren
7138404cb0
core: only post event once per tx & fixed test
10 years ago
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
10 years ago
obscuren
093d6d5074
core: removed nonce resetting from the block processor.
...
All nonce error handling has been moved to the worker
10 years ago
obscuren
6e2f78ebdd
Default log to stderr
10 years ago
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
10 years ago
obscuren
f08e9cbe42
ignore invalid txs right after being added if they prove incorrect
10 years ago
obscuren
a953f3ec97
Sync managed accounts to the network
10 years ago
obscuren
09147a50ed
Improved tx pool to ignore invalid transactions
...
Transaction pool will attempt to ignore invalid transactions it had
previously encountered.
10 years ago
Felix Lange
a59dd393e7
core: fix tests
10 years ago
Felix Lange
17c5ba2b6b
core: actually convert transaction pool
10 years ago