Releases: vechain/thor
Entropy (v1.3.0)
IMPORTANT HINT: full resynchronization is required when upgrading to this release.
After months of work, now comes the most significant update since mainnet launch. This release brings many dramatic improvements, especially in terms of performance and efficiency:
- Drastically reduces disk space occupation by 80% (with state pruner enabled)
- At least 2X as fast to access cold VM state
- Much more effective trie cache, reduces 50% RAM usage
- Greatly speeds up querying event/transfer logs
- Reduces logdb size by 40%
Notable changes:
- Fix improper connection limit setting for logdb
- Remove live blocklist
- Fully rebuild maindb
- save trie nodes with node-path as prefix
- use freecache to replace bigcache
- optimize trie cache
- support pruning trie nodes
- use trie to index blocks and transactions
- store one tx/receipt per record instead of bundle
- optimize tx/receipt cache
- support querying block number by timestamp
- Improve VM state error handling
- Redesign logdb table schemas
- add ref table to map id and data to reduce disk space usage
- optimize indexes to cover most cases
- remove time range query options
- Improve gas limit suggestion algorithm
- Optimize block packing process
- Reset default cache flag value to 1GB
- Add the feature of adaptive gas limit for solo mode
- Add cache option for solo mode
- Deprecated APIs removed:
- POST /logs/events
- POST /logs/transfers
- POST /events
- POST /transfers
v1.2.0
With the consensus of the first all-stakeholder voting, this release will activate the fork BLOCKLIST
on Mainnet, at block # 4,817,300(~ Fri, 10 Jan 2020 5:40 GMT). All nodes are required to be upgraded ASAP.
v1.1.5
This is a maintenance release, which contains performance improvement and bug fixes.
- Adjustment to cache limit size.
- Fix incorrect result in querying event logs with multi criteria.
- Cache candidate list to speed up PoA process.
- Cache code bitmap to speed up contract call.
- Upgrade
leveldb
version. - Update
boot node
list. - Amendments to
txpool
to add a blocklist.
v1.1.4
This is a maintenance release, which contains performance improvement and bug fixes.
- Fix(api): expose non-standard response headers
- Limit maximum cache size to 1/2 physical RAM
- Make GC more efficient by debug.SetGCPercent
- Support go mod and deprecate godep
- Include windows platform in CI
v1.1.3
This is a maintenance release, which contains performance improvement and bug fixes.
- Add
-cache
cli flag to adjust underlying cache size. Under the default setting, it significantly speeds up state access, however, more RAM is occupied. - Fix CORS problem when request with 'x-genesis-id' header.
- Fix incorrect default forkConfig in custom net configuration.
Monet (v1.1.2)
This release will activate forks VIP-191
, ETH-CONST
on Mainnet, at block # 3,337,300 (~ Mon, 22 Jul 2019 06:00 GMT). All nodes are required to be upgraded ASAP.
For master nodes, -skip-logs
flag is recommended to be added upon startup command line, or it will take about ONE HOUR to rebuild logs database, during which the node keeps OUT-OF-SERVICE.
Notable changes compared to v1.0.x
-
Extends transaction model to support VIP-191
-
Expose
gasPayer
to VM context viaExtension
builtin contract. -
Fork config for custom network
-
Improve consistency of underlying db
-
API changes:
- deprecate
POST /accounts/{address}
- deprecate
POST /accounts
- enhance
POST /accounts/*
- VIP-191 related fields added to tx/block models
- deprecate
-
New fork ETH_CONST includes new opcodes
EXTCODEHASH
,CREATE2
,SHL
,SHR
,SAR
-
Fix goroutine panic on accessing
ws /subscriptions/beat
(invalid bloom K when a block contains mass of txs) -
Adjust
TolerableBlockPackingTime
from 2s to 500ms -
Easier small tx adoption
-
Improve db performance
Monet (v1.1.1)
This release implements new opcodes introduced by Ethereum Constantinople update. A new fork called ETH_CONST will be activated on testnet to support these new opcodes at block # 3,192,500 (~ Mon, 1 July 2019 04:00 GMT). Any nodes running on testnet are encouraged to be upgraded ASAP.
The mainnet activation time is still TBD.
Notable changes:
- New fork ETH_CONST includes new opcodes
EXTCODEHASH
,CREATE2
,SHL
,SHR
,SAR
- Fix history transfer logs (re-sync required)
- Fix goroutine panic on accessing
ws /subscriptions/beat
(invalid bloom K when a block contains mass of txs) - Adjust
TolerableBlockPackingTime
from 2s to 500ms
Monet (v1.1.0)
This release includes implementation of VIP-191, which is proposed by Totient Labs. VIP-191 will be activated on testnet at block # 2,898,800 (~ Tue, 28 May 2019 04:00 GMT). Any nodes running on testnet are encouraged to be upgraded ASAP.
Example code to create a VIP-191 tx:
The activation time on mainnet is still TBD, until widely tested.
Pay special attention to last release notes, if the version of your nodes is below v1.0.8.
Notable changes:
-
Extends transaction model to support VIP-191 -- Designated Gas Payer
-
Expose
gasPayer
to VM context viaExtension
builtin contract. -
Fork config for custom network
-
Improve consistency of underlying db
-
Speed up process of rebuilding log db
-
API changes:
- deprecate
POST /accounts/{address}
- deprecate
POST /accounts
- enhance
POST /accounts/*
- VIP-191 related fields added to tx/block models
- deprecate
-
Hidden CLI flag
-verify-logs
to verify log db
v1.0.8
This update would cause your thor node OUT-OF-SERVICE for up to two hours, to rebuild logs database. Please properly schedule your upgrading plan, and read the instructions carefully. Follow the instructions given below.
Instructions
-
build from source code
make dep
make all
-
for Master Node, it is recommended to specify flag
-skip-logs
at startup, to avoid OUT-OF-SERVICE.-skip-logs
flag skips rebuilding logs DB on startup. With this flag set, APIs under/logs
will be unavailable.
Changes
v1.0.7
Update is recommended!
Make sure to make dep
prior to make all
.
This release brings the ability to setup custom networks, by specifying genesis config file for -network
command line flag. Check wiki for more detail.
Changes:
- Custom network support
- Fix small bug in beat API
- Print master key address on subcommand
master-key