Skip to content

Avalon v1.5.2

Compare
Choose a tag to compare
@techcoderx techcoderx released this 09 Feb 14:43
· 136 commits to master since this release

Mainly non-consensus update containing performance and memory optimizations for node operation. Also contains most HF6 code but with the relevant config commented out so that it does not activate in this release. Recommended for all nodes.

New features

API documentation generator

A static webpage documenting Avalon API endpoints may be generated by running npm run apidoc. The output may be found in the apidoc folder which can be served as a static website. Such website has been made available at https://avalon.oneloved.tube.

Skip validations on rebuild

If you know what you are doing, you can skip all validations to speed up rebuilds by specifying REBUILD_NO_VALIDATE=1 env var. Such rebuild would only execute block transactions.

Blocks BSON indexer and appender

To optimize MongoDB memory usage and improve indexing efficiency, the blockchain data has been taken out of the database and would instead read and append to/from the blocks.bson file. For more info and upgrade instructions, please refer to the v1.5.2 upgrade doc.

Breaking changes

Transaction history indexing

Due to the changes required to take the blockchain data off the mongo database, a new env var TX_HISTORY has been introduced to allow indexing of transaction history separately, which is also more efficient than previous versions.

In addition, TX_HISTORY_ACCOUNTS may be specified to only index a comma-separated list of relevant accounts.

For example:

export TX_HISTORY=1
export TX_HISTORY_ACCOUNTS=ionomy,ionomycold

/history API

Due to the above changes, the /history API will now return an array of transactions in the same format as /tx, instead of an array of blocks containing the relevant transactions.

Support discontinuation of NodeJS v12 or below

Due to the new dependencies used in this update, NodeJS v12 or below will no longer work on this release. NodeJS v14 and v16 remains the supported versions.

Other changes

Removal of REBUILD_RESUME_BLK

The env var REBUILD_RESUME_BLK has been removed so that rebuilds can resume by reading the head state block number from the state collection in the database.

Reindexing

A rebuild is only required for nodes that require the use of /tx and /history APIs. Otherwise, following the upgrade instructions should suffice.