1.6.1
is now available for download. This release adds Bladebit2, and its new disk based plotting support, as well as updated support for multi-asset trading through our Offers including NFT for NFT.
For Farmers:
Bladebit2 is coming out of Beta and is now available with support for disk based plotting along with the existing RAM based plotting accessible via the CLI or the GUI. For more information about the Bladebit2 update, see our blog post.
For End Users:
Offers update:
⚠️ Offers that are generated with this version 1.6.1 cannot be accepted with older versions of Chia. Chia 1.6.1 can accept any offer, including ones created with older versions.
- We’ve completely redesigned the Offer creation experience so you can now create Offers and trade any combination of XCH, CATs, and NFTs
- Spacescan has been added as another option to share your offers
NFT updates:
- NFT for NFT trading is now available through the new Offers creation experience
- Gallery now supports NFTs of video, audio, 3d, and document file formats so you can easily see and identify all of the NFTs that you own
- When viewing an offer you can see the original minter DID to confirm you are buying from the correct collection
- New setting to auto-hide or show NFTs that have been tagged as sensitive content
- NFTs are now cached locally with controls to limit the amount of disk space used to help improve performance loading your NFT gallery
General update:
- Wallet labeling so that you can assign a more memorable name to your wallet.
- Windows installer has been updated to provide a more familiar installation experience on Windows.
- Added beta logging state to enable capturing more details to help understand the wallet’s current conditions and make the log files more easily accessible
- Added a beta logging state to enable capturing more details to help understand the wallet’s current conditions and make the log files more easily accessible
For Developers:
- Improved message signing so you can use NFT ID, DID, wallet key to sign with in addition to using the HD path
- New notification RPCs that can enable a user to send a notification to another wallet with a minimum spend to help prevent abuse. The initial use case is to support notifying NFT owners that they have an offer made on their NFT.
BTW, Security:
You may have heard about the recent OpenSSL vulnerabilities (GHSA-h8jm-2x53-xhp5, GHSA-8rwr-x37p-mx23). All native Chia installers use the 1.1.1 branch of OpenSSL and were never vulnerable to this attack. The concern only applies to source install power users, making it essential for these users to confirm they are not operating a vulnerable OpenSSL version.
We do suggest those operating on OpenSSL 3.0 and later ensure the patch status of your current version prior to running the source install as a security measure.
To check the version of OpenSSL on your system, you can run the following from your terminal:
python -c 'import ssl; print(ssl.OPENSSL_VERSION)')
Added
- New node RPC for fee estimates
/get_fee_estimate
- Added support for labeling (naming) wallets (keys)
- Added CLI option
chia keys label
- Added REMARK to
ConditionOpcodes
- Prevent creation of offers with 100% royalties
- Added
chia peer
command to replacechia show -c
- New wallet RPC
/nft_mint_bulk
and preliminary support for bulk minting - New wallet RPC
/nft_calculate_royalties
- New wallet signing RPCs
/sign_message_by_address
,/sign_message_by_id
- New wallet CLI option
chia wallet sign_message
- New wallet RPC
/push_transactions
(thanks @stmharry) - New daemon command
running_services
to list all running services - Code coverage is now generated
- Added on-chain wallet notification mechanism with CLI
- Added log warning when inserting into the mempool takes longer than 2 seconds
- Implement daemon system metrics logger based on beta config
- Only produce plotter beta logs if
beta: true
, not if it just exists
Changed
- RPC incompatibility:
/get_routes
and/healthz
now return a boolean for success (previously was a string) - New Windows installer created with
electron-builder
- Blsspy updated to 1.0.16
- Chiavdf updated to 1.0.7
- Chiapos updated to 1.0.11
- Clvm_tools updated to 0.4.5
- Chia_rs updated to 0.1.14
- Clvm-tools-rs updated to 0.1.24
- Aiohttp updated to 3.8.3
- Colorlog updated to 6.7.0
- Concurrent-log-handler updated to 0.9.20
- Cryptography updated to 36.0.2
- Filelock updated to 3.8.0
- Keyring updated to 23.6.0
- Click updated to 8.1.3
- Dnspython updated to 2.2.1
- Dnslib updated to 0.9.22
- Zstd updated to 1.5.2.6
- Updated various DataLayer CLI commands to accept root hash parameter
- Pool config is updated after the wallet is fully synced (#12631)
- Prior to adding DID coins, ensure coin is valid
- Adding submodule branch override to Install-gui.ps1
- Reverted
change
tochange OR REPLACE -> OR FAIL
inwallet_coin_store
- Changed log level to
INFO
inReceiver.reset
for plot sync - Modified
/nft_get_info
to includep2_address
- Simplified
WalletStateManager.coin_added()
- Minor change to DataLayer mirror sync
- Removed unnecessary split when starting daemon
- Removed mostly unused wallet action store (wallet_action_store.py) and rearrange code as needed
- Removed unused
all_puzzle_hashes
fromwallet_puzzle_store
- Removed "Total iterations since start" from
chia show -s
- Removed rate-limited wallet
- Removed the beta program link from the warning in the CLI
- Removed
--enable-data-server
fromchia configure
CLI - Improved RPC server start/stop
- Drop partially implemented BIP39 passphrase support
- Simplify key deletion in
Keychain
- Simplify public key getters in
Keychain
- Cleanup and reuse of wallet code
- Return before fetching weight proof if a secondary sync task is running (Thanks @olivernyc!)
- Dropped unused
chia_minor_release_number
- Just
raise
, notraise e
when reraising - Optimized
simple_solution_generator()
- Allow developers to easily use standard Chia
clvm
puzzles and libraries - Skipped validating
GTElement
in mempool - Improved logging for
chia plotters version
errors - Performance improvements in
subscribe_to_phs
using CoinState from chia_rs - Performance improvements in wallet syncing by doing bulk coin record lookups
- Performance improvements in wallet syncing by caching the last derivation path
- Performance improvements in offer parsing by implementing a more efficient Program.uncurry()
- Performance improvements in puzzle parsing by using rust parser (
chia_rs
) for Program.from_bytes() - Performance improvements in wallet by caching the uncurried puzzle in UncurriedPuzzle class
- Implement generator_for_single_coin() in python instead of
clvm
- Optimize get_block_store by not parsing the full block
- Avoid creating a list and enable short circuit behavior in
bundle_suitable_for_compression()
- Performance improvements when dealing with lots of trades (offers) by using a lookup table and not loading all trades from disk upfront
- Minimized a chance where
sudo
prompts users for password ininstall.sh
- Full_node: Dropped unused ultra priority lock
- Full_node: Set defaults in
SyncStore
- Various performance and code cleanup in mempool handling
- Significant scalability improvements in NFT handling
- Minter DID now shown in output of
chia wallet nft get_info
and in GUI - Treehash optimization for DID wallet
- Performance improvements by using
get_puzzle_and_solution_for_coin()
fromchia_rs
- Adds handling for daemon not sending
initial_target_state
(thanks @bolshoytoster) (#10058) - Reduced log noise during wallet syncing
- Run
get_puzzle_and_solution_for_coin
andget_block_header
expensive API requests in separate thread - Do not trigger the pending tx handler in some cases. Eliminates multiple ALREADY_INCLUDING_TRANSACTION errors for some operations, notably claiming self-pooling rewards
- Defined a shared API for all wallet via a WalletProtocol class
- Recompress CLVM generators
- Removed unnecessary logging during plot creation
- Made
IP
section in connections table 1 character wider to handle IPV6 - Deprecated
chia plotters install
command - Improved handling of unfinished block messages
- Stripped leading and trailing whitespace before
bech32
decoding in various places - Fixed issues in the GUI with sending CAT transactions with a fee
- Changed
ctx.exit
->raise click.ClickException
in CLI - Improved harvester logging
Fixed
- Fixed a few instances of coin name logging
- Fixed chia farm summary if using a remote full node (thanks @yan74)
- Fixed comments in initial config where puzzle hash should be receive address (thanks @hugepants)
- Fixed locking of main thread in
validate_weight_proof_inner
- Fixed several bugs with untrusted sync, and correct sync status
- Fixed performance issue in wallet with offers
- Minor fixes for related to running serialized programs
- Fixed bug in remove_plot_directory when removing a directory not currently in the plot directory list (thanks @joshpainter)
- Fixed the run_block utility to use chialisp_deserialization
- Minor comment typo, hinting, and fixture cleanup
- Fixed a crash that happens when plot directory config is empty
- Set log levels per handler / Fix the log level in beta mode
- Minimal fixup for daemon signal handling regression
- Fixed CAT offer aggregation edge case (#13464)
- Fixed memos & minter DID
- Fixed logo URL in readme.md (thanks @SametBasturkk)
- Fixed typo in wallet code
puzlle
->puzzle
(thanks @wizicer) - Fixed
chia show -s
with other options as well - Fixed issue with the wallet not syncing in untrusted mode, if connected to a trusted peer that is not synced
- Improve handling of not synced peers
- Sped up creation of puzzle hashes in the wallet
- Replaced several handled tracebacks with standard log messages
- Show Usage when running
chia plotters
(#13690) - Fixed marking the successfully added spend bundles to the reinitialized mempool when a new peak is available
- Fixed errors output when stopping the daemon on CLI
- Fixed incompatibility with Python 3.10.8 around accessing the
_waiters
private attribute of asyncio Semaphore class (#13636) - Fixed DataLayer issues with subscribing after unsubscribing to the same store/singleton (#13589)
- Report to GUI when DID wallet is created
- Check if offer file is present before trying to take offer
- Properly catch and handle errors during shutdown while syncing
- Fixed proof lookup and plot caching with bladebit plots that have dropped entries (#13084)
- Fixed issues with accepting Datalayer offers where the offer inclusions has matching key/value data for both maker and taker inclusions
- Fixed issues where ChiaLisp was compiled during import requiring write access to the directory (#11257) (thanks @lourkeur). To force compilation, developers can set environment variable
CHIA_DEV_COMPILE_CLVM_ON_IMPORT
- Removed tracking of dropped transactions
dropped_tx
(thanks @roseiliend) - Fixed a breaking change in
get_puzzle_and_solution
RPC
Known Issues
- The new
fee estimate
RPC remains in development, and often returns a fee of zero regardless of the state of the mempool - Log files at
WARNING
level will show “Fee estimator error”. This is a harmless error and should be ignored. - When sending an NFT to a burn address will show the correct image, however the title and other metadata may not show the correct information. Check the NFTID and the image to confirm that you are sending the correct NFT to the burn address.
- Certain characters used in the NFT title may trigger a javascript error message
New Contributors
- @yan74 made their first contribution in #12901
- @bolshoytoster made their first contribution in #10087
- @SametBasturkk made their first contribution in #13610
- @wizicer made their first contribution in #13621
- @stmharry made their first contribution in #13466
- @lourkeur made their first contribution in #13609
Full Changelog: 1.6.0...1.6.1