Skip to content
Back to Blog

Version 2.3.0 Release

Share this article:
LinkedInCopy Link

Version 2.3.0 of the Chia reference client is now available for download! This release includes a soft fork, which will activate at the end of July 2024. It also includes a security fix. Everyone should upgrade their farmers and harvesters to at least version 2.3.0 as soon as time permits.

This release includes the Chialisp message conditions from CHIP-25, the wallet sync protocol from CHIP-26, various DataLayer performance improvements, and a few other ease-of-use updates.

Reference wallet improvements

Run services in background

In previous releases, when you closed the reference wallet GUI, all related Chia services would also be shut down. This is normally the desired behavior, but some users wanted to run Chia in the background, even after closing the GUI. 

Starting in version 2.3.0, this is possible. When you attempt to close the application, the confirmation window will now display a checkbox. If you want to continue running your full node, harvester, farmer, etc after closing the GUI, be sure to check the checkbox, as demonstrated in the following image:

For developers

Chialisp message conditions

In CHIP-25, we created two new Chialisp message conditions: one for sending messages, and one for receiving them. These new conditions will ensure that an exact set of coins is spent together, thus ensuring that each coin spend is properly protected. These conditions are included in the 2.3.0 release.

Note that a soft fork is required to implement these conditions. This fork will activate on block 5,716,000, which is expected to occur at the end of July 2024. The new conditions will not be usable until this block is reached. Please be sure to upgrade your farmer and harvester(s) when convenient. If you do not upgrade prior to the fork’s activation, you won’t be able to farm blocks with transactions that use the new message conditions.

Wallet Sync Protocol

Chia wallets use the wallet sync protocol to stay informed about the current state of coins they are holding. CHIP-26, most of which is included in this release, addresses some of this protocol’s shortcomings. For example:

  • Response pagination
    • Previously, when a wallet contained more coins than would fit in a response, the result would be truncated. This would render the wallet incapable of downloading every coin to achieve sync.
    • The new protocol paginates the response, grouped by block height. This allows the wallet to sync, regardless of the number of coins it needs to track.
  • Subscribe and unsubscribe to coins
    • Previously, a wallet had to subscribe to all coins for which it wanted to request the current state. In addition, the wallet could never unsubscribe from these coins. When the wallet reached its subscription limit, it could no longer request the state of new coins.
    • The new protocol allows wallets to request a coin’s state without subscribing to it, and it allows wallets to unsubscribe from coins. This should prevent truncation of coin data, which causes wallets to lose track of some of their coins.
  • Improved reorg handling
    • Generally speaking, if a wallet doesn’t handle reorgs properly, it might store incorrect coin data in its database.
    • The new protocol forces wallets to handle reorgs properly by rejecting requests if the claimed header hash does not match the height provided.
    • After a reorg, wallets can now continue syncing from the previous peak, which should greatly improve performance.

Note that CHIP-26 is not yet fully implemented in this release. We have added the new protocol to the full node, but not to the wallet. We also have not yet added the ability to receive updates for relevant transactions as they enter or leave the mempool. These features will be made available in a future release.

DataLayer improvements

This release includes several DataLayer performance improvements, as well as the following RPC updates:

  • Pagination – We added new parameters to our RPC API to specify whether the results of certain queries should be paginated. This improves the reliability of DataLayer requests – it allows the responses to be chunked into amounts small enough for the requesting client to consume.
  • Batch updating – It is now possible to split a batch update into multiple commands. This will save the pending updates locally until they are all published together by calling the “submit_pending_root” RPC. Note that a migration of the root table will be required in order to support this feature. See the RPC documentation for more info.

See our documentation for a full list of available DataLayer RPCs.

General updates

Daemon process launch

We have changed the command to launch the daemon from the GUI. Instead of using “daemon/server.py” to launch a daemon process, the GUI will now use “chia start daemon”.

  • Old command for binary installations: “…/app.asar.unpacked/daemon/daemon”
  • New command for binary installations: “…/app.asar.unpacked/daemon/chia start daemon”
  • Old command for source installations: “python …/chia/daemon/server.py”
  • New command for source installations: “…/venv/bin/chia start daemon”

Security fix

A security fix went into this release to address a bug. It does not affect XCH directly. Please upgrade to version 2.3.0 as soon as time permits. We will disclose the details in a forthcoming post-mortem.

Hard fork reminder

Last year we added a hard fork to reduce the plot filter. This fork will activate around June 13, 2024. Be sure to upgrade your farmer and harvester(s) to at least 2.1 prior to that date. If you are not running version 2.1 or a later version prior to June 13, you will cease farming until you make the upgrade.

Database v2 reminder

As of Chia 2.1, the only supported version of the database is v2. If you are upgrading from 2.0.1 or earlier, be sure you have a copy of v2 ready to go. There are two ways to upgrade from v1 to v2:

  • Use the “upgrade” CLI command. We have improved this command in version 2.3.0 — whereas it used to take around five hours to complete, it now only takes around three hours. In addition, you can run the command while your node is running, so your farm will experience very little downtime.
  • Download the latest checkpoint torrent.

See the release notes for a comprehensive list of updates.

You might also like:

March 19, 2024

Mainnet Year 3

Three years ago, we officially started our ambitious journey. We launched the Chia blockchain with a vision to change the…
Community
March 01, 2024

Dive Into The Chia Academy

We released Chia Academy in December 2023 to simplify your entry into the world of the Chia blockchain. We’d like…
Community
February 28, 2024

Version 2.2.1 Release

Chia Editor’s Note [2024-03-06]: We’ve updated this blog to reflect the release of 2.2.1. Version 2.2.1 of the Chia reference…
CommunityProduct Development