@@ -6,6 +6,34 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
6
[ Semantic Versioning] ( http://semver.org/spec/v2.0.0.html ) .
7
7
8
8
9
+ ## [ 3.0.0] - 2018-05-18
10
+ This release comes with heavy internal changes bringing Geth DB compatibility to the
11
+ `` ethereumjs-blockchain `` library. For a full list of changes and associated discussion
12
+ see PR [ #47 ] ( https://github.com/ethereumjs/ethereumjs-blockchain/pull/47 )
13
+ (thanks to @vpulim for this amazing work!). To test iterating through your local Geth
14
+ chaindata DB you can run the [ example] ( https://github.com/ethereumjs/ethereumjs-blockchain#example )
15
+ in the README file.
16
+
17
+ This allows for various new use cases of the library in the areas of testing, simulation or
18
+ running actual blockchain data from a Geth node through the VM. The Geth data model used is
19
+ not compatible with the old format where chaindata and metadata have been stored separately on two leveldb
20
+ instances, so it is not possible to load an old DB with the new library version (if this causes
21
+ problems for you get in touch on GitHub or Gitter!).
22
+
23
+ Summary of the changes:
24
+ - New unified constructor where `` detailsDB `` and `` blockDB `` are replaced by a single `` db `` reference
25
+ - Deprecation of the `` getDetails() `` method now returning an empty object
26
+ - `` td `` and `` height `` are not stored in the db as meta info but computed as needed
27
+ - Block headers and body are stored under two separate keys
28
+ - Changes have been made to properly rebuild the chain and number/hash mappings as a result of forks and deletions
29
+ - A write-through cache has been added to reduce database reads
30
+ - Similar to geth, we now defend against selfish mining vulnerability
31
+ - Added many more tests to increase coverage to over 90%
32
+ - Updated docs to reflect the API changes
33
+ - Updated library dependencies
34
+
35
+ [ 3.0.0 ] : https://github.com/ethereumjs/ethereumjs-blockchain/compare/v2.1.0...v3.0.0
36
+
9
37
## [ 2.1.0] - 2017-10-11
10
38
- `` Metro-Byzantium `` compatible
11
39
- Updated `` ethereumjs-block `` dependency (new difficulty formula / difficulty bomb delay)
0 commit comments