github Chia-Network/chia-blockchain 2.0.0

latest releases: 2.4.4, 2.4.4-rc3, 2.4.4-rc2...
14 months ago

Version 2.0.0 of the Chia reference client is now available for download! This release focuses on those who are farming and running a full node, and is an important update that we want all farmers to update to.

For Farmers

It's officially here! Plot compression and GPU plotting is now available. To determine how you might strategize to get the most out of your farm, please check out this blog post.
Here is what's included in this release:

Plotting

Plotting Docs

  • Bladebit 3.0 release - Create compressed K32 plots using ramplot or the new GPU plotting cmmand, cudaplot, to increase your effective space and earn more farming rewards
    • C1 to C7 compression levels are supported, see here to understand how much compression you are getting at each level
    • 256GB minimum RAM support when using a GPU, or 416GB minimum RAM support when using a CPU. NVIDIA GPU with 8GB* of VRAM, CUDA capability of 5.2 (1 series cards and up).
    • Supported on Windows and Linux
    • Plot from the GUI or from the CLI
    • Existing uncompressed plots will still continue to work

Note
Bladebit support for lower RAM requirements with hybrid disk plotting, and other exciting features are currently in the works, and will soon be making their way into future releases. Keep an eye out for pre-releases on the Bladebit release page so that you can begin beta testing them as soon as they are available.

Farming/Harvesting

Farming Docs

  • GPU harvesting of compressed plots (decompression) with NVIDIA cuda GPUs, farm compressed plots with high efficiency (multiple petabytes on a single GPU).
  • CPU harvesting (decompression) for levels C1-C7, although up to C5 is recommended for most CPU farmers
  • Chia GUI updates for farming
    • The farm tab has been updated with farm health statistics to easily identify network, pool, or plot issues.
    • Added a Harvester tab for GUI users to now see the amount of raw and effective space each harvester is managing as well as report on local and remote harvester latency and plot information. This is critical information for farming compressed plots!
    • New harvester settings page, including compression support, and recursive plot scan to support subdirectories.

Consensus and blockchain protocol

  • Plot filter reduction hard fork has been introduced due to plotting speeds increasing with the introduction of GPU plotting, and to discourage plot grinding attempts. The first reduction for plot filters will kick in at block 5,496,000 (around June 2024) and lower the filter from 512 to 256. Thereafter, the filters will be reduced by half every three years. More details can be found in our blog post on GPU plotting.
  • CLVM BLS additions through a soft fork
    • New BLS operators to supplement point_add functionality to enable more complex CLVM performance, including signature verification and the use of zero-knowledge (ZK) proofs
    • Operators for calculating a remainder through the addition of "modpow" and "%" in CLVM
    • Adding operator support for secp256k1 and secp256r1 signatures to support using HSMs, hardware wallet, Apple Secure Enclave, and Android's Keystore trusted execution environment as signing devices
  • Transition to BLST library to get performance gains in full nodes when validating and submitting transactions

General End-User Experience Improvements

  • Local address book has been added so you can save commonly used addresses, DIDs, or domains against a contact that can be used when creating a transaction or more easily identify past transactions. The address book is shared across all local keys on the same computer to reduce having to keep duplicate copies.

For Developers and Creators (RPC and CLI Only)

  • Added a get_wallet_address RPC to enable developers to derive wallet addresses from any point in the wallet keyspace for any of the user's keys making it easier to get a specific wallet address along a derivation path for a specific key
  • WalletConnect API updates
    • Clawback commands have been added so DApps can initiate clawback commands to any connected wallet
    • Get wallet address commands have also been added

General system and application support updates

  • 2.0.0 is the last Chia update to officially support the v1 full node database. All users are recommended to upgrade to v2 database in order to support future updates.
  • Python 3.7 is no longer supported with this release. If you are running Ubuntu 18.04, you may need to manually update your Python version.
  • This release is the last Chia update to support macOS 10.14 Mojave, macOS 10.15 Catalina. Future updates will only support macOS 11 Big Sur or higher.
  • This release no longer supports Windows 8.1. This and future updates will only support Windows 10 or higher.
  • Offer files created on 1.6.2 or older Chia clients are no longer supported

Important
Known Issues

  • Bladebit will crash when the target destination drive is full
    • This will be fixed in Bladebit 3.1 beta, but a workaround is to just restart bladebit
  • Sending Cats from Goby to 2.0 wallet won't show up in the 2.0 wallet
    • Workaround: use 1.8.2 wallet to see balance and you can send yourself the coins to see them in the 2.0 wallet
  • Can't sync full node from 0 on testnet10
  • GPU harvesting - certain NVIDIA GPUs and driver combinations on certain platforms will encounter a known error "GRResult is not GRResutl_OK" in the logs, and stop decompression events.
    • Workaround: Restart the harvester
  • Viewing an offer file results in seeing no assets being offered
    • Workaround: If you want to accept it you will need to downgrade your wallet version to 1.8.2. This is an old offer file created on version 1.6.2 or older. That offer file format is no longer supported in 2.0 or later.
  • Your wallet is synced, but the balance is incorrect AND you also create a high volume of offers (> 50)
    • Workaround: manually update your derivation index in Settings -> General and let your wallet sync
  • Corrupt plots on Windows 10 on certain combinations of NVIDIA cards and drivers
    • Please only use Windows 11 to plot
  • The GUI crashes when clicking on Contacts
    • Workaround: Log out of the wallet, and log back in

