Skip to content

HORNET-0.5.0

Compare
Choose a tag to compare
@luca-moser luca-moser released this 19 Aug 07:07
2153e01

⚠️ Breaking change ⚠️

The old HORNET versions won't be functional within the mainnet anymore!

Upgrading to 0.5.0 from a previous version:

  1. The new coordinator address is: UDYXTZBE9GZGPM9SSQV9LTZNDLJIZMPUVVXYXFYVBLIEUHLSEWFTKZZLXYRHHWVQV9MNNX9KZC9D9UZWZ. We suggest that you simply take the config.json from the repository and change it according to your needs. The new coordinator address is the default value in the node, so it isn't defined in the config. If you're taking over your current config.json (which we don't recommend since a lot of keys changed), make sure to change the coordinator options to the new values.
  2. Start up your v0.5.0 node with the --overwriteCooAddress and let it synchronize.
  3. At this point you can let your node run but eventually you should restart it without the --overwriteCooAddress flag.

Added

- White-Flag confirmation
- Weighted uniform random tipselection for nodes
- Adaptive heaviest branch tipselection for coordinator
- Optional powsrv.io PoW support
- LMI and neighbor counts to dashboard
- getTipInfo API call
- "isHealthy" to getNodeInfo
- conf_trytes (confirmed trytes) ZMQ topic
- conf_trytes (confirmed trytes) MQTT topic
- Conflicting badge to the transaction explorer
- Add autopeering rule to drop neighbors with LSMI below our pruning index
- Automatic dashboard websocket reconnect
- Database tainted flag for coordinator

Changed

- Request tx from all neighbors that could have the data
- Bump protocol feature set for whiteflag (breaking protocol change)
- Reduced dashboard traffic by introducing subscriptions to topics
- Store binary trunk, branch, and bundle hashes in metadata to reduce load on IO
- Improve caching strategy in solidification and confirmation
- Improve caching in the dag helpers
- Reduce recursion in the future cone solidifier
- Use stack based DFS in TraverseApprovees
- Use stack based BFS in TraverseApprovers
- Return false for conflicting tx in the getInclusionStates web api call
- Coordinator now waits until the milestone is solid
- Set higher default verticesLimit in visualizer
- Update to Go 1.15

Removed

- Unused RefsInvalidBundles cache

Fixed

- Database revalidation
- Missing byte to trytes conversion in some error messages
- Make code more testable
- Adding autopeered neighbors as static neighbors
- CTPS calculation
- Spikes in conf.rate calculation
- Pruning
- Do not drop autopeering and "acceptAny" peers on peering.json change
- Index out of range in attachToTangle
- Deadlock in snapshotting and pruning
- Error reason for connection abort is now shown
- Peering configs now recognized via CLI
- Coordinator bootstrapping
- Milestone missing / Milestone updated panics
- Hash conflicts in the visualizer
- SupportedFeatureSets logic in handshake
- Websocket/dashboard deadlock
- Dashboard visualizer re-rendered to often
- Do not panic if snapshot creation is aborted
- Fix solid entry point indexes

Removed

- Unused defaults from config.json
- Graph plugin
- Monitor plugin
- Legacy gossip protocol
- Genesis tx special case

Config file changes

Please use the new config.json and transfer values from your current config.json over to the new one, as a lot of keys have changed or got removed (instead of mutating your current one).