Skip to content

Commit

Permalink
Merge branch 'main' of github.com:freddiecoleman/chia-blockchain into…
Browse files Browse the repository at this point in the history
… fc.get_block_spends
  • Loading branch information
freddiecoleman committed Mar 13, 2022
2 parents 5e857ff + 773d692 commit 58baa04
Show file tree
Hide file tree
Showing 135 changed files with 4,031 additions and 2,861 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/build-linux-installer-deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ jobs:
- name: Cleanup any leftovers that exist from previous runs
run: bash build_scripts/clean-runner.sh || true

- uses: Chia-Network/actions/enforce-semver@main
if: startsWith(github.ref, 'refs/tags/')

- name: Setup Python environment
uses: actions/setup-python@v2
with:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/build-linux-installer-rpm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ jobs:
- name: Cleanup any leftovers that exist from previous runs
run: bash build_scripts/clean-runner.sh || true

- uses: Chia-Network/actions/enforce-semver@main
if: startsWith(github.ref, 'refs/tags/')

# Create our own venv outside of the git directory JUST for getting the ACTUAL version so that install can't break it
- name: Get version number
id: version_number
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-test-macos-core-full_node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
build:
name: MacOS core-full_node Tests
runs-on: ${{ matrix.os }}
timeout-minutes: 40
timeout-minutes: 50
strategy:
fail-fast: false
max-parallel: 4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-test-macos-wallet-cat_wallet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
build:
name: MacOS wallet-cat_wallet Tests
runs-on: ${{ matrix.os }}
timeout-minutes: 30
timeout-minutes: 50
strategy:
fail-fast: false
max-parallel: 4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-test-ubuntu-core-full_node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
build:
name: Ubuntu core-full_node Test
runs-on: ${{ matrix.os }}
timeout-minutes: 40
timeout-minutes: 50
strategy:
fail-fast: false
max-parallel: 4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-test-ubuntu-wallet-cat_wallet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
build:
name: Ubuntu wallet-cat_wallet Test
runs-on: ${{ matrix.os }}
timeout-minutes: 30
timeout-minutes: 50
strategy:
fail-fast: false
max-parallel: 4
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ repos:
rev: v0.930
hooks:
- id: mypy
additional_dependencies: [pytest, pytest-asyncio, types-aiofiles, types-click, types-setuptools, types-PyYAML]
additional_dependencies: [filelock, pytest, pytest-asyncio, types-aiofiles, types-click, types-setuptools, types-PyYAML]
# This intentionally counters the settings in mypy.ini to allow a loose local
# check and a strict CI check. This difference may or may not be retained long
# term.
Expand Down
113 changes: 67 additions & 46 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,78 +6,98 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project does not yet adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
for setuptools_scm/PEP 440 reasons.

## 1.3.0 Beta Chia blockchain 2021-2-10
## [Unreleased]

We at Chia have been working hard to bring all of our new features together into one easy-to-use release. Today, we’re proud to announce the beta release of our 1.3 client. Because this release is still in beta, we recommend that you only install it on non mission-critical systems. If you are running a large farm, you should wait for the full 1.3 release before upgrading. When will the full version of 1.3 be released? Soon.

## 1.3.0 Chia blockchain 2022-3-07

### Added:

