Jeffrey Wilcke
b8ca0a830e
eth, trie: removed key prefixing from state entries & merge db fix
...
Fixed database merge strategy to use the correct database. Due to a copy
paste fail when doing type evaluation the same database was being
iterated (chain), all others were ignored.
Removed state prefixing because {H(code): code} is stored in the same
database as the rest of the state.
2015-08-13 20:44:03 +02:00
Jeffrey Wilcke
a23478c0be
core, eth, trie, xeth: merged state, chain, extra databases in one
2015-08-07 22:29:02 +02:00
Jeffrey Wilcke
785b3e7a57
cmd/geth, eth: added canonical extra data
...
Implemented canonical extra data according to
https://github.com/ethereum/wiki/wiki/Extra-Data
2015-08-07 12:24:32 +02:00
Jeffrey Wilcke
dcdb7059cc
cmd, core, eth: support for the olympic network
...
Added a --olympic flag which initialiser the olympic protocol settings
2015-08-03 18:15:48 +02:00
Jeffrey Wilcke
a281df783d
Merge pull request #1533 from ethersphere/frontier/etherbase
...
Etherbase defaults to first account even if it is created during the session
2015-07-28 05:11:43 -07:00
Jeffrey Wilcke
1fad8798ec
Merge pull request #1515 from fjl/license-fixes
...
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
zelig
1356daad27
etherbase defaults to first account even if created during the session
2015-07-27 10:50:29 +02:00
Jeffrey Wilcke
1e241e84f7
params: reduce extra data to 32 bytes
2015-07-26 12:47:57 +02:00
Jeffrey Wilcke
3adaeb1dbc
eth: set default miner extra to client name
2015-07-25 17:36:56 +02:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
2015-07-23 18:35:11 +02:00
Jeffrey Wilcke
0cff61beda
Merge pull request #1510 from fjl/license-fixes
...
all: license fixes
2015-07-23 01:43:11 -07:00
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".
2015-07-22 18:51:45 +02:00
Péter Szilágyi
c7e7778f2a
cmd, core, eth, ethdb: cache flag to allocate memory for db internal use
2015-07-22 14:00:52 +03:00
Jeffrey Wilcke
a32c51effd
cmd, core, eth, common: genesis preparation
...
Implemented the --genesis flag thru which we can set a custom genesis
block, including the official Ethereum genesis block.
2015-07-10 17:37:41 +02:00
Péter Szilágyi
eb2d168710
eth, ethdb: fix a data race during startup/shutdown
2015-07-09 12:44:07 +03:00
Felix Lange
bdae4fd573
all: add some godoc synopsis comments
2015-07-07 14:12:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Jeffrey Wilcke
e5fba8fd70
Merge pull request #1428 from obscuren/coinbase-fixes
...
cmd,eth,rpc,tests: default coinbase
2015-07-07 02:55:33 -07:00
Jeffrey Wilcke
37c1a8f69d
eth,miner,rpc: set coinbase
2015-07-07 10:58:47 +02:00
zelig
83ee39448e
Registrar and contractInfo handling
...
* resolver -> common/registrar
* global registrar name registry interface
* add Call to resolver backend interface
* the hashReg and UrlHing contracts now initialised from global registry
* initialization of contracts uniform
* improve errors and more econsistent method names
* common/registrar/ethreg: versioned registrar
* integrate new naming and registrar in natspec
* js console api: setGlobalRegistrar, setHashReg, setUrlHint
* js test TestContract uses mining - tests fixed all pass
* eth/backend: allow PoW test mode (small ethash DAG)
* console jsre refers to resolver.abi/addr,
* cmd/geth/contracts.go moved to common/registrar
2015-07-07 10:43:31 +02:00
Jeffrey Wilcke
35cd355c14
cmd,eth,rpc,tests: default coinbase
2015-07-07 10:32:05 +02:00
Jeffrey Wilcke
9bb575be7d
Merge pull request #1283 from ethersphere/frontier/accounts
...
Account management improvements
2015-07-04 03:40:23 -07:00
Jeffrey Wilcke
29e2fb38f8
core, miner: miner header validation, transaction & receipt writing
...
* Miners do now verify their own header, not their state.
* Changed old putTx and putReceipts to be exported
* Moved writing of transactions and receipts out of the block processer
in to the chain manager. Closes #1386
* Miner post ChainHeadEvent & ChainEvent. Closes #1388
2015-07-03 13:56:50 +02:00
zelig
65a26e40a8
require explicit etherbase address for mining. Falling back to primary is risky given it is inconsistent if keys are imported/merged/created or copied/transfered
2015-07-02 23:28:12 +01:00
zelig
fc2e33c594
unlock multiple passes and obsolete primary
...
* multiple passwords allowed in password file
* split on "\n", sideeffect: chop trailing slashes. fixes common mistake <(echo 'pass')
* remove accounts.Primary method
* do not fall back to primary account for mining
2015-07-02 23:28:11 +01:00
Péter Szilágyi
f43c07cb3c
eth, eth/downloader: transition to eth 61
2015-06-30 19:05:06 +03:00
Péter Szilágyi
393d675690
cmd/geth, cmd/utils, eth: advertise both eth/60 and eth/61
2015-06-30 19:00:00 +03:00
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
2015-06-30 00:51:46 +02:00
Péter Szilágyi
ccbb56b4f2
cmd/geth, eth, ethdb: monitor database compactions
2015-06-30 00:51:29 +02:00
Péter Szilágyi
803b3c4a82
eth, ethdb: measure database operation latencies too
2015-06-24 18:34:05 +03:00
Péter Szilágyi
0609fcf030
eth: make sure dbs are lvldb before instrumenting
2015-06-24 18:34:04 +03:00
Péter Szilágyi
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
2015-06-24 18:34:04 +03:00
Péter Szilágyi
b91b581b80
eth, eth/fetcher: propagate after header verify, announce only on insert
2015-06-18 18:00:19 +03:00
Jeffrey Wilcke
cc0b451119
Merge pull request #1260 from obscuren/tx-drop-low-tx
...
core: drop low gas tx
2015-06-15 09:09:44 -07:00
Jeffrey Wilcke
f2a2164184
Merge pull request #990 from zsfelfoldi/gasprice
...
eth: add GasPriceOracle
2015-06-15 08:44:25 -07:00
zsfelfoldi
3f94d09c1f
fixed saving receipts
2015-06-15 15:55:38 +02:00
obscuren
6d817e16c1
core, miner: tx pool drops txs below ask price
2015-06-15 11:33:08 +02:00
Péter Szilágyi
66d3dc8690
eth, eth/downloader: move peer removal into downloader
2015-06-15 09:22:36 +03:00
obscuren
90c4493a10
eth, core: interupt the chain processing on stop
...
Added an additional channel which is used to interupt the chain manager
when it's processing blocks.
2015-06-12 13:41:34 +02:00
obscuren
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
2015-06-10 17:13:32 +02:00
obscuren
a5b977aa90
core: write accounts to statedb. Closes #1210
2015-06-09 11:37:01 +02:00
obscuren
6244b10a8f
core: settable genesis nonce
...
You can set the nonce of the block with `--genesisnonce`. When the
genesis nonce changes and it doesn't match with the first block in your
database it will fail. A new `datadir` must be given if the nonce of the
genesis block changes.
2015-06-08 18:33:43 +02:00
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).
2015-06-03 22:43:23 +02:00
Felix Lange
5197aed7db
cmd/utils, eth: core.NewBlockProcessor no longer needs TxPool
2015-06-03 22:43:23 +02:00
Taylor Gerring
057d36b049
Update bootnode
2015-05-31 13:48:27 -05:00
Péter Szilágyi
e1a0ee8fc5
cmd/geth, cmd/utils, eth, p2p: pass and honor a no discovery flag
2015-05-26 19:07:24 +03:00
Péter Szilágyi
278183c7e7
eth, p2p: start the p2p server even if maxpeers == 0
2015-05-26 17:49:37 +03:00
Felix Lange
2f249fea44
eth: stop p2p.Server on shutdown
2015-05-25 01:17:14 +02:00
zelig
bed80133e0
automatic DAG pregeneration for smooth epoch transitions
...
- backend: AutoDAG bool flag passed from cli/eth.Config to ethereum, autoDAG loop started if true
- backend: autoDAG loop start/stop, remove previous DAG
- cli: AutoDAG bool flag, off by default, but automatically ON if mining
- admin jsre: add startAutoDAG stopAutoDAG and makeDAG in miner section
- switch on/off DAG autogeneration when miner started/stopped on console
2015-05-21 15:53:42 +01:00
obscuren
207bd55751
eth: reduced max open files for LevelDB
2015-05-21 11:45:35 +02:00
zelig
22b694ee1e
solc now in ethereum, fixes solc path setting; setSolc() didnt work
2015-05-20 02:47:13 +01:00
obscuren
c67424ecc8
core: parallelise nonce checking when processing blocks
...
ChainManager now uses a parallel approach to block processing where all
nonces are checked seperatly from the block processing process. This
speeds up the process by about 3 times on my i7
2015-05-18 13:59:22 +02:00
obscuren
55d85d60fd
eth, cmd/geth: start mining from console respects CLI flag
2015-05-15 20:26:15 +02:00
obscuren
b71091e337
eth, eth/downloader, miner: use download events to check miner start
2015-05-15 00:43:10 +02:00
Gustav Simonsson
8754f2b768
Fix common.Address / []byte type conversions
2015-05-12 17:19:39 +02:00
Gustav Simonsson
da9fe951da
Use common.Address type for accounts.Address
2015-05-12 17:19:39 +02:00
Jeffrey Wilcke
58d6ec689f
Merge pull request #933 from bas-vk/issue928
...
replaced path with platform aware filepath module
2015-05-12 08:23:46 -07:00
Bas van Kervel
b79dd188d9
replaced several path.* with filepath.* which is platform independent
2015-05-12 14:24:11 +02:00
obscuren
96d4a7d087
eth, ethdb: lower the amount of open files & improve err messages for db
...
Closes #880
2015-05-12 14:14:56 +02:00
obscuren
13f8f65a58
eth, ethdb: lower the amount of open files & improve err messages for db
...
Closes #880
2015-05-12 11:28:55 +02:00
obscuren
21e52efdfe
cmd/geth, miner, backend, xeth: Fixed miner threads to be settable
...
Miner threads are now settable through the admin interface (closes #897 )
and specify 0 CPU worker threads when eth_getWork is called (closes #916 )
2015-05-11 17:21:22 +02:00
obscuren
a2919b5e17
core, eth, miner: improved tx removal & fatal error on db sync err
...
* core: Added GasPriceChange event
* eth: When one of the DB flush methods error a fatal error log message
is given. Hopefully this will prevent corrupted databases from
occuring.
* miner: remove transactions with low gas price. Closes #906 , #903
2015-05-11 11:39:33 +02:00
obscuren
cb1fa523e4
cmd/geth, cmd/mist, eth, flags: renamed loglevel to verbosity
2015-05-09 12:00:51 +02:00
Péter Szilágyi
4d5a719f25
cmd, eth, p2p: introduce pending peer cli arg, add tests
2015-05-07 15:30:56 +03:00
obscuren
062fa049d0
fixed merge issue
2015-05-06 22:54:21 +02:00
Jeffrey Wilcke
24d44f35f2
Merge pull request #791 from fjl/discover-sha3-distance
...
p2p/discover: sha3-based node distance
2015-05-06 13:48:57 -07:00
Gustav Simonsson
b1cc9cdc74
Integrate new ethash API and change geth makedag cmd
2015-05-05 08:24:15 +02:00
Péter Szilágyi
4accc187d5
eth, p2p: add trusted node list beside static list
2015-05-04 13:59:51 +03:00
obscuren
016f152b36
eth, eth/downloader: Moved block processing & graceful shutdown
...
The downloader is no longer responsible for processing blocks. The
eth-protocol handler now takes care of this instead.
Added graceful shutdown during block processing. Closes #846
2015-05-01 15:58:44 +02:00
Péter Szilágyi
413ace37d3
eth, p2p: rename trusted nodes to static, drop inbound extra slots
2015-04-30 19:32:48 +03:00
obscuren
15873fafc0
core: added a wait group to chain manager for graceful shutdown
2015-04-30 17:50:47 +02:00
Péter Szilágyi
701591b403
cmd, eth, p2p: fix review issues enumerated by Felix
2015-04-30 16:15:29 +03:00
Péter Szilágyi
679c90b873
cmd/geth, cmd/utils, eth: internalize trusted node config file
2015-04-30 16:03:47 +03:00
Péter Szilágyi
de0549fabb
cmd/geth, cmd/mist, cmd/utils, eth, p2p: support trusted peers
2015-04-30 16:03:10 +03:00
Felix Lange
fc747ef4a6
p2p/discover: new endpoint format
...
This commit changes the discovery protocol to use the new "v4" endpoint
format, which allows for separate UDP and TCP ports and makes it
possible to discover the UDP address after NAT.
2015-04-30 14:57:33 +02:00
Jeffrey Wilcke
91cb8cdd2a
Merge pull request #793 from karalabe/discovery-node-cache
...
p2p/discover: persistent node database
2015-04-28 03:40:10 -07:00
Péter Szilágyi
19bc4624ea
eth: pull in a lost merge change
...
Ref: 21c4c155ee
2015-04-28 10:49:04 +03: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
Péter Szilágyi
8646365b42
cmd/bootnode, eth, p2p, p2p/discover: use a fancier db design
2015-04-24 18:04:41 +03:00
obscuren
31f82eb334
eth, eth/downloader: don't require td on downloader. Fixed tests
2015-04-24 15:04:58 +02:00
zelig
be843959cb
backend: start miner in its go routine (no wait to generate DAG)
2015-04-24 12:45:11 +01:00
Péter Szilágyi
6def110c37
cmd/bootnode, eth, p2p, p2p/discover: clean up the seeder and mesh into eth.
2015-04-24 11:33:55 +03:00
Péter Szilágyi
5f735d6fce
cmd, eth, p2p, p2p/discover: init and clean up the seed cache
2015-04-24 11:23:20 +03:00
Jeffrey Wilcke
b6ec1c720f
Merge pull request #797 from tgerring/bootnodes
...
Bootnodes update
2015-04-23 11:53:18 -07:00
Taylor Gerring
24995f9ab7
Updated bootnodes
...
Update pub key for EU node and add new SA node
2015-04-23 13:06:07 -05: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
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
5cb5df003d
eth: start tx pool in a goroutine
2015-04-23 11:50:11 +02:00
Jeffrey Wilcke
1dc91975ad
Merge pull request #756 from Gustav-Simonsson/block_test_improvements
...
Block test improvements
2015-04-21 03:09:35 -07:00
zsfelfoldi
c4b7d4d3f7
NatSpec cli option, resolver tests passing
2015-04-19 20:57:49 +01:00
Felix Lange
da4a0e0555
eth: fix node key persistence
...
crypto.LoadECDSA has been modified to expect hex data.
The key was being saved as raw bytes, causing the file
to be rewritten on every start.
2015-04-19 01:28:41 +02:00
Felix Lange
2ce21cefdc
eth: use NewDB hook also for extra DB
...
(cherry picked from commit d5083033f15bb815a6212eddae16a7125db58738)
2015-04-18 23:59:31 +02:00
obscuren
a6c0a75f9a
eth: fixed proper BroadcastBlock for mined blocks
2015-04-18 02:38:13 +02:00
obscuren
12e8d9c4dd
eth: listen for mined blocks and propagate using the protocol manager
2015-04-18 02:27:37 +02:00
obscuren
cc436c4b28
eth: additional cleanups to the subprotocol, improved block propagation
...
* Improved block propagation by sending blocks only to peers to which, as
far as we know, the peer does not know about.
* Made sub protocol its own manager
* SubProtocol now contains the p2p.Protocol which is used instead of
a function-returning-protocol thing.
2015-04-18 02:21:07 +02:00
obscuren
c2f410214c
eth: began split up of peers and protocol manager
2015-04-18 01:11:09 +02:00
obscuren
3a51c3b584
Merge branch 'develop' into downloader-proto
2015-04-16 01:28:24 +02:00
obscuren
9800c84348
eth: limit the amount of peers that will receive Block/Tx messages
...
All transaction and block messages are now limited using `sqrt(peers)`
2015-04-14 12:49:15 +02:00
obscuren
97d2954e22
eth: added downloader for syncing up the chain
2015-04-13 17:22:32 +02:00