Backported following changes from vNext into the v1.6:
- Replace raw disk files (i.e. blocks and TXs) with the DB storage.
- Prevent TX submission if nonce is not greater than current address nonce.
- Delete TXs below min fee from the pool.
- Provide TX pool info by address.
- Added support for installing the node on CentOS 8.
- Fixed the issue with inconsistent block configuration structure at the activation of dormant validator logic.
- Intermediate release for diagnostic purpose.
- Activate dormant validator logic on
MAINNET
at block1330000
.
- Activated last proposed block tracking on
MAINNET
at block1300000
.
- Removed tracking of last proposed block until defined point in chain, to ensure full sync compatibility.
- Activated dormant validator handling on
TESTNET
.
- Implemented automatic disabling of dormant validators.
- Don't allow removing a validator at the point of inclusion in the new active set.
- Exposed additional fields in validators API endpoint.
- Restart failed consensus state instance on error, to prevent node from staling.
- Expose API endpoint to fetch asset by code.
- Improve node startup block restoration logic.
- Add API endpoint for info about single validator.
- Improve cache management in consensus.
- Reduce redundancy in TX propagation.
- Add retry logic in block verification.
- Improved request/response message handling.
- Improved peer list management by taking validators from the most recent available verified block.
- Improved cache management.
- Improved the synchronization speed.
- Fixed the issue with unresponsive consensus agent.
- Added
/consensus
API endpoint.
- Implemented the logic to remove ghost peers.
- Fixed the handling of the valid value certificate in consensus.
- Improved the management of whitelisted nodes (boot, validators) in the network layer.
- Tuned network code.
- Increase allowed number of incoming connections on network socket.
- Improved TX set preparation logic.
- Upgraded NetMQ to latest stable version.
- Improved async operations management in network layer.
- Implemented network segregation avoidance logic.
- Changed the calculation of available balance when deposit is slashed.
- Add UNIX timestamps to the
/stats
API endpoint.
- Fix the initialization of the validator state.
- Fixed gossip peer removal issue.
- Exposed network time in stats API endpoint.
- Cached prepared wallet frontend content to avoid repeated loading and parsing overhead.
- Fixed DNS caching issue.
- Fixed the issue causing duplicate responses in peer communication.
- Fixed the PeerRequestTimeouts stat counter value reporting.
- Added support for Hierarchical Deterministic (HD) Wallets.
- Added wallet UI in the node deployment package and exposed it under
/wallet
endpoint, enabling interaction with the node. - Updated NuGet packages for data access and API.
- Improved node setup docs.
- Documented node update and removal process.
- Improved TX propagation algorithm.
- Improved performance by introducing TX and block storage cache.
- Improved peer communication by introducing queue priorities.
- Added API endpoints for providing more insight into the node runtime state.
- Changed binary format of network messages.
- Reduced redundancy in network communication by introducing throttling.
- Fixed issue reporting stale consensus round for inactive validator.
- Fixed some gossip discovery and peer management issues.
- Fixed DNS caching issue.
- Improved DNS resolver cache logic.
- Improved gossip peer discovery mechanism.
- Fixed pending TX selection criteria, which prevented creation of new blocks.
- Improved propagation reliability.
- Disabled stale consensus detection for inactive validators.
- Exposed
/network
API endpoint for more info about network state. - Exposed
/block/head
and/block/head/number
API endpoints for fetching the latest block info to support new wallet.
- First stable release.