- CAT wallet support - add wallets for your favorite CATs
- Offers - make, take, and share your offers
- Integrated light wallet sync - to get you synced up faster while your full node syncs
- Wallet mode - Access just the wallet features to make and receive transactions
- Farmer mode - All your farming tools, and full node, while getting all the benefits of the upgraded wallet features
- New v2 DB - improved compression for smaller footprint
- Key derivation tool via CLI - lets you derive wallet addresses, child keys, and also search your keys for arbitrary wallet addresses/keys
- Light wallet data migration - CAT wallets you set up and your offer history will be carried over
- The farmer will report version info in User-Agent field for pool protocol (Thanks @FazendaPool)
- Added new RPC, get_version, to the daemon to return the version of Chia (Thanks @dkackman)
- CAT wallet support - add wallets for your favorite CATs.
- Offers - make, take, and share your offers.
- Integrated lite wallet sync - to get you synced up faster while your full node syncs.
- Wallet mode - Access just the wallet features to make and receive transactions.
- Farmer mode - All your farming tools, and full node, while getting all the benefits of the upgraded wallet features.
- New v2 DB - improved compression for smaller footprint (the v2 DB is created alongside the v1 DB. Please be sure to have enough disk space before executing the DB upgrade command).
- Key derivation tool via CLI - lets you derive wallet addresses, child keys, and also search your keys for arbitrary wallet addresses/keys.
- Lite wallet data migration - CAT wallets you set up and your offer history will be carried over.
- The farmer will report version info in User-Agent field for pool protocol (Thanks @FazendaPool).
- Added new RPC, get_version, to the daemon to return the version of Chia (Thanks @dkackman).
- Added new config.yaml setting, reserved_cores, to specify how many cores Chia will not use when launching process pools. Using 0 will allow Chia to use all cores for process pools. Set the default to 0 to allow Chia to use all cores. This can result in faster syncing and better performance overall especially on lower-end CPUs like the Raspberry Pi4.
- Added new RPC, get_logged_in_fingerprint, to the wallet to return the currently logged in fingerprint.
- Added new CLI option, chia keys derive, to allow deriving any number of keys in various ways. This is particularly useful to do an exhaustive search for a given address using chia keys derive search.
- Div soft fork block height set to 2,300,000
- Div soft fork block height set to 2,300,000.
- Added the ability to add an optional fee for creating and changing plot NFTs.
- Added *multiprocessing_start_method:* entry in config.yaml that allows setting the python *start method* for multiprocessing (default is *spawn* on Windows & MacOS, *fork* on Unix).
- Added option to "Cancel transaction" accepted offers that are stuck in "pending".

### Changed:

- Light wallet client sync updated to only require 3 peers instead of 5
- Only CATs from the default CAT list will be automatically added, all other unknown CATs will need to be manually added
- New sorting pattern for offer history - Open/pending offers sorted on top ordered by creation date > confirmation block height > trade id, and then Confirmed and Cancelled offers sorted by the same order
- When plotting multiple plots with the GUI, new items are taken from the top of the list instead of the bottom
- CA certificate store update
- VDF, chiapos, and blspy workflows updated to support python 3.10 wheels
- Lite wallet client sync updated to only require 3 peers instead of 5.
- Only CATs from the default CAT list will be automatically added, all other unknown CATs will need to be manually added (thanks to @ojura, this behavior can be toggled in config.yaml).
- New sorting pattern for offer history - Open/pending offers sorted on top ordered by creation date > confirmation block height > trade id, and then Confirmed and Cancelled offers sorted by the same order.
- When plotting multiple plots with the GUI, new items are taken from the top of the list instead of the bottom.
- CA certificate store update.
- VDF, chiapos, and blspy workflows updated to support python 3.10 wheels.
- We now store peers and peer information in a serialized format instead of sqlite. The new files are called peers.dat and wallet_peers.dat. New settings peers_file_path and wallet_peers_file_path added to config.yaml.
- CLI option chia show will display the currently selected network (mainnet or testnet)
- CLI option chia plots check will display the Pool Contract Address for Portable (PlotNFT) plots
- Thanks to @cross for adding the ability to resolve IPv6 from hostnames in config.yaml. Added new config option prefer_ipv6 to toggle whether to resolve to IPv6 or IPv4. Default is false (IPv4)
- CLI option chia show will display the currently selected network (mainnet or testnet).
- CLI option chia plots check will display the Pool Contract Address for Portable (PlotNFT) plots.
- Thanks to @cross for adding the ability to resolve IPv6 from hostnames in config.yaml. Added new config option prefer_ipv6 to toggle whether to resolve to IPv6 or IPv4. Default is false (IPv4).
- The default timeout when syncing the node was increased from 10 seconds to 30 seconds to avoid timing out when syncing from slower peers.
- TLS 1.2 is now the minimum required for all communication including peer-to-peer. The TLS 1.2 allowed cipher list is set to: "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
- TLS 1.2 is now the minimum required for all communication including peer-to-peer. The TLS 1.2 allowed cipher list is set to: "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256".
- In a future release the minimum TLS version will be set to TLS 1.3. A warning in the log will be emitted if the version of openssl in use does not support TLS 1.3. If supported, all local connections will be restricted to TLS 1.3.
- The new testnet is testnet10
- Switch to using npm ci from npm install in the GUI install scripts
- The new testnet is testnet10.
- Switch to using npm ci from npm install in the GUI install scripts.
- Improved sync performance of the full node by doing BLS validation in separate processes.
- Default log rotation was changed to 50MiB from 20MiB - added config.yaml setting log_maxbytesrotation to configure this.
- Thanks to @cross for an optimization to chiapos to use rename instead of copy if the tmp2 and final files are on the same filesystem.
- Updated to use chiapos 1.0.9
- Updated to use blspy 1.0.8
- Implemented a limit to the number of PlotNFTs a user can create - with the limit set to 20. This is to prevent users from incorrectly creating multiple PlotNFTs. This limit can be overridden for those users who have specific use cases that require more than 20 PlotNFTs
- Updated to use chiapos 1.0.9.
- Updated to use blspy 1.0.8.
- Implemented a limit to the number of PlotNFTs a user can create - with the limit set to 20. This is to prevent users from incorrectly creating multiple PlotNFTs. This limit can be overridden for those users who have specific use cases that require more than 20 PlotNFTs.
- Removed the option to display "All" rows per page on the transactions page of the GUI.
- Updated the background image for the MacOS installer.
- Changed the behavior of what info is displayed if the database is still syncing.
- It should not be expected that wallet info, such as payout address, should not reflect what their desired values until everything has completed syncing.
- The payout instructions may not be editable via the GUI until syncing has completed.

