New Features Coming to 1.5.1

-

Version 1.5.1 of the Chia reference client is now available to download. This release includes some fun new features, which we’ll go through in this post.

NFT Improvements

NFT-for-CAT offers

Version 1.4 introduced NFTs to Chia’s ecosystem. Chia NFTs are typically bought and sold using Offers, which enable the peer-to-peer exchange of assets, with no counterparty risk.

In the 1.4 wallet GUI, NFTs could only be exchanged for XCH. In version 1.5.1, we’ve added the ability to exchange NFTs for CATs.

Here’s how to create an NFT-for-CAT offer:

You need to have a wallet for the CAT you would like to receive. In this case, we’ll use Spacebucks. (If you don’t have a CAT wallet, click MANAGE TOKEN LIST.)

Click NFTs (the diamond icon on the left side of your Chia wallet), then click the three dots under the NFT you would like to sell. Click Create Offer, as shown in the above image.

The Create an NFT Offer panel will appear. Click the Asset Type dropdown menu, as shown above. Select the type of asset you would like to receive, enter an amount, and click the green CREATE OFFER button. Be sure so share your offer wherever you would like it to be seen!

You can also make an offer to buy an NFT with CATs. Simply click the BUY AN NFT tab and fill in the details.

Show/hide NFTs from gallery

Chia makes it easy to mint and airdrop NFTs. Unfortunately, this also makes it easy to distribute unwanted NFTs. In order to mitigate this issue, the wallet GUI now has the capability to show or hide NFTs. It’s entirely up to you which NFTs to display.

Click NFTs (the diamond icon on the left side of your Chia wallet), then click the three dots under the NFT you would like to hide. Click Hide, as shown in the above image.

The image will be hidden. To show hidden images, click FILTERS and toggle the Show Hidden switch, as shown in the above image.

If you would like to unhide an NFT, click Show in the menu.

Send NFTs to burn address

There is now a “Burn” option in the NFT menu. This allows you to send unwanted NFTs to an address for which nobody has the keys. Careful, though – once you burn an NFT, nobody (including you) will ever be able to access it again.

Click NFTs (the diamond icon on the left side of your Chia wallet), then click the three dots under the NFT you would like to burn. Click Burn, as shown in the above image. You will need to confirm that you do, indeed, want to burn the NFT.


Wallet Improvements

Show connected peers list in GUI

You can now view all peers that are connected to your wallet or full node.

To see wallet connections, simply click WALLET, as shown above. Note that if you are running a full node, your own node will likely be your only connection.

Auto-login to last used wallet (CLI)

In previous versions of the Chia wallet CLI, if you had multiple wallets installed, none of them would begin syncing until the chia wallet show command was run. Starting in 1.5.1, the last wallet to have been used will begin syncing as soon as the wallet service is started.

Deprecate legacy keyring support

Prior to version 1.3, Chia keys were stored on the OS Keychain (MacOS), Vault (Windows) or Cryptfile (Linux). Beginning with version 1.3, Chia’s wallet began prompting users to migrate their keys to keyring.yaml. Users were also given the option to skip the migration.

Starting with version 1.5.1, legacy key storage will be deprecated – users will no longer be given the option to skip the migration. During the migration process, users will be allowed to choose whether to delete their legacy key storage or leave it in place.

This migration will not affect the vast majority of users. Anyone who has entered (or elected not to enter) a keyring passphrase is already using keyring.yaml. Only users who ignored the passphrase prompt in prior versions are still using legacy key storage.

In a future release, support for storing keys in the legacy location will be completely removed. If you have not yet migrated your keys, please do so in 1.5.1.

Note that this deprecation only affects the location where keys are stored. It does not affect the type of keys allowed. Going forward, non-observer keys may continue to be used, though observer keys will remain the default type.


Technical Debt

Wallet performance

Chia’s light wallet protocol was introduced in version 1.3. It dramatically improved syncing speeds over the original wallet, but it was not without issues. The biggest problems occurred with wallets that had been dusted with thousands of tiny coins. These wallets were slow to sync, and they occasionally displayed an incorrect balance.

While fixing these issues is an ongoing effort that has not been fully resolved, version 1.5.1 does make some significant performance improvements for dusted wallets. This is especially true for wallets that are syncing against trusted nodes. These wallets should sync faster, and show an accurate balance.

Node performance

Chia has an ongoing commitment to support running a full node on low-end machines, including the Raspberry Pi 4. This has helped us become the world’s largest L1 blockchain by node count. In order to maintain this support, the block sizes are currently capped at 50% of their maximum capacity of around 40 transactions per second (TPS). As the graph over the last six hours likely shows, Chia’s blocks are starting to hit the 50% limit. We expect this limit to be reached even more frequently as network adoption grows.

Version 1.5.1 contains optimizations that will decrease full node sync times, as well as reduce the system resources required to run a node and farm efficiently. This effort will take us one step closer to removing the 50% limit. At that point, Chia’s network throughput will be around 40 TPS, as compared with 20 TPS today. This is significantly faster than both Bitcoin (7 TPS) and Ethereum (10-12 TPS).

Handle wallet reorgs gracefully

When a Chia node diverges from the heaviest chain, it has to reorg blocks that have already been processed. In these cases, a few bugs have occasionally caused a wallet’s state to become invalid. The standard advice in this situation has been to delete the wallet database and restart the client. We have added some improvements that make this measure less likely to be needed.

Store GUI prefs in the mainnet directory

The userData folder has been moved to ~/.chia/mainnet/gui/Chia Blockchain. This folder will contain the GUI settings from your last session. One advantage of moving the userData folder to this location is that it allows you to use customized settings for multiple separate GUI sesions. For example, you might keep separate userData folders for running in Farming mode and Wallet mode, making it easier to switch between them.