Commit Graph

1799 Commits

Author SHA1 Message Date
zelig 0578df9467 remove eth/wallet.go (only commented out content) 2015-03-20 10:41:41 +00:00
zelig 391e89d70a use own total difficulty to limit best peer
- update blockpool td by subscribing to ChainHeadEvent
- if ahead of best peer, demote it
- addPeer now take own td as current td
- removePeer now take own td as current td
- add relevant tests to peers_test
- eth: backend now calls blockpool with eth.eventMux and chainManager.Td
2015-03-20 10:41:40 +00:00
zelig 50661f0e68 peer suspension to disallow reconnect after disconnect on fatal error for set period (PeerSuspensionInterval) 2015-03-20 10:41:40 +00:00
Felix Lange e80dda6051 eth, whisper: adapt for RLP encoder switch in package p2p
I have rewritten the protocol test to use p2p.MsgPipe because
p2p.NewMsg is gone.
2015-03-19 15:18:31 +01:00
obscuren f0bb136099 Merge branch 'develop' into conversion 2015-03-18 18:42:01 +01:00
obscuren 0a1eeca41e conversions. -compilable- 2015-03-18 13:00:01 +01:00
zelig ca8d184173 fix eth tests 2015-03-18 16:31:49 +07:00
zelig b6aa88c099 private network support
- protocolversion, networkid global int flags to cli and mist
- fix bug with protocolversion check using wrong db
- log protocolversion & networkid in backend
2015-03-18 14:44:58 +07:00
zelig 7dbbe1bedc eth/backend: remove spurious and incorrent PeerInfo() 2015-03-18 04:01:47 +07:00
zelig 1872418316 eth: remove disused peer_util.go 2015-03-18 03:59:21 +07:00
zelig b3e133dd15 Merge branch 'frontier/js' into frontier/nodeadmin.js 2015-03-16 22:50:29 +07:00
obscuren b523441361 Moved ethutil => common 2015-03-16 11:27:38 +01:00
zelig 8ad0f1b8a3 eth:
- NodeInfo, PeerInfo types, PeersInfo(), NodeInfo() in eth/backend to support node admin IF
- start net only if MaxPeers > 0, close extraDb in Stop()
- defer s.extraDb.Close()
2015-03-15 13:39:52 +07:00
obscuren d9966d6158 merge 2015-03-14 23:37:21 +01:00
Felix Lange e463479b6c eth: add ResetWithGenesisBlock
This depends on a change in ethash which exposes UpdateCache.
2015-03-13 18:41:09 +01:00
Felix Lange 6f8a2d6b84 eth: add hook for database creation 2015-03-13 18:41:09 +01:00
obscuren b663e8b29a Merge branch 'rpcfrontier' into develop 2015-03-13 16:36:27 +01:00
obscuren aa9f981d5f Bump protocol version 58 2015-03-13 13:52:57 +01:00
Taylor Gerring d4ed66c83d Add web3_clientVersion 2015-03-12 19:20:46 -05:00
obscuren ef6706696c Add additional extra database for non-protocol related data
* Add transaction to extra database after a successful block process
2015-03-12 14:50:35 +01:00
Felix Lange d7b5a87b3b miner: provide coinbase when starting the miner
This avoids having to query the coinbase when creating the miner, which
in turn eliminates the dreaded startup error when no accounts are set
up. Later, this will also allow us to simply restart the miner when the
user picks a different coinbase.

This causes a lot of changes in other packages. These are included in
this commit because they're impossible to separate.
2015-03-11 23:43:27 +01:00
Felix Lange 269cfbb8ac Merge branch origin/develop into accounts-integration
Conflicts:
	cmd/blocktest/main.go
	cmd/mist/debugger.go
	cmd/utils/cmd.go
2015-03-10 17:14:31 +01:00
Felix Lange 9d4e1e8f8b eth: return account errors directly 2015-03-10 15:42:58 +01:00
Felix Lange 9b3ae1fdb7 eth: fix tests 2015-03-10 02:34:52 +01:00
Felix Lange 9bf513e993 Merge ethereum/poc-9 into accounts-integration
Conflicts:
	cmd/utils/cmd.go
	cmd/utils/flags.go
	core/manager.go
	eth/backend.go
	rpc/http/server.go
	xeth/xeth.go
