March 17, 2022

By Mike Berry

Testnet Hard Fork Coming Up

Tari v0.30.0 Released

A new version of the Tari applications has been released. The release notes are provided at the end of this post, but the most exciting changes are related to the hard fork test.

Testnet Hard Fork at 23000

We’ll be testing a hard fork on Dibbler testnet at block 23000. That’s likely to happen in the next 2 to 3 days, and you’ll want to make sure you are running version 0.30.0 or higher of your base node before then. With the previous network breaking changes, it was easier and more efficient to reset the network, but now that the code is more stable, it’s time to test an actual hard fork as it would happen in a mainnet.

What is a hard fork?

Blocks and transactions are versioned as their structure changes, for example, when new features are added. Nodes running the newer code will understand new versions and see them as valid, whereas nodes running older software will reject them. In this case, there will be a split in the network. If the majority of nodes are running the new code, the hard fork will succeed. If not, the older code will be the stronger chain, and the hard fork will be rejected. In a mainnet scenario, there is usually more notice given before a hard fork, but for Tari’s testnet, we may want to run a few of these tests.

Changes since v0.28.1


  • add committee management utxo (#3835) (50fe421)
  • add contacts liveness service to base layer wallet (#3857) (0d96ea3)
  • add contacts status to tui (#3868) (30bf86b)
  • add liveness call to wallet GRPC (#3854) (9ab832a)
  • add logging of cancelled outputs when transaction is rejected (#3863) (d28703d)
  • add recovery byte to output features (#3727) (c9985de)
  • add support for make-it-rain command (#3830) (0322402)
  • add support for specifying custom messages for scanned outputs in libwallet (#3871) (0d7f8fc)
  • adds get-mempool-tx command (#3841) (a49b1af)
  • base-node: allow status line interval to be configured (#3852) (427463d)
  • collectibles: add basic window menu items (#3847) (c8ebe5b)
  • dht: convenience function for DHT to discover then connect (#3840) (da59c85)
  • update committee selection from collectibles (#3872) (daf140d)
  • update console wallet notifications (e3e8b3d)
  • update FFI client user agent string (4a6df68)
  • validator-node: committee proposes genesis block w/ instructions (#3844) (68a9f76)

Bug Fixes

  • add bound for number of console_wallet notifications (033db2a)
  • block-sync: use avg latency to determine slow sync peer for block sync (#3912) (f091c25)
  • core: correctly filter pruned sync peers for block sync (#3902) (bfdfce6)
  • dht: use blocking tasks for db calls (1832416)
  • fix flakey test_coinbase_abandoned integration test (#3866) (ab52f5e)
  • fix merge mining proxy pool mining (#3814) (407160c)
  • improve sha3 pool mining (#3846) (be75c74)
  • remove critical tag from flaky cucumber test (#3865) (64b72de)
  • update metadata size calculation to use FixedSet.iter() (dbbe095)
  • update wallet logging config (7675e75)
  • validator-node: fix consensus stall after genesis (#3855) (64efeff)
  • wallet: minor wording fix on transactions tab (#3853) (fd32bc9)