### Fixed:

- Offer history limit has been fixed to show all offers now instead of limiting to just 49 offers
- Fixed issues with using madmax CLI options -w, -G, -2, -t and -d (Issue 9163) (thanks @randomisresistance and @lasers8oclockday1)
- Fixed issues with CLI option –passhrase-file (Issue 9032) (thanks @moonlitbugs)
- Fixed issues with displaying IPv6 address in CLI with chia show -c
- Thanks to @chuwt for fix to looping logic during node synching
- Fixed the chia-blockchain RPM to set the permission of chrome-sandbox properly
- Offer history limit has been fixed to show all offers now instead of limiting to just 49 offers.
- Fixed issues with using madmax CLI options -w, -G, -2, -t and -d (Issue 9163) (thanks @randomisresistance and @lasers8oclockday1).
- Fixed issues with CLI option –passhrase-file (Issue 9032) (thanks @moonlitbugs).
- Fixed issues with displaying IPv6 address in CLI with chia show -c.
- Thanks to @chuwt for fix to looping logic during node synching.
- Fixed the chia-blockchain RPM to set the permission of chrome-sandbox properly.
- Fixed issues where the wallet code would not generate enough addresses when looking for coins, which can result in missed coins due to the address not being checked. Deprecated the config setting initial_num_public_keys_new_wallet. The config setting initial_num_public_keys is now used in all cases.
- Thanks to @risner for fixes related to using colorlog
- Fixed issues in reading the pool_list from config if set to null
- Fixed display info in CLI chia show -c when No Info should be displayed
- Thanks to @madMAx42v3r for fixes in chiapos related to a possible race condition when multiple threads call Verifier::ValidateProof
- Thanks to @PastaPastaPasta for some compiler warning fixes in bls-signatures
- Thanks to @random-zebra for fixing a bug in the bls-signature copy assignment operator
- Thanks to @lourkeur for fixes in blspy related to pybind11 2.8+
- Thanks to @nioos-ledger with a fix to the python implementation of bls-signatures
- Thanks to @risner for fixes related to using colorlog.
- Fixed issues in reading the pool_list from config if set to null.
- Fixed display info in CLI chia show -c when No Info should be displayed.
- Thanks to @madMAx43v3r for fixes in chiapos related to a possible race condition when multiple threads call Verifier::ValidateProof.
- Thanks to @PastaPastaPasta for some compiler warning fixes in bls-signatures.
- Thanks to @random-zebra for fixing a bug in the bls-signature copy assignment operator.
- Thanks to @lourkeur for fixes in blspy related to pybind11 2.8+.
- Thanks to @nioos-ledger with a fix to the python implementation of bls-signatures.
- Thanks to @yan74 for help debugging a race condition writing to config.yaml during beta.
- Fixed issue where the DB could lose the peak of the chain when receiving a compressed block.
- Fixed showing inbound transaction after an offer is cancelled.
- Fixed blockchain fee "Value seems high" message showing up when it shouldn't.
- Bugs in pool farming where auth key was being set incorrectly, leading to invalid signature bugs.
- Memory leak in the full node sync store where peak hashes were stored without being pruned.
- Fixed a timelord issue which could cause a few blocks to not be infused on chain if a certain proof of space signs conflicting blocks.

