amalraj.manigmail.com
f82809d9a2
backend: fix chainId to chainID after merge
2018-09-27 23:23:10 +08:00
amalraj.manigmail.com
72270b10c7
Merge remote-tracking branch 'remotes/origin/master' into geth-upgrade-1.8.12
...
# Conflicts:
# .travis.yml
# README.md
# cmd/geth/genesis_test.go
# core/genesis.go
# core/genesis_test.go
# core/state_processor.go
# eth/config.go
# eth/downloader/downloader_test.go
# eth/protocol_test.go
# params/config.go
2018-09-27 18:55:55 +08:00
Sai V
8a25cada96
EIP 155 Activation ( #502 )
...
Add ChainId validation, add a default networkId and reject network ID 1 for Quorum.
2018-08-23 14:51:13 -04:00
amalraj.manigmail.com
7c548e0f74
Merge remote-tracking branch 'remotes/geth/release/1.8' into merge-193
...
changes related to merge conflicts
2018-07-24 16:15:38 +08:00
amalraj.manigmail.com
c3c479d2aa
Merge remote-tracking branch 'remotes/geth/release/1.8' into merge-193
...
# Conflicts:
# .github/CODEOWNERS
# .travis.yml
# README.md
# VERSION
# accounts/abi/argument.go
# accounts/abi/bind/backends/simulated.go
# accounts/abi/bind/bind_test.go
# accounts/abi/event_test.go
# accounts/abi/numbers.go
# accounts/abi/numbers_test.go
# accounts/abi/reflect.go
# accounts/accounts.go
# accounts/keystore/keystore.go
# accounts/keystore/keystore_wallet.go
# accounts/usbwallet/internal/trezor/trezor.go
# accounts/usbwallet/ledger.go
# accounts/usbwallet/wallet.go
# appveyor.yml
# build/ci.go
# build/goimports.sh
# cmd/ethkey/generate.go
# cmd/ethkey/inspect.go
# cmd/ethkey/main.go
# cmd/ethkey/message.go
# cmd/ethkey/utils.go
# cmd/faucet/faucet.go
# cmd/geth/chaincmd.go
# cmd/geth/config.go
# cmd/geth/main.go
# cmd/geth/misccmd.go
# cmd/geth/usage.go
# cmd/p2psim/main.go
# cmd/puppeth/genesis.go
# cmd/puppeth/module_dashboard.go
# cmd/puppeth/wizard_faucet.go
# cmd/puppeth/wizard_genesis.go
# cmd/puppeth/wizard_netstats.go
# cmd/puppeth/wizard_node.go
# cmd/puppeth/wizard_wallet.go
# cmd/swarm/config.go
# cmd/swarm/config_test.go
# cmd/swarm/db.go
# cmd/swarm/hash.go
# cmd/swarm/main.go
# cmd/swarm/manifest.go
# cmd/swarm/run_test.go
# cmd/swarm/upload.go
# cmd/swarm/upload_test.go
# cmd/utils/flags.go
# cmd/wnode/main.go
# common/bytes.go
# common/compiler/solidity.go
# common/hexutil/hexutil.go
# common/math/big.go
# common/math/integer.go
# common/mclock/mclock.go
# common/types.go
# common/types_template.go
# consensus/clique/clique.go
# consensus/consensus.go
# consensus/ethash/algorithm.go
# consensus/ethash/consensus.go
# consensus/ethash/ethash.go
# containers/vagrant/Vagrantfile
# contracts/ens/ens_test.go
# core/asm/compiler.go
# core/asm/lexer.go
# core/block_validator.go
# core/blockchain.go
# core/blockchain_test.go
# core/chain_makers.go
# core/database_util.go
# core/database_util_test.go
# core/events.go
# core/genesis.go
# core/genesis_alloc.go
# core/genesis_test.go
# core/headerchain.go
# core/rawdb/accessors_chain.go
# core/rawdb/accessors_indexes.go
# core/rawdb/accessors_metadata.go
# core/rawdb/schema.go
# core/state/state_test.go
# core/state/statedb.go
# core/state/sync.go
# core/state_processor.go
# core/state_transition.go
# core/tx_journal.go
# core/tx_list.go
# core/tx_pool.go
# core/tx_pool_test.go
# core/types.go
# core/types/block.go
# core/types/block_test.go
# core/types/gen_receipt_json.go
# core/types/log.go
# core/types/receipt.go
# core/types/transaction.go
# core/types/transaction_signing.go
# core/types/transaction_signing_test.go
# core/types/transaction_test.go
# core/vm/errors.go
# core/vm/evm.go
# core/vm/gas.go
# core/vm/gas_table.go
# core/vm/instructions.go
# core/vm/instructions_test.go
# core/vm/interface.go
# core/vm/interpreter.go
# core/vm/intpool.go
# core/vm/jump_table.go
# core/vm/logger.go
# core/vm/logger_test.go
# core/vm/memory_table.go
# core/vm/opcodes.go
# core/vm/runtime/env.go
# core/vm/runtime/runtime.go
# crypto/crypto.go
# crypto/crypto_test.go
# eth/api.go
# eth/api_backend.go
# eth/api_tracer.go
# eth/backend.go
# eth/config.go
# eth/downloader/downloader.go
# eth/downloader/queue.go
# eth/downloader/statesync.go
# eth/filters/filter.go
# eth/filters/filter_system.go
# eth/filters/filter_system_test.go
# eth/gen_config.go
# eth/handler.go
# eth/handler_test.go
# eth/helper_test.go
# eth/protocol.go
# eth/sync.go
# eth/tracers/internal/tracers/4byte_tracer.js
# eth/tracers/internal/tracers/assets.go
# eth/tracers/tracer_test.go
# eth/tracers/tracers_test.go
# ethclient/ethclient.go
# ethdb/database.go
# ethdb/interface.go
# ethdb/memory_database.go
# ethstats/ethstats.go
# event/feed.go
# internal/ethapi/api.go
# internal/ethapi/backend.go
# internal/guide/guide_test.go
# internal/web3ext/web3ext.go
# les/api_backend.go
# les/backend.go
# les/fetcher.go
# les/handler.go
# les/helper_test.go
# les/odr_requests.go
# les/odr_test.go
# les/retrieve.go
# les/server.go
# les/serverpool.go
# light/lightchain.go
# light/odr_test.go
# light/postprocess.go
# light/txpool.go
# log/README.md
# log/doc.go
# log/format.go
# log/handler.go
# log/logger.go
# log/root.go
# metrics/exp/exp.go
# metrics/influxdb/influxdb.go
# metrics/metrics.go
# metrics/resetting_timer.go
# metrics/resetting_timer_test.go
# metrics/timer_test.go
# miner/worker.go
# mobile/accounts.go
# mobile/ethereum.go
# mobile/geth.go
# node/config.go
# node/doc.go
# p2p/discover/database.go
# p2p/discover/database_test.go
# p2p/discover/table.go
# p2p/discover/table_test.go
# p2p/discover/udp.go
# p2p/discover/udp_test.go
# p2p/discv5/udp.go
# p2p/enr/enr.go
# p2p/enr/enr_test.go
# p2p/enr/entries.go
# p2p/protocols/protocol.go
# p2p/protocols/protocol_test.go
# p2p/rlpx_test.go
# p2p/server.go
# p2p/simulations/adapters/docker.go
# p2p/simulations/adapters/exec.go
# p2p/simulations/adapters/inproc.go
# p2p/simulations/adapters/types.go
# p2p/simulations/http.go
# p2p/simulations/http_test.go
# p2p/simulations/mocker.go
# p2p/simulations/network.go
# p2p/simulations/network_test.go
# p2p/testing/protocolsession.go
# params/bootnodes.go
# params/config.go
# params/denomination.go
# params/gas_table.go
# params/protocol_params.go
# params/version.go
# rpc/http.go
# rpc/json.go
# rpc/utils.go
# signer/core/api.go
# swarm/api/api.go
# swarm/api/api_test.go
# swarm/api/client/client.go
# swarm/api/client/client_test.go
# swarm/api/config.go
# swarm/api/config_test.go
# swarm/api/filesystem.go
# swarm/api/filesystem_test.go
# swarm/api/http/error.go
# swarm/api/http/error_templates.go
# swarm/api/http/error_test.go
# swarm/api/http/roundtripper.go
# swarm/api/http/server.go
# swarm/api/http/server_test.go
# swarm/api/http/templates.go
# swarm/api/manifest.go
# swarm/api/manifest_test.go
# swarm/api/storage.go
# swarm/api/storage_test.go
# swarm/api/uri.go
# swarm/api/uri_test.go
# swarm/fuse/fuse_dir.go
# swarm/fuse/fuse_file.go
# swarm/fuse/swarmfs.go
# swarm/fuse/swarmfs_test.go
# swarm/fuse/swarmfs_unix.go
# swarm/fuse/swarmfs_util.go
# swarm/metrics/flags.go
# swarm/network/depo.go
# swarm/network/forwarding.go
# swarm/network/hive.go
# swarm/network/kademlia/address.go
# swarm/network/kademlia/kaddb.go
# swarm/network/kademlia/kademlia.go
# swarm/network/kademlia/kademlia_test.go
# swarm/network/messages.go
# swarm/network/protocol.go
# swarm/network/syncdb.go
# swarm/network/syncdb_test.go
# swarm/network/syncer.go
# swarm/services/swap/swap.go
# swarm/services/swap/swap/swap.go
# swarm/storage/chunker.go
# swarm/storage/chunker_test.go
# swarm/storage/common_test.go
# swarm/storage/database.go
# swarm/storage/dbstore.go
# swarm/storage/dbstore_test.go
# swarm/storage/dpa.go
# swarm/storage/dpa_test.go
# swarm/storage/localstore.go
# swarm/storage/memstore.go
# swarm/storage/netstore.go
# swarm/storage/pyramid.go
# swarm/storage/swarmhasher.go
# swarm/storage/types.go
# swarm/swarm.go
# swarm/swarm_test.go
# swarm/testutil/http.go
# tests/block_test_util.go
# tests/difficulty_test.go
# tests/init.go
# tests/state_test_util.go
# tests/transaction_test.go
# tests/util.go
# tests/vm_test_util.go
# trie/database.go
# trie/encoding.go
# trie/hasher.go
# trie/iterator.go
# trie/proof.go
# trie/proof_test.go
# trie/secure_trie.go
# trie/sync.go
# trie/sync_test.go
# trie/trie.go
# vendor/github.com/docker/docker/pkg/reexec/command_linux.go
# vendor/github.com/docker/docker/pkg/reexec/command_unix.go
# vendor/github.com/docker/docker/pkg/reexec/command_unsupported.go
# vendor/github.com/docker/docker/pkg/reexec/command_windows.go
# vendor/github.com/docker/docker/pkg/reexec/reexec.go
# vendor/github.com/eapache/channels/.gitignore
# vendor/github.com/eapache/queue/.gitignore
# vendor/github.com/naoina/toml/encode.go
# vendor/github.com/naoina/toml/parse.go
# vendor/github.com/naoina/toml/parse.peg
# vendor/github.com/naoina/toml/parse.peg.go
# vendor/github.com/rcrowley/go-metrics/.gitignore
# vendor/github.com/rcrowley/go-metrics/.travis.yml
# vendor/github.com/rcrowley/go-metrics/README.md
# vendor/github.com/rcrowley/go-metrics/counter.go
# vendor/github.com/rcrowley/go-metrics/debug.go
# vendor/github.com/rcrowley/go-metrics/ewma.go
# vendor/github.com/rcrowley/go-metrics/exp/exp.go
# vendor/github.com/rcrowley/go-metrics/gauge.go
# vendor/github.com/rcrowley/go-metrics/gauge_float64.go
# vendor/github.com/rcrowley/go-metrics/graphite.go
# vendor/github.com/rcrowley/go-metrics/healthcheck.go
# vendor/github.com/rcrowley/go-metrics/histogram.go
# vendor/github.com/rcrowley/go-metrics/json.go
# vendor/github.com/rcrowley/go-metrics/log.go
# vendor/github.com/rcrowley/go-metrics/meter.go
# vendor/github.com/rcrowley/go-metrics/metrics.go
# vendor/github.com/rcrowley/go-metrics/opentsdb.go
# vendor/github.com/rcrowley/go-metrics/registry.go
# vendor/github.com/rcrowley/go-metrics/runtime.go
# vendor/github.com/rcrowley/go-metrics/sample.go
# vendor/github.com/rcrowley/go-metrics/syslog.go
# vendor/github.com/rcrowley/go-metrics/timer.go
# vendor/github.com/rcrowley/go-metrics/writer.go
# vendor/github.com/syndtr/goleveldb/leveldb/db.go
# vendor/golang.org/x/sys/unix/mksysnum_linux.pl
# vendor/golang.org/x/sys/unix/types_linux.go
# vendor/vendor.json
# whisper/shhclient/client.go
# whisper/whisperv5/api.go
# whisper/whisperv5/peer_test.go
# whisper/whisperv5/whisper.go
# whisper/whisperv6/api.go
# whisper/whisperv6/peer_test.go
# whisper/whisperv6/whisper.go
2018-07-24 16:11:05 +08:00
williambannas
9402f96597
eth: conform better to the golint standards ( #16783 )
...
* eth: made changes to conform better to the golint standards
* eth: fix comment nit
2018-06-14 13:14:52 +03:00
Qvintvs
622e98ad51
debug merge attempt
2018-05-31 14:21:16 +08:00
Qvintvs
4b44bea1d7
Merge attempt
2018-05-31 14:16:44 +08:00
Wenbiao Zheng
d6ed2f67a8
eth, node, trie: fix minor typos ( #16802 )
2018-05-24 15:55:20 +03:00
kiel barry
4747aad160
eth: golint fixes to variable names ( #16711 )
2018-05-09 10:59:00 +03:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
2018-05-07 14:35:06 +03:00
kiel barry
5b3af4c3d1
eth: golint updates for this or self warning ( #16632 )
...
* eth/*:golint updates for this or self warning
* eth/*: golint updates for this or self warning, pr updated per feedback
2018-05-03 15:15:33 +03:00
Jim Zhang
51274bd368
reformatted with 'gofmt'
2018-04-19 15:02:05 -04:00
Jim Zhang
c535103027
Addressing Sam's comment in the PR: make the FullFake engine the default so other test/fake flavors can still be used
2018-04-18 17:49:31 -04:00
Yusup
7aad81f881
eth: fix typos ( #16414 )
2018-04-04 12:25:02 +02:00
Jim Zhang
2e19f7905d
Disable ethash by replacing with ethash.NewFullFake
2018-03-18 22:48:07 -04:00
Péter Szilágyi
55599ee95d
core, trie: intermediate mempool between trie and database ( #15857 )
...
This commit reduces database I/O by not writing every state trie to disk.
2018-02-05 17:40:32 +01:00
Felföldi Zsolt
c3f238dd53
les: limit LES peer count and improve peer configuration logic ( #16010 )
...
* les: limit number of LES connections
* eth, cmd/utils: light vs max peer configuration logic
2018-02-05 15:41:53 +02:00
mark.lin
9ac24f9aaa
consensus, core, eth, miner, params: update istanbul engine
2018-01-31 10:27:08 +08:00
Péter Szilágyi
46e5583993
cmd/utils, eth: init etherbase from within eth ( #15528 )
2017-12-09 23:42:23 +01:00
gary rong
f14047dae5
cmd, consensus, eth: split ethash related config to it own ( #15520 )
...
* cmd, consensus, eth: split ethash related config to it own
* eth, consensus: minor polish
* eth, consenus, console: compress pow testing config field to single one
* consensus, eth: document pow mode
2017-11-24 16:10:27 +02:00
Brian Schroeder
0905eda48e
Re-add GPO creation in backend
...
Clique consensus requires a GPO to function.
2017-11-16 09:35:20 -05:00
Patrick Mylund Nielsen
3d91976f08
Geth 1.7.2 rebase and addition of Istanbul BFT ( #207 )
2017-10-31 18:24:11 -04:00
Felföldi Zsolt
ca376ead88
les, light: LES/2 protocol version ( #14970 )
...
This PR implements the new LES protocol version extensions:
* new and more efficient Merkle proofs reply format (when replying to
a multiple Merkle proofs request, we just send a single set of trie
nodes containing all necessary nodes)
* BBT (BloomBitsTrie) works similarly to the existing CHT and contains
the bloombits search data to speed up log searches
* GetTxStatusMsg returns the inclusion position or the
pending/queued/unknown state of a transaction referenced by hash
* an optional signature of new block data (number/hash/td) can be
included in AnnounceMsg to provide an option for "very light
clients" (mobile/embedded devices) to skip expensive Ethash check
and accept multiple signatures of somewhat trusted servers (still a
lot better than trusting a single server completely and retrieving
everything through RPC). The new client mode is not implemented in
this PR, just the protocol extension.
2017-10-24 15:19:09 +02:00
Lio李欧
5df0b240ae
eth: fix typo ( #15252 )
2017-10-06 12:55:18 +02:00
Péter Szilágyi
f585f9eee8
core, eth: clean up bloom filtering, add some tests
2017-09-06 11:14:19 +03:00
Zsolt Felfoldi
4ea4d2dc34
core, eth: add bloombit indexer, filter based on it
2017-09-06 11:13:13 +03:00
Péter Szilágyi
b0ca1b67ce
eth: use maxpeers from p2p layer instead of extra config
2017-09-05 19:18:28 +03:00
Miya Chen
bf1e263128
core, light: send chain events using event.Feed ( #14865 )
2017-08-18 12:58:36 +02:00
Péter Szilágyi
3d32690b54
cmd, core, eth: journal local transactions to disk ( #14784 )
...
* core: reduce txpool event loop goroutines and sync structs
* cmd, core, eth: journal local transactions to disk
* core: journal replacement pending transactions too
* core: separate transaction journal from pool
2017-07-28 15:09:39 +02:00
Péter Szilágyi
0ff35e170d
core: remove redundant storage of transactions and receipts ( #14801 )
...
* core: remove redundant storage of transactions and receipts
* core, eth, internal: new transaction schema usage polishes
* eth: implement upgrade mechanism for db deduplication
* core, eth: drop old sequential key db upgrader
* eth: close last iterator on successful db upgrage
* core: prefix the lookup entries to make their purpose clearer
2017-07-14 19:39:53 +03:00
Péter Szilágyi
4c1d0b164b
eth: drop leftover from previous nonce protection scheme
2017-07-05 16:53:40 +03:00
Péter Szilágyi
d40179f882
eth: gracefully error if database cannot be opened
2017-06-23 10:12:41 +03:00
Alan Chen
fade09a7ff
eth: remove les server from protocol manager ( #14625 )
2017-06-15 15:28:57 +02:00
Péter Szilágyi
dd06c85843
Merge pull request #14523 from karalabe/txpool-cli-flags
...
cmd, core, eth: configurable txpool parameters
2017-05-29 11:42:48 +03:00
Péter Szilágyi
08959bbc70
cmd, core, eth: configurable txpool parameters
2017-05-29 11:29:46 +03:00
Péter Szilágyi
c2a494c743
eth: update default gas price when not mining too
2017-05-29 10:21:34 +03:00
Péter Szilágyi
a2f23ca9b1
cmd, core, eth, miner: remove txpool gas price limits ( #14442 )
2017-05-16 21:07:27 +02:00
Péter Szilágyi
e61035c5a3
cmd, eth, les, mobile: make networkid uint64 everywhere
2017-04-25 14:53:50 +03:00
bas-vk
5e29f4be93
cmd/utils, node: remove unused solc references and improve RPC config ( #14324 )
...
Currently http cors and websocket origins are a comma separated string in the
config object. These are replaced with string arrays that are more expressive in
case of a config file.
2017-04-12 23:04:14 +02:00
Felix Lange
30d706c35e
cmd/geth: add --config file flag ( #13875 )
...
* p2p/discover, p2p/discv5: add marshaling methods to Node
* p2p/netutil: make Netlist decodable from TOML
* common/math: encode nil HexOrDecimal256 as 0x0
* cmd/geth: add --config file flag
* cmd/geth: add missing license header
* eth: prettify Config again, fix tests
* eth: use gasprice.Config instead of duplicating its fields
* eth/gasprice: hide nil default from dumpconfig output
* cmd/geth: hide genesis block in dumpconfig output
* node: make tests compile
* console: fix tests
* cmd/geth: make TOML keys look exactly like Go struct fields
* p2p: use discovery by default
This makes the zero Config slightly more useful. It also fixes package
node tests because Node detects reuse of the datadir through the
NodeDatabase.
* cmd/geth: make ethstats URL settable through config file
* cmd/faucet: fix configuration
* cmd/geth: dedup attach tests
* eth: add comment for DefaultConfig
* eth: pass downloader.SyncMode in Config
This removes the FastSync, LightSync flags in favour of a more
general SyncMode flag.
* cmd/utils: remove jitvm flags
* cmd/utils: make mutually exclusive flag error prettier
It now reads:
Fatal: flags --dev, --testnet can't be used at the same time
* p2p: fix typo
* node: add DefaultConfig, use it for geth
* mobile: add missing NoDiscovery option
* cmd/utils: drop MakeNode
This exposed a couple of places that needed to be updated to use
node.DefaultConfig.
* node: fix typo
* eth: make fast sync the default mode
* cmd/utils: remove IPCApiFlag (unused)
* node: remove default IPC path
Set it in the frontends instead.
* cmd/geth: add --syncmode
* cmd/utils: make --ipcdisable and --ipcpath mutually exclusive
* cmd/utils: don't enable WS, HTTP when setting addr
* cmd/utils: fix --identity
2017-04-12 17:27:23 +03:00
Péter Szilágyi
feeccdf4ec
consensus/clique: Proof of Authority ( #3753 )
...
This PR is a prototype implementation of plugable consensus engines and the
Clique PoA protocol ethereum/EIPs#225
2017-04-10 12:24:12 +02:00
Péter Szilágyi
bfe5eb7f8c
eth: accept transactions when starting CPU mining ( #13882 )
2017-04-10 10:43:01 +02:00
Péter Szilágyi
b801be99d4
consensus, eth: don't CPU mine by default during remote mining
2017-04-07 17:22:06 +03:00
Felföldi Zsolt
9aca9e6deb
cmd, les, eth, eth/gasprice: using new gas price oracle ( #13853 )
...
* cmd, les, eth, eth/gasprice: using new gas price oracle
* eth/gasprice: renamed source file
* eth/gasprice: added security checks for gpo params
* eth/gasprice: fixed naming issues
* eth/gasprice: max limit, maxEmpty
2017-04-06 17:20:42 +03:00
Péter Szilágyi
09777952ee
core, consensus: pluggable consensus engines ( #3817 )
...
This commit adds pluggable consensus engines to go-ethereum. In short, it
introduces a generic consensus interface, and refactors the entire codebase to
use this interface.
2017-04-05 00:16:29 +02:00
Joel Burget
b6286320ef
Add Raft-based consensus ( #79 )
...
This was implemented by Joel Burget (@joelburget) and Brian Schroeder (@bts).
2017-03-23 13:41:02 -05:00
Felix Lange
37dd9086ec
core: refactor genesis handling
...
This commit solves several issues concerning the genesis block:
* Genesis/ChainConfig loading was handled by cmd/geth code. This left
library users in the cold. They could specify a JSON-encoded
string and overwrite the config, but didn't get any of the additional
checks performed by geth.
* Decoding and writing of genesis JSON was conflated in
WriteGenesisBlock. This made it a lot harder to embed the genesis
block into the forthcoming config file loader. This commit changes
things so there is a single Genesis type that represents genesis
blocks. All uses of Write*Genesis* are changed to use the new type
instead.
* If the chain config supplied by the user was incompatible with the
current chain (i.e. the chain had already advanced beyond a scheduled
fork), it got overwritten. This is not an issue in practice because
previous forks have always had the highest total difficulty. It might
matter in the future though. The new code reverts the local chain to
the point of the fork when upgrading configuration.
The change to genesis block data removes compression library
dependencies from package core.
2017-03-23 15:58:43 +01:00
Péter Szilágyi
b7d93500f1
all: finish integrating Go ethash, delete C++ vendor
2017-03-09 15:50:14 +01:00
Péter Szilágyi
023670f6ba
cmd, eth, les, node, pow: disk caching and progress reports
2017-03-09 15:50:14 +01:00