Skip to content
This repository was archived by the owner on Apr 6, 2020. It is now read-only.

Commit c4fca13

Browse files
authored
Merge pull request #50 from ethereumjs/new-release-v300
New release v3.0.0
2 parents b3eecfb + 199c248 commit c4fca13

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,34 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
77

88

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+
937
## [2.1.0] - 2017-10-11
1038
- ``Metro-Byzantium`` compatible
1139
- Updated ``ethereumjs-block`` dependency (new difficulty formula / difficulty bomb delay)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ethereumjs-blockchain",
3-
"version": "2.1.0",
3+
"version": "3.0.0",
44
"description": "A module to store and interact with blocks",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)