### Known Issues:

- When you are adding plots and you choose the option to “create a Plot NFT”, you will get an error message “Initial_target_state” and the plots will not get created
- When you are adding plots and you choose the option to “create a Plot NFT”, you will get an error message “Initial_target_state” and the plots will not get created.
- Workaround: Create the Plot NFT first in the “Pool” tab, and then add your plots and choose the created plot NFT in the drop down.
- If you are installing on a machine for the first time, when the GUI loads and you don’t have any pre-existing wallet keys, the GUI will flicker and not load anything.
- Workaround: close and relaunch the GUI
- When you close the Chia app, regardless if you are in farmer mode or wallet, the content on the exit dialog isn’t correct
- When you close the Chia app, regardless if you are in farmer mode or wallet, the content on the exit dialog isn’t correct.
- If you start with wallet mode and then switch to farmer mode and back to wallet mode, the full node will continue to sync in the background. To get the full node to stop syncing after switching to wallet mode, you will need to close the Chia and relaunch the Chia app.
- Wallets with large number of transactions or large number of coins will take longer to sync (more than a few minutes), but should take less time than a full node sync. It could fail in some cases.
- Huge numbers cannot be put into amount/fee input for transactions in the GUI.
- Some Linux systems experience excessive memory usage with the value *default*/*python_default*/*fork* configured for *multiprocessing_start_method:*. Setting this value to *spawn* may produce better results, but in some uncommon cases, is know to cause crashes.
- Sending a TX with too low of a fee can cause an infinite spinner in the GUI when the mempool is full.
- Workaround: Restart the GUI, or clear unconfirmed TX.
- Claiming rewards when self-pooling using CLI will show an error message, but it will actually create the transaction.


## 1.2.11 Chia blockchain 2021-11-4

Expand Down Expand Up @@ -113,6 +133,7 @@ This release also includes several important performance improvements as a resul

- PlotNFT transactions via CLI (e.g. `chia plotnft join`) now accept a fee parameter, but it is not yet operable.


## 1.2.10 Chia blockchain 2021-10-25

We have some great improvements in this release: We launched our migration of keys to a common encrypted keyring.yaml file, and we secure this with an optional passphrase in both GUI and CLI. We've added a passphrase hint in case you forget your passphrase. More info on our [wiki](https://github.com/Chia-Network/chia-blockchain/wiki/Passphrase-Protected-Chia-Keys-and-Key-Storage-Migration). We also launched a new Chialisp compiler in clvm_tools_rs which substantially improves compile time for Chialisp developers. We also addressed a widely reported issue in which a system failure, such as a power outage, would require some farmers to sync their full node from zero. This release also includes several other improvements and fixes.
Expand Down
Loading

0 comments on commit 58baa04

Please sign in to comment.