Chia Blog

Chia 2.7.4

by Chia Team

Chia 2.7.4 is now available! This version includes important security updates, please install it at your earliest convenience: https://www.chia.net/downloads/.

The primary focus of 2.7.4 is on strengthening the codebase against AI-assisted attacks. In addition, we are getting ready for the hard fork, the final block height of which will be set in the 3.0 release. We also have made some improvements to the reference wallet UI.

UI Updates

The reference wallet GUI now has themes!

To change themes, click Settings (the gear icon in the lower-left corner), then select a Color Theme along with your preferred Appearance (LIGHT or DARK).

This release comes with three built-in themes:

  • CHIA – matches the Cloud Wallet’s style (default)
  • CLASSIC – the original green theme
  • AUTUMN – warm hues if the season’s right

Big thanks to Shohei Abe for your work on this feature!

In addition, NFT-viewing is more seamless in this release. Improvements include:

  • Smooth playback of video and audio NFTs(previously, they often would render as a blank tile)
  • NFTs that are stored directly in IPFS load and cache without issue, provided that the links remain valid
  • The cache is now persistent; large NFTs don’t need to be reloaded each time the wallet is launched
  • A clear error message when something does go wrong
  • In the event that the default IPFS gateway isn’t serving your NFTs correctly, you can now use a fallback link (configurable in the NFT tab of the Settings screen)

Big thanks to jlobue10 for your work on this feature!

Protocol Updates

In our continued push for better security and reliability, we have applied updates to the reference wallet, node, and mempool. As usual, we will provide a full post-mortem for all security updates once we have achieved sufficient adoption.

Mempool/Fast Forward Hardening

Of the various updates to the default mempool; the main focus is on fast forward spends, for example preventing double spends and mismatched costs in certain situations. The mempool also now provides additional dedupe checking, which helps with eviction when a fast forward spend fails to be included in a block. 

This update also improves the mempool’s general robustness, which will help in selecting and including certain transactions.

Full Node and Sync Reliability

The full node’s sync process will now handle errors more gracefully, send better weight proof errors, and improve the UnfinishedBlock cache. We have also improved the block validation for quicker rejection of invalid data.

Wallet Hardening

In the reference wallet, if a single peer fails, wallet subscriptions will now continue instead of stalling. We also added new limits to coin state processing and additional caching in order to prevent some Out-Of-Memory (OOM) errors. In addition, we have added some type-safety to the wallet protocol, which should also help with reliability.

DataLayer Bug Fixes

In an effort to improve the reliability of the Chia DataLayer, we have added the ability to recover from missing blob files, improved the cleanup when unsubscribing from a store, prevented a potential deadlock scenario that can occur when creating a wallet while syncing, and improved the way singletons are identified.

Wallet CLI Updates

Several new flags have been added to the wallet, DID, NFT, Offer, and VC CLI commands in order to provide more flexibility. The flags are fully backward compatible, and are included in our CLI documentation. For the exact list of updated commands, see this GitHub PR.

Hard Fork Readiness

In preparation for the upcoming hard fork, 2.7.4 includes the new plot ID filter, the new harvester protocol, and the V2 plot metadata. This version also includes the new cost format, which will alleviate the remaining cost mismatch issues. Lastly, support for the new PlotNFT format is here, including wallet and farmer support for the new pooling protocol, as well as updated CLI/RPC support.

Each of the changes in this final category will activate with the hard fork several months after the release of 3.0.

For the complete list of changes that went into this release, see the changelog on GitHub.

Deprecation and Archival Notes

Python 3.10 is deprecated as of this release. If you build from source, then please update to 3.11 or newer. See the Python release status for more information about their release cadence.

And finally, just a reminder that we will be archiving the NFT bulk minting tool as of this release. If you want to mint NFTs in bulk, we recommend MintGarden Studio.