2015-03-09 23:25:46 +01:00
Felix Lange 63758db379 eth: delete unused RpcServer field 2015-03-09 23:08:46 +01:00
Gustav Simonsson 27c42ea934 Add empty total difficulty to test blocks and clean up stopping the node 2015-03-09 18:03:35 +01:00
Felix Lange fb53a9362e accounts: AccountManager -> Manager 2015-03-08 01:58:35 +01:00
Taylor Gerring fca652eeea Fix logger import path 2015-03-07 10:48:38 -06:00
Felix Lange d66f93cecd accounts, core, eth, xeth: use account manager for everything
The account manager is now responsible for picking the
default account and the coinbase.
2015-03-07 12:38:33 +01:00
obscuren 22b493a6ff Fixed tests 2015-03-06 20:10:59 +01:00
obscuren cd856cb213 Separated block db from state db. Partial fix for #416 2015-03-06 18:26:16 +01:00
obscuren ed84b58af5 Debug option for VM & command line flag 2015-03-06 16:58:52 +01:00
obscuren 548e104171 Merge branch 'poc-9' of github.com-obscure:ethereum/go-ethereum into poc-9 2015-03-06 16:40:21 +01:00
Gustav Simonsson bc45e5c6de Integrate eth_accounts and eth_transact to use new account manager
* Add from to eth_transact / xeth.Transact and add static pass in lieu
  of integrating with native Mist window for user passphrase entry
* Make eth_accounts return AccountManager.Accounts()
* Add a Generate Key menu item in Mist
2015-03-06 13:10:42 +00:00
Felix Lange e64f727529 Merge pull request #433 from fjl/newcli
Improved CLI
2015-03-06 14:02:16 +01:00
obscuren 23ad2f02c0 debug comments & pow handling 2015-03-06 10:22:40 +01:00
Felix Lange bdba044a80 ethutil: remove Config variable
Various functions throughout the codebase used it to grab settings. This
has to stop because I want to use them without reading the config file.

These functions can now be used without reading the config first:

* ethdb.NewLDBDatabase
* ethrepl.NewJSRepl
* vm.New
2015-03-06 02:46:56 +01:00
obscuren ba0c41436c Merge branch 'p2p-handshake-2' of https://github.com/fjl/go-ethereum into fjl-p2p-handshake-2 2015-03-05 17:21:32 +01:00
obscuren c47866d251 Miner fixes and updates (including miner) 2015-03-05 09:14:58 +01:00
Felix Lange 215c763d53 eth, p2p: delete p2p.Blacklist
It is unused and untested right now. We can
bring it back later if required.
2015-03-04 16:54:36 +01:00
Felix Lange 6e7e5d5fd5 eth, whisper: fix msg.Payload reads 2015-03-04 13:25:01 +01:00
obscuren 15f491e500 Clean up REPL 2015-03-04 12:18:26 +01:00
obscuren bb152612e0 Merge branch 'develop' into poc-9
Conflicts:
	cmd/utils/cmd.go
