Releases: ethereumproject/go-ethereum
Ethereum Classic Geth 5.0.0
Consensus
- ECIP-1041: Defuse the Difficulty Bomb, preventing network difficulty from growing exponentially because of an absurd kind of self-imposed hostage situation. Find here the corresponding implementation for the Parity client. A reproducible test for client compatibility can be found here: https://github.com/ETCDEVTeam/ecip1041test.
Fixed
Added
Contributors
.zip.sig
and .tar.gz.sig
files are detached binary PGP signatures
.zip.asc
and .tar.gz.asc
files are detached ASCII PGP signatures
.zip
and .tar.gz
are archive (compressed) files containing the geth
executable
To verify a release with a signature: First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
. Then, if you haven't already, you'll need to import the signing key, which you'll find here. This step is included below.
# Import my signing public key
$ wget https://raw.githubusercontent.com/ethereumproject/volunteer/master/Volunteer-Public-Keys/isaac.ardis%40gmail.com
$ gpg --import isaac.ardis@gmail.com
# Verify
$ gpg --verify ./geth-classic-osx-v5.0.0-ac28808.tar.gz.sig
gpg: assuming signed data in './geth-classic-osx-v5.0.0-ac28808.tar.gz'
gpg: Signature made Tue Feb 20 14:01:31 2018 JST
gpg: using RSA key B23DC6DC7634399484DEB8A6F36487257419D94C
gpg: Good signature from "Isaac Ardis (ETCDEV Go Developer) <isaac.ardis@gmail.com>" [ultimate]
All tagged and development build downloads are also available at our automated builds website: http://builds.etcdevteam.com.
Ethereum Classic Geth 4.2.2
Fixed
- implementation error causing SputnikVM to be incompatible with Morden testnet
- resolver errors with
glibc
static linking - log display: fix nil pointer and panic if mode changes during log execution
- potential data race in
mlog
implementation
Added
- Option:
--pprof
enabling runtime performance profiling
Changed
- use CircleCI for build and deployment, phasing out Travis
Contributors
.zip.sig
and .tar.gz.sig
files are detached binary PGP signatures
.zip.asc
and .tar.gz.asc
files are detached ASCII PGP signatures
.zip
and .tar.gz
are archive (compressed) files containing the geth
executable
To verify a release with a signature: First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
. Then, if you haven't already, you'll need to import the signing key, which you'll find here. This step is included below.
# Import my signing public key
$ wget https://raw.githubusercontent.com/ethereumproject/volunteer/master/Volunteer-Public-Keys/isaac.ardis%40gmail.com
$ gpg --import isaac.ardis@gmail.com
# Verify
$ gpg --verify ./geth-classic-osx-v4.2.2-c127446.tar.gz.sig
gpg: assuming signed data in './geth-classic-osx-v4.2.2-c127446.tar.gz'
gpg: Signature made Mon Feb 5 19:41:44 2018 JST
gpg: using RSA key B23DC6DC7634399484DEB8A6F36487257419D94C
gpg: Good signature from "Isaac Ardis (ETCDEV Go Developer) <isaac.ardis@gmail.com>" [ultimate]
All tagged and development build downloads are also available at our automated builds website: http://builds.etcdevteam.com.
Ethereum Classic Geth 4.2.1
Bugfix release
Fixes
- Link
geth
statically on Linux, to make released binary more compatible (#454)
Contributors
.zip.sig
and .tar.gz.sig
files are detached PGP signatures
.zip.asc
and .tar.gz.asc
files are ascii-armored detached PGP signatures
.zip
and .tar.gz
are archive (compressed) files containing the geth
executable
To verify a release with a signature: First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
. Then, if you haven't already, you'll need to import the signing key, which you'll find here. This step is included below.
# Import my signing public key
$ wget https://raw.githubusercontent.com/ethereumproject/volunteer/master/Volunteer-Public-Keys/tomek%40zdybal.lap.pl.pub
$ gpg —import tomek@zdybal.lap.pl
# Verify
$ gpg --verify geth-classic-linux-v4.2.0-c11fbdf.tar.gz.asc
gpg: assuming signed data in 'geth-classic-linux-v4.2.0-c11fbdf.tar.gz'
gpg: Signature made Tue 02 Jan 2018 11:01:33 PM UTC
gpg: using DSA key 86C9E79D83B626AE95548DC3F157D3BD6E2EED66
gpg: Good signature from "Tomasz Zdybał (personal) <tomek@zdybal.lap.pl>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 86C9 E79D 83B6 26AE 9554 8DC3 F157 D3BD 6E2E ED66
All tagged and development downloads are also be available at our automated builds website: http://builds.etcdevteam.com.
Ethereum Classic Geth 4.2.0
Geth 4.2.0 brings a new console output which makes it much easier to monitor current status of Geth synchronization status. Now you can track the process of peer discovery, initial sync and how geth is catching new blocks at this moment:
Logging display made independent from debug logs. Run geth help
to view new flags under "Logging" and "Experimental."
Additional features
- Support for SputnikVM. It's in testing right now, disabled by default, use flag
--sputnikvm
to enable it. - Debug logs are by default written to file system, with functionality and options for log compression and rotation
Fixes
- Allow
GOMAXPROCS
environment variable to be set
Contributors
.zip.sig
and .tar.gz.sig
files are detached PGP signatures
.zip.asc
and .tar.gz.asc
files are ascii-armored detached PGP signatures
.zip
and .tar.gz
are archive (compressed) files containing the geth
executable
To verify a release with a signature: First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
. Then, if you haven't already, you'll need to import the signing key, which you'll find here. This step is included below.
# Import my signing public key
$ wget https://raw.githubusercontent.com/ethereumproject/volunteer/master/Volunteer-Public-Keys/tomek%40zdybal.lap.pl.pub
$ gpg —import tomek@zdybal.lap.pl
# Verify
$ gpg --verify geth-classic-linux-v4.2.0-c11fbdf.tar.gz.asc
gpg: assuming signed data in 'geth-classic-linux-v4.2.0-c11fbdf.tar.gz'
gpg: Signature made Tue 02 Jan 2018 11:01:33 PM UTC
gpg: using DSA key 86C9E79D83B626AE95548DC3F157D3BD6E2EED66
gpg: Good signature from "Tomasz Zdybał (personal) <tomek@zdybal.lap.pl>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 86C9 E79D 83B6 26AE 9554 8DC3 F157 D3BD 6E2E ED66
All tagged and development downloads are also be available at our automated builds website: http://builds.etcdevteam.com.
Ethereum Classic Geth 4.1.2
- Fixes a head tracking issue which caused geth to "stall," or to fall out of sync for a period of time with the blockchain head.
Ethereum Classic Geth 4.1.1
Fixed
- core: avoid recovery deadlock when recovering chaindata with an invalidity not at head. PR #396
- geth:
--chain
command cleans incoming value to sidestep issue when given value contains trailing slash
Contributors
.zip.sig
and .tar.gz.sig
files are detached binary PGP signatures
.zip.asc
and .tar.gz.asc
files are detached ASCII PGP signatures
.zip
and .tar.gz
are archive (compressed) files containing the geth
executable
To verify a release with a signature: First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
. Then, if you haven't already, you'll need to import the signing key, which you'll find here. This step is included below.
# Import my signing public key
$ wget https://raw.githubusercontent.com/ethereumproject/volunteer/master/Volunteer-Public-Keys/isaac.ardis%40gmail.com
$ gpg --import isaac.ardis@gmail.com
# Verify
$ gpg --verify geth-classic-osx-v4.1.1.tar.gz.sig
gpg: assuming signed data in './geth-classic-osx-v4.1.1.tar.gz'
gpg: Signature made Tue Nov 7 16:42:30 2017 CST
gpg: using RSA key B23DC6DC7634399484DEB8A6F36487257419D94C
gpg: Good signature from "Isaac Ardis (ETCDEV Go Developer) <isaac.ardis@gmail.com>" [ultimate]
All tagged and development build downloads are also be available at our automated builds website: http://builds.etcdevteam.com.
Ethereum Classic Geth 4.1.0
Added
-
Feature: Recoverability and stability for blockchain database; if geth is abused by it's environment or OS (eg. 100+
SIGKILL
s/hour) there's a possibility that the db can become internally inconsistent (eg. storing an invalid head header hash). This feature should eliminate or reduce the need torm -rf /chaindata
, saving loads of time. -
Command:
dump <|sorted> <hash|num>,<hash|num> <address>,<address>
- use thesorted
option to sort state balances in memory (note that this will require significantly more time and memory resources). PR#341. Thanks @sudachen! -
Command:
api <module> <methodName> <|JSONargs>
- connect to a running geth instance via IPC and call any API method through the command line. Accepts arguments in the form of space-separated JSON-formatted values, or as a single JSON-formatted string. See the wiki reference for more information. Thanks @tzdybal!# Terminal 1 $ geth # Terminal 2 $ geth api eth syncing false $ geth api eth blockNumber "0x488361" $ geth api eth accounts [ "0xb5c694a4cdbc1820ba4ee8fd6f5ab71a25782534" ]
-
Feature: JS console added methods
debug.verbosity(<number>)
anddebug.vmodule(<k=v,k=v strings>)
, enabling changing global and module-specific logging verbosity on the fly
Changed
-
JSON-RPC:
debug_metrics
method accepts optional boolean argument to toggle raw metrics (eg."1m.rate": 1174
) vs. human-readable (default, eg."1m.rate": "1.17K (19.55/s)"
). PR#348. -
Option:
--exec
can now be used as a global flag or as a command flag forconsole
orattach
.$ geth --exec 'console.log("hello");' attach # or... $ geth attach --exec 'console.log("hello");'
Fixed
- core: unsilence database write errors on
WriteHeadFastBlockHash
andWriteHeadBlockHash
- eth: nil pointer on Total Difficulty when OS runs out of available storage
Refactored
- core: Extract default chain configurations from Go to JSON, findable now in
core/config
as JSON and compiled tocore/assets
. PR#347.
Contributors
.zip.sig
and .tar.gz.sig
files are detached PGP signatures
.zip
and .tar.gz
are archive (compressed) files containing the geth
executable
To verify a release with a signature: First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
. Then, if you haven't already, you'll need to import the signing key, which you'll find here. This step is included below.
# Import my signing public key
$ wget https://raw.githubusercontent.com/ethereumproject/volunteer/master/Volunteer-Public-Keys/isaac.ardis%40gmail.com
$ gpg --import isaac.ardis@gmail.com
# Verify
$ gpg --verify geth-classic-osx-v4.1.0.tar.gz.sig
gpg: assuming signed data in './geth-classic-osx-v4.1.0.tar.gz'
gpg: Signature made Wed Nov 1 14:51:07 2017 CDT using RSA key ID 7419D94C
gpg: Good signature from "Isaac Ardis (ETCDEV Go Developer) <isaac.ardis@gmail.com>" [ultimate]
All tagged and development downloads are also be available at our automated builds website: http://builds.etcdevteam.com.
Ethereum Classic Geth 4.0.0
Consensus
- ECIP-1017 - implement monetary policy for Morden Testnet (2 million block era) and Mainnet (5 million block era). If you're using geth, please update!
Added
- JSON-RPC:
debug_traceTransaction
method - JSON-RPC:
eth_chainId
method; returns configured Ethereum EIP-155 chain id for signing protected txs. For congruent behavior in Ethereum Foundation and Parity clients, please see ethereum/EIPs#695 and openethereum/parity-ethereum#6329. - P2P: improve peer discovery by allowing "good-will" for peers with unknown HF blocks
- Option:
--log-status
- enable interval-based status logging, e.g.--log-status="sync=10"
, wheresync
is the context (currently the only one implemented) and10
is interval in seconds.
Fixed
-
geth/cmd: Improve chain configuration file handling to allow specifying a file instead
of chain identity and allow flag overrides for bootnodes and network-id. -
Command:
monitor
- enables sexy terminal-based graphs for metrics around
a specified set of modules, e.g.$ geth
$ geth monitor "p2p/.*/(count|average)" "msg/txn/out/.*/count"
-
P2P: Improve wording for logging as-yet-unknown nodes.
Contributors
.zip.sig
and .tar.gz.sig
files are detached PGP signatures
.zip.asc
and .tar.gz.asc
files are ascii-armored detached PGP signatures
.zip
and .tar.gz
are archive (compressed) files containing the geth
executable
To verify a release with a signature: First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
. Then, if you haven't already, you'll need to import the signing key, which you'll find here. This step is included below.
# Import my signing public key
$ wget https://raw.githubusercontent.com/ethereumproject/volunteer/master/Volunteer-Public-Keys/isaac.ardis%40gmail.com
$ gpg --import isaac.ardis@gmail.com
# Verify
$ gpg --verify geth-classic-win64-v3.5.0+86-db60074e.zip.sig geth-classic-win64-v3.5.0+86-db60074e.zip
gpg: Signature made Wed Jul 19 13:29:32 2017 CDT using RSA key ID 7419D94C
gpg: Good signature from "Isaac Ardis (ETCDEV Go Developer) <isaac.ardis@gmail.com>" [ultimate]
All tagged and development downloads are also be available at our automated builds website: http://builds.etcdevteam.com.
Ethereum Classic Geth 3.5.86
Added
-
Newly configurable in external
chain.json
:"state": { "startingNonce": NUMBER }
- optional (mainnet: 0, morden: 1048576) - "dirty" starting world state"network": NUMBER
- required (mainnet: 1, morden: 2) - network id used to identify valid peers"consensus": STRING
- optional (default: "ethash", optional: "ethash-test") - specify smaller and faster pow algorithm, e.g.--dev
mode sets "ethash-test". See cmd/geth/config/*.json for updated examples.
-
Dev mode (
--dev
) made compatible with--chain
-
debug_AccountExist
method added to RPC and web3 extension methods (thanks @sorpaas) -
Additional Morden testnet bootnodes
-
Add listen for
SIGTERM
to stop more gracefully, if possible
Changed
- Nightly and tagged release distribution builds made available at builds.etcdevteam.com (instead of Bintray)
- Option:
--chain <chainIdentifier|mychain.json>
- specify chain identifier or path to JSON configuration file
Fixed
geth attach
command uses chain subdirectory schema by default, e.g.datadir/mainnet/geth.ipc
instead ofdatadir/geth.ipc
- Sometimes ungraceful stopping on SIGTERM, potentially causing corrupted chaindata
- PublicKey method for protected transactions with malformed chain id causing SIGSEGV
- Concurrent map read/writes for State Objects
- Ignore reported neighbors coming from non-reserved addresses; prevents irrelevant discovery attempts on local and reserved IP's
- RLP-decoded transactions include EIP155 signer if applicable (thanks @shawdon)
Contributors
.zip.sig
and .tar.gz.sig
files are detached PGP signatures
.zip
and .tar.gz
are archive (compressed) files containing the geth
executable
To verify a release with a signature: First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
. Then, if you haven't already, you'll need to import the signing key, which you'll find here. This step is included below.
# Import my signing public key
$ wget https://raw.githubusercontent.com/ethereumproject/volunteer/master/Volunteer-Public-Keys/isaac.ardis%40gmail.com
$ gpg --import isaac.ardis@gmail.com
# Verify
$ gpg --verify geth-classic-win64-v3.5.0+86-db60074e.zip.sig geth-classic-win64-v3.5.0+86-db60074e.zip
gpg: Signature made Wed Jul 19 13:29:32 2017 CDT using RSA key ID 7419D94C
gpg: Good signature from "Isaac Ardis (ETCDEV Go Developer) <isaac.ardis@gmail.com>" [ultimate]
Tagged and "nightly" downloads are also be available at our CI build archive site.
Ethereum Classic Geth 3.5.0
Changes
Added
- Option:
--index-accounts
- use persistent keystore key file indexing (recommended for use with greater than ~10k-100k+ key files) - Command:
--index-accounts account index
- build or rebuild persistent key file index - Command:
status
- display contextual node, ethereum, and chain configuration - Option:
--log-dir
- specify directory in which to redirect logs to files - Created CHANGELOG.md
Changed
- Command:
dump <blockHash|blockNum>,<|blockHash|blockNum> <|address>,<|address>
- specify dump for n block(s) for optionally a address(es) - Option:
--chain
replaces--chain-config
and expects consistent custom external chain config JSON path (datadir/custom/chain.json
)
-- > Usage:--chain=morden
,--chain=mainnet
(default),--chain=custom
Fixed
- Hash map exploit opportunity (thanks @karalabe)
- SIGSEGV crash on malformed ChainID signer for replay-protected blocks.
- Account commands unable to file path relatively
Removed
- Option:
--chain-config
, replaced by--chain
Contributors:
.zip.sig
are detached PGP signatures
.zip.asc
are "ascii armored" detached PGP signatures
.zip
is an archive containing the geth
executable
To verify a release with a signature:
First, make sure you have a gpg
tool installed, eg. gnupg
or gnupg2
.
Then, run:
$ gpg --verify geth-classic-win64-v3.5.0.zip.asc geth-classic-win64-v3.5.0.zip
//=> gpg: Signature made Thu Jun 29 09:29:35 2017 CDT using RSA key ID 7419D94C
//=> gpg: Good signature from "Isaac Ardis (ETCDEV Go Developer) <isaac.ardis@gmail.com>" [ultimate]
Downloads are also available at our CI build archive site.