October 04, 2020

By Mike Berry and Cayle Sharrock

Tari core developer update

tl;dr

There were a lot of bugs fixed last week, most notably an elusive error with merge mining and RandomX.

There’s still a bit of polish required on the merge mining side, but it is improving every week.

Right now you can solo mine against a single Tari base node and monerod. Mining pool integration is up next.

There was also a fix that eliminates ties in difficulty when the hash rate is low. Work continues on stabilizing the network and preventing network splits.

Other PR highlights this week

#2309: Integrate connectivity manager for Liveness service

The Liveness service drives the chain metadata service which in turn allows the base node state machine to determine if it needs to transition to sync mode.

This change uses connectivity manager to select a random subset of active connections for each ping/pong round. Selecting active connections is extremely cheap and can be done often. Banned peers cannot be selected as connectivity immediately disconnects and removes the peer from active connections once banned.

Once implemented, this change will improve the stability and robustness of the network.

#2306: DHT RPC get_peers returns all peers and “on connect” mode for NetworkDiscovery

Nodes will now request a full list of peers when connecting to the network to get a fuller picture of the overall
network.

When implemented, this change will reduce the chance of partitions occurring in the network and increasing overall network stability.

#2310: Added unban-all-peers command

You can now “unban all peers” from the CLI interface

#2288: Clean up all the remaining clippy warnings

The Tari codebase now has the Rust compiler stamp of approval :)