2015-03-03 20:34:48 +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
Jeffrey Wilcke 253eb778d1 Merge pull request #411 from ethersphere/readme
[WIP] Update Readme
2015-03-03 20:17:51 +01:00
Jeffrey Wilcke 988391fc37 Merge pull request #409 from tgerring/jsonlogs
Updated JSON log events
2015-03-03 20:16:55 +01:00
obscuren 313fe3861b fixed pow stuff 2015-03-03 17:55:23 +01:00
zelig fc47f0f27b add eth.chain.received.new_block log to eth protocol 2015-03-03 15:43:05 +07:00
zelig 7e224b6834 db name database -> blockchain in backend error message 2015-03-03 13:22:19 +07:00
Taylor Gerring a75af474f7 Fix logger import in tests 2015-03-02 08:27:26 -06:00
Taylor Gerring e31ec57f88 Add event eth.tx.received 2015-03-02 08:17:09 -06:00
Taylor Gerring 0976c3024f Don't import logger as ethlogger 2015-03-02 08:15:28 -06:00
Taylor Gerring cfe0370280 Remove Websockets RPC transport 2015-03-01 16:19:06 +01:00
obscuren 73c52d1677 Merge branch 'ethersphere-blockpool2' into poc-9 2015-02-28 20:52:57 +01:00
obscuren cc5c8a444d Report proper database directory. Closes #397 2015-02-26 20:36:54 +01:00
zelig 16ecda951b integrate blockpool into eth
- remove blockpool code
- remove blockpool integration test (kinda embarrassing)
- remove errors.go
2015-02-25 20:38:37 +07:00
Jeffrey Wilcke 59a86d3171 Merge pull request #359 from fjl/p2p-identity
Persistent Node Key
2015-02-22 13:27:53 +01:00
obscuren cc43ab9a81 Minor updates for release 2015-02-20 18:05:46 +01:00
Felix Lange e968928613 eth: persist node key between sessions (#304) 2015-02-20 15:26:50 +01:00
Felix Lange e282ad25a8 eth: add poc-8.ethdev.com as second default bootstrap node 2015-02-20 15:24:43 +01:00
obscuren d8ac267f41 dirty tracking for state objects fixed 2015-02-20 14:01:30 +01:00
Jeffrey Wilcke 765740b829 Merge pull request #345 from maran/feature/minerthreads
Implement command line argument to set the amount miner threads
2015-02-19 22:37:13 +01:00
Taylor Gerring 4322632c59 Merge pull request #339 from tgerring/jsonlog
JSON log updates
2015-02-19 12:25:45 +01:00
Maran 5aff8bfb59 Implement command line argument to set the amount of agents created by the miner
Defaults to the amount of cores available on the CPU
2015-02-19 10:38:36 +01:00
obscuren 05b1ec008b Disabled ability to disable whisper. Closes #334 2015-02-18 11:42:01 +01:00
Taylor Gerring f499f343ba Update JSON Log types 2015-02-18 10:52:23 +01:00
obscuren 5ec8c5f71b added bootnode back in 2015-02-17 23:14:10 +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 8135752a32 "centralised" mining to backend. Closes #323 2015-02-17 12:24:58 +01:00
Felix Lange 1c1a3033be eth: add default bootnode 2015-02-13 21:41:13 +01:00
obscuren bde3ff16ad merge 2015-02-13 16:02:37 +01:00
obscuren 76fa75b394 wip 2015-02-13 15:35:54 +01:00
obscuren a5ea21cd85 merge 2015-02-13 15:05:56 +01:00
Felix Lange d0a2e655c9 cmd/ethereum, cmd/mist, eth, p2p: use package p2p/nat
This deletes the old NAT implementation.
2015-02-13 11:39:31 +01:00
Taylor Gerring db24fb792c Move standard fields to LogEvent 2015-02-11 18:49:00 +01:00
Taylor Gerring 3c40eb9e5a Temporarily skip broken TestVerifyPoW 2015-02-11 13:47:03 +01:00
Taylor Gerring 3d6fd601c5 Move event names within each object 2015-02-11 12:45:41 +01:00
Taylor Gerring d53e5646ec Use strongly-typed objects 2015-02-10 19:21:13 +01:00
Felix Lange a21b30c901 eth: remove unused Ethereum sync fields 2015-02-10 13:30:07 +01:00
Felix Lange a3cd218719 cmd/mist, cmd/ethereum: add CLI arguments for node key 2015-02-10 12:30:09 +01:00
Felix Lange f1ebad2508 eth: don't warn if no BootNodes are specified 2015-02-09 16:17:07 +01:00
Felix Lange 028775a086 cmd/ethereum, cmd/mist: add flag for discovery bootstrap nodes 2015-02-07 00:52:49 +01:00
Felix Lange 2cf4fed11b cmd/mist, eth, javascript, p2p: use Node URLs for peer suggestions 2015-02-07 00:46:56 +01:00
Felix Lange 56f777b2fc cmd/ethereum, cmd/mist, core, eth, javascript, xeth: fixes for new p2p API 2015-02-06 00:03:59 +01:00
Jeffrey Wilcke 99a1551b20 Merge pull request #287 from ethereum/system-testing
Seednode CLI param updates
2015-02-05 11:09:13 -08:00
obscuren 57f95c1dc7 fixed test 2015-02-04 17:35:49 -08:00
obscuren 1d519854e2 Propagate known transactions to new peers on connect 2015-02-04 17:28:54 -08:00
obscuren 30fa30bd4a Docs & old code removed 2015-02-02 20:02:00 -08:00
Taylor Gerring 1f4ed49b4c Move hardcoded seed node address to app flag
Replaces functionality `-seed=true` with `-seed="ip:port"`
2015-02-02 13:04:00 -06:00
obscuren 8ccde784f9 Added (disabled) Jit validation 2015-02-01 15:30:29 +01:00
obscuren 32fbc0d334 Merge branch 'develop' into qt5.4 2015-01-28 21:36:53 +01:00
obscuren 1337a8dfb1 upped pv 2015-01-28 21:34:08 +01:00
obscuren 7f638f0b2d moving to a better xeth 2015-01-28 18:14:28 +01:00
Taylor Gerring 5f50fe7a4a Update CLI to use new Websocket RPC
Use “wsport” flag to change default port
2015-01-27 12:29:08 -06:00
Taylor Gerring d790229a33 Move HTTP transport to sub package of RPC 2015-01-27 12:29:07 -06:00
Taylor Gerring 0aa76d3e5b Rename jsonlogger method 2015-01-21 11:45:30 -06:00
Taylor Gerring 1077109e11 Add JsonLogger type 2015-01-21 10:57:29 -06:00
Taylor Gerring bdf99e0981 Add LogFormat flag 2015-01-21 10:17:07 -06:00
obscuren 9b509f6478 Print error instead of returning for seed node err
Returning an error would indicate a complete failure initialising the
Ethereum backend. Instead we should print the message and continue.
2015-01-19 11:20:12 +01:00
obscuren 35f4bb96f3 Limit hashes. Closes #249 2015-01-09 16:44:09 +01:00
zelig b3161f5803 Merge remote-tracking branch 'upstream/develop' into develop 2015-01-09 06:21:47 +00:00
zelig 5a9952c7b4 major blockpool change
- the spec says response to getBlockHashes(from, max) should return all hashes starting from PARENT of from. This required major changes and results in much hackier code.
- Introduced a first round block request after peer introduces with current head, so that hashes can be linked to the head
- peerInfo records currentBlockHash, currentBlock, parentHash and headSection
- AddBlockHashes checks header section and creates the top node from the peerInfo of the best peer
- AddBlock checks peerInfo and updates the block there rather than in a node
- request further hashes once a section is created but then no more until the root block is found (so that we know when to stop asking)
- in processSection, when root node is checked and receives a block, we need to check if the section has a parent known to blockchain or blockPool
- when peers are switched, new peer launches a new requestHeadSection loop or activates its actual head section, i.e., the section for it currentBlockHash
- all tests pass
2015-01-09 06:03:45 +00:00
zelig 8ecc9509b3 add ErrInsufficientChainInfo error 2015-01-09 06:03:32 +00:00
zelig f72cb28b0f adapt unit tests to spec
- AddBlockHashes ignores the first hash (just used to match getBlockHashes query) sends the rest as blocksMsg
- new test TestPeerWithKnownParentBlock
- new test TestChainConnectingWithParentHash
- adapt all other tests to the new scheme
2015-01-09 05:57:09 +00:00
zelig 43ed0ed1ae no need to call AddBlockHashes when receiving new block 2015-01-09 05:06:04 +00:00
zelig 69dfca2feb minor changes in integration tests 2015-01-09 05:04:32 +00:00
obscuren 26f066f0c7 just enable by default 2015-01-08 22:18:23 +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 a76b7dadae Don't auto push jeff ... 2015-01-06 13:39:01 +01:00
obscuren 1b903767e0 Fixed port num 2015-01-06 13:31:52 +01:00
obscuren 4e7f53adf0 Changed to poc-8 & removed GetTxs 2015-01-06 13:31:08 +01:00
Felix Lange eb0e7b1b81 eth, p2p: remove EncodeMsg from p2p.MsgWriter
...and make it a top-level function instead.

The original idea behind having EncodeMsg in the interface was that
implementations might be able to encode RLP data to their underlying
writer directly instead of buffering the encoded data. The encoder
will buffer anyway, so that doesn't matter anymore.

Given the recent problems with EncodeMsg (copy-pasted implementation
bug) I'd rather implement once, correctly.
2015-01-06 12:23:38 +01:00
obscuren d001479a47 unclean shutdown for now 2015-01-05 17:15:25 +01:00
obscuren 6abf8ef78f Merge 2015-01-05 17:10:42 +01:00
obscuren c1dee15144 BlockManager => BlockProcessor 2015-01-05 00:18:44 +01:00
obscuren 09841b1c9b Cleaned up some of that util 2015-01-04 14:20:16 +01:00
obscuren 16f417f5af Fixed bug where logging could crash client during tx adding 2015-01-02 22:19:58 +01:00
obscuren 530953050a Updated protocol version 2015-01-02 17:35:00 +01:00
obscuren d336e24dce Removed the need of having a backend for the tx pool 2015-01-02 12:26:55 +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 6ff9d5770b Added whisper handler 2014-12-15 17:09:14 +01:00
obscuren 455241debb Removed goroutine from "Run" 2014-12-15 17:09:06 +01:00
obscuren 56dac74f71 made mist in a compilable, workable state using the new refactored packages 2014-12-15 13:00:29 +01:00
obscuren c7bc684909 Moved peer helper metheds 2014-12-15 12:35:21 +01:00
obscuren 96272e19a6 removed filter manager from base 2014-12-15 12:34:06 +01:00
obscuren cdb2ebbdfa Added old filter. Needs some refactoring 2014-12-15 12:17:33 +01:00
obscuren 4b5ad31b3a WIP 2014-12-15 12:07:46 +01:00
obscuren 6c168c8f22 added protocol handler 2014-12-15 12:02:48 +01:00
obscuren afc8b887ab added whisper 2014-12-15 12:01:55 +01:00
obscuren f111fc0608 WIP 2014-12-15 11:38:09 +01:00
zelig 4c89d5331f adapt blockpool/backend to use pow/ezp with pow.Block for VerifyPoW func 2014-12-14 20:53:20 +00:00
zelig e77b720ead blockmanager start/stop obsolete 2014-12-14 20:45:12 +00:00
zelig 01dc1c1394 blockpool rewritten , tests broken FIXME 2014-12-14 20:42:08 +00:00
zelig 4dfce4624d protocol
- new interface explicit backend components txPool, chainManager, blockPool
- added protoErrorDisconnect for blockpool callback (FIXME: handling peer disconnects)
2014-12-14 20:40:08 +00:00
zelig 5e4d77b2b8 initial commit for eth blockpool + test 2014-12-14 20:39:34 +00:00
zelig 2dd8f41147 eth protocol changes
- changed backend interface
- using callbacks for blockPool
- use rlp stream for lazy decoding
- use peer as logger
- add id (peer pubkey) to ethProtocol fields
- add testPeer to protocol test (temporary)
2014-12-14 20:37:07 +00:00
zelig 0add0c400f initial commit for eth-p2p integration 2014-12-14 20:34:28 +00:00
zelig 76070b4674 blockpool rewritten , tests broken FIXME 2014-12-14 20:27:06 +00:00
zelig 3308d82b23 add protocol error types specific to blockpool 2014-12-14 20:27:06 +00:00
zelig c44e025898 protocol
- new interface explicit backend components txPool, chainManager, blockPool
- added protoErrorDisconnect for blockpool callback (FIXME: handling peer disconnects)
2014-12-14 20:27:06 +00:00
zelig 02017ed0e0 initial commit for new backend (eth.Ethereum) 2014-12-14 20:27:06 +00:00
zelig 4366fdfc13 initial commit for eth blockpool + test 2014-12-14 20:27:06 +00:00
zelig d957dd2c9f eth protocol changes
- changed backend interface
- using callbacks for blockPool
- use rlp stream for lazy decoding
- use peer as logger
- add id (peer pubkey) to ethProtocol fields
- add testPeer to protocol test (temporary)
2014-12-14 20:27:06 +00:00
zelig eb5cb04aa9 no logging in error (to be refactored into p2p) 2014-12-14 20:27:05 +00:00
zelig e5aa38cb0f initial commit for eth-p2p integration 2014-12-14 20:27:05 +00:00