Added

  • Compressed plot support
  • Add config option to accept private network addresses from introducers
  • Generate a license directory that contains licenses missing from the installers
  • 2.0 updates
  • Add DataLayer clear pending roots interfaces
  • Add get_wallet_addresses RPC for deriving wallet addresses
  • Multi threaded chia plots check
  • Hard fork 2.0
  • Add fields to BlockRecord.
  • Protocols: Introduce error protocol message
  • Add RPC client and tests for cancel_offers endpoint
  • Add sql logging config for DataLayer
  • New aggregate signature conditions
  • Timeout for retrieving a decompressor.

Changed

  • Bump SOFT_FORK3_HEIGHT to align with the next release cycle
  • Move CAT_MOD from cat_loader -> cat_utils
  • Use a more aggresive activation schedule on testnet10
  • Full_node: More set usage in subscription code
  • Rename exclude_coin_* -> excluded_coin_* for consistency
  • Add **kwargs to all generate_signed_transaction definitions
  • Full_node: Add max_height to CoinStore.get_coin_states_by_ids
  • Util: Some tweaks to StructStream and sized ints
  • Rephrase async contextmanager DBConnection to use asynccontextmanager
  • Bump chia_rs to 0.2.8
  • Bump blspy to 2.0.0 (blst)
  • Bump blspy to 2.0.1
  • Use PKCS#8 format for SSL private keys
  • Auto find setup.py packages
  • Update simulator SSL keys to PKCS#8
  • Support calling daemon commands from chia rpc CLI
  • Use latest blspy
  • Convert All CLI Commands to using async generators
  • Server: Store Handshake.software_version in connections as str
  • Cleanup CLI RPC connection error handling
  • Plot filter hard fork
  • Add DIDWallet.get_coin() to simplify DID wallet
  • Update initial-config
  • Bump chia_rs dependency to 0.2.9
  • Remove support for Python 3.7
  • Added quality lookup time info to FarmingInfo
  • Updated UI_ACTUAL_SPACE_CONSTANT_FACTOR to 0.78
  • Solution_generator
  • Added blocks_won and last_time_farmed to get_farmed_amount Wall…
  • Avoid DataLayer insert precheck
  • Report certificate errors directly for CLI connection errors
  • Remove references to old offer mod
  • Avoid DataLayer insert ancestors precheck
  • Improved pool stats handling
  • Added average_block_time to get_blockchain_state FullNode RPC API
  • Added get_keys_for_plot daemon server API
  • Added cuda and plot compression support for bladebit 3
  • Added total_effective_plot_size for get_harvesters RPC API
  • Added compression level and harvesting mode to harvester protocol/mes…
  • Farmer now returns missing signage points
  • Pass DataLayer root and generation instead of requerying
  • Update chiapos
  • Added defaults to get_harvester_config API
  • Update cuda plot log-progress mapping
  • Update install plotters scripts
  • Update chiavdf to 1.0.10
  • Bump softfork3 activation by about 2 weeks
  • Bump soft-fork3 activation height
  • Update chiapos to full release
  • Update chia_rs to 0.2.10
  • Bladebit3 as the default plotter to install
  • Use 'Completed writing plot' as the magic final words for cudaplot
  • Adjust harvester warning to 8 seconds from 5
  • Update to chiapos 2.0.2

Fixed

  • Fix .get_next_from_coin_spend on VerifiedCredential and test new puzhashes
  • Fix vcs get command when no proofs exist yet
  • Wallet: Fix missing hint in GenesisById.generate_issuance_bundle
  • Server: Fix versions for incoming connections
  • Repin clvm_tools_rs==0.1.34
  • Add reorg rollback to retry store
  • Only subscribe to inner wallet puzzle hashes
  • Rpc: Fix and test WalletRpcApi.get_coin_records_by_names
  • Full_node: uint32.MAXIMUM_EXCLUSIVE -> uint32.MAXIMUM
  • Full_node: Don't send duplicates in register_interest_in_puzzle_hash
  • Wallet: Deduplicate coin states from peers
  • Build: include puzzles packages (#15508)
  • Handle VC syncing exceptions better
  • Fix hint parsing for CATs and DIDs
  • Update build script for lerna 7
  • Fix fork height constant for simulator / block tools
  • Some NFT RPC mypy fixes
  • Clawback resync
  • Fix variable name typo
  • Fixed add lock around plot info
  • Fix Cli error when exiting on some builds of python.
  • Fix whitespace on legacy-support-policy.md
  • Cleanup & Fix Simulator Sub Epoch Logic
  • Fix flaky CAT test
  • Fix CLI indentation
  • Skip clawback incoming txs while deleting the unconfirmed txs
  • Fix initial-config for testnet fork points heights
  • Cudaplot fix
  • Fixed chia plotnft show command
  • Fixed an issue where insufficient block interval was used to calculate average block time
  • Fixed an issue where -t option was required in cudaplot
  • Add ALLOW_BACKREFS as a flag to get_puzzle_and_solution_for_coin in full_node_api.py
  • Fix clawback sender resync issue
  • Correct --insecure flag to cancel_offer command line
  • Fixed an issue where chiapos recognized t2 as required option
  • Fix DataLayer deadlock

GUI Changes

Don't miss a new chia-blockchain release

NewReleases is sending notifications on new releases.