Skip to content

Releases: Chia-Network/chia-blockchain

1.0beta5

06 May 04:12
0eae1e0
Compare
Choose a tag to compare

Beta 1.5

  1. This release is primarily a maintenance release for Beta 1.4. There was a regression in Chia Proof of Space (chiapos) that came from our efforts to speed up plotting on Windows native. Now k>=32 plots work correctly. We made additional bug fixes and corrected limiting small k size generation.

  2. We have implemented a workaround for the chia start issues some were having upon crash or reboot. We will be rebuilding start and stop to be robust across platforms. This release re-includes chia-start-harvester.

  3. Coloured coins now have a prefix to help identify them. When sending transactions, the new prefix is incompatible with older clients. Additionally, the user interface now refers to chia coins with their correct currency code of XCH.

  4. We have made significant changes to the full node database to make it more reliable and quicker to restart. This requires re-syncing the current chain. If you use chia init then sync on first start will happen automatically. "$CHIA_ROOT" users will need to delete $CHIA_ROOT/db/* before starting Beta 1.5. This also fixes the simulation issue in Beta 1.4 where tips could go "back in time."

  5. We have added an option to chia-create-plots to specify the second temporary directory. Creating a plot is a three step process. First a working file ending in .dat.tmp is created. This file is usually 5 times larger than the final plot file. In the later stages of plotting a second temp file is created ending in .dat.2.tmp which will grow to the size of the final plot file. In the final step, the .dat.2.tmp is copied to the final .dat plot file. You can now optionally set the directory for the .dat.2.tmp file with the -2 flag. An example use case is plotting on a ramdisk and writing both the second temp file and the final file out to an SSD - chia-create-plots -n 1 -k 30 -t /mnt/ramdisk -2 /mnt/SSD -d /mnt/SSD.

  6. There was a bug in Timelord handling that could stop all VDF progress.

  7. chia init properly migrates from previous versions including the k>=32 workaround. Additionally, the farming target key is checked to make sure that it is the valid and correct public key format.

Known issues

  1. uPnP support on Windows may be broken. However, Windows nodes will be able to connect to other nodes and, once connected, participate fully in the network.

  2. Currently, there is no way to restore a Coloured Coin Wallet.

1.0beta4

30 Apr 00:27
2fc2caf
Compare
Choose a tag to compare

Beta 1.4

  1. This release adds Coloured coin support with offers. Yes that is the correct spelling. Coloured coins allow you to issue a coin, token, or asset with nearly unlimited issuance plans and functionality. They support inner smart transactions so they can inherit any of the other functionality you can implement in Chialisp. Offers are especially cool as they create a truly decentralized exchange capability. Read much more about them in Bram's blog post on Coloured coins.

  2. This release adds support for native Windows via a (mostly) automated installer and MacOS Mojave. Windows still requires some PowerShell command line use. You should expect ongoing improvements in ease of install and replication of the command line tools in the GUI. Again huge thanks to @dkackman for continued Windows installer development. Native Windows is currently slightly slower than the same version running in WSL 2 on the same machine for both block verification and plotting. We made some speed improvements that positively affected all platforms while trying to increase plotting speed in Windows.

  3. This release breaks the wire protocol so it comes with a new chain. As we merged in Coloured coins we found that we needed to change how certain hashes were managed. Your 1.0beta3 coin balances will be lost when you upgrade but your plots will continue to work on the 1.0beta4 chain. Since we had to make a breaking wire protocol change we accelerated changing our hash to prime function for starting proofs of time. That was also going to be a future breaking change.

  4. The graphical Full Node display now shows the expected finish times of each of the prospective chain tips.

  5. Now you can run estimates of the total space currently farming the network. Try chia netspace -d 12 to run an estimate over the last 12 blocks which is approximately 1 hour.

  6. Most scripts have been removed in favor of chia action commands. You can run chia version or chia start node for example. Just running chia will show you more options. However chia-create-plots continues to use the hyphenated form. Also it's now chia generate keys as another example.

  7. Chia start commands like chia start farmer and chia stop node now keep track of process IDs in a run/ directory in your configuration directory. chia stop is unlikely to work on Windows native for now. If chia start -r node doesn't work you can force the run/ directory to be reset with chia start -f node.

  8. We’ve added TLS authentication for incoming farmer connections. TLS certs and keys are generated during chia init and only full nodes with your keys will be able to connect to your Farmer. Also, Harvester, Timelord, and Wallet will now not accept incoming connections which reduces the application attack surface.

  9. The node RPC has a new endpoint get_header_by_height which allows you to retrieve the block header from a block height. Try chia show -bh 1000 to see the block header hash of block 1000. You can then look up the block details with chia show -b f655e1a9f7f8c89a703e40d9ce82ae33508badaf7b37fa1a56cad27926b5e936 which will look up a block by it's header hash.

  10. Our Windows binaries check the processor they are about to run on at runtime and choose the best processor optimizations for our MPIR VDF dependency on Windows.

  11. Most of the content of README.md and INSTALL.md have been moved to the repository wiki and placed in INSTALL and Quick Start Guide

  12. Harvester is now asynchronous and will better be able to look up more plots spread across more physical drives.

  13. Full node startup time has been sped up significantly by optimizing the loading of the blockchain from disk.

We suggest you take a look at our Upgrading documentation if you aren't performing a new install.

Known issues

  1. Plots of k>=32 are not working for farming, and some broken plots can cause a memory leak. A workaround is available.

  2. If you are running a simulation, blockchain tips are not saved in the database and this is a regression. If you stop a node it can go back in time and cause an odd state. This doesn't practically effect testnet participation as, on restart, node will just sync up a few blocks to the then current tips.

  3. uPnP support on Windows may be broken. However, Windows nodes will be able to connect to other nodes and, once connected, participate fully in the network.

  4. Coins are not currently reserved as part of trade offers and thus could potentially be spent before the offer is accepted resulting in a failed offer transaction.

  5. Currently, there is no way to restore a Coloured Coin Wallet.

  6. 'chia stop all' command sometimes fails, use 'chia-stop-all' instead. In windows, use the task manager to stop the servers.

1.0beta3

09 Apr 04:34
51ab626
Compare
Choose a tag to compare

1.0 Beta 3

  1. Windows, WSL 2, Linux and MacOS installation is significantly streamlined. There is a new Windows installer for the Wallet GUI (huge thanks to @dkackman). In addition all installs can now be from the source repository or just the binary dependencies on WSL 2, most modern Linuxes, and MacOS Catalina. Binary support is for both Python 3.7 and 3.8.

  2. There is a new migration tool to move from Beta1 (or 2) to Beta3. It should move everything except your plots. There is also a new command chia init that will migrate files and generate your initial configuration. If you want to use the Wallet or farm, you will also have to chia-generate-keys. You can read step by step instructions for upgrading from a previous beta release. If you've set $CHIA_ROOT you will have to make sure your existing configuration remains compatible manually.

  3. Wallet has improved paper wallet recovery support. We now also support restoring old wallets with only the wallet_sk and wallet_target. Beta3's Wallet will re-sync from scratch. You should not copy over any prior Wallet database as they are not compatible with Beta3. Your existing full node will not have to re-sync and its database remains compatible.

  4. chia-restart-harvester has been renamed from chia-start-harvester to better reflect its functionality. Use it to restart a harvester that's farming so that it will pick up newly finished plots.

  5. Among a lot of bug fixes was removing a regression that slowed plotting on MacOS by 3 times and may have had smaller impacts on plotting speed on other platforms. We've also removed some race conditions in the Wallet, resolved the "invalid blocks could disconnect farmers" bug, and upped the default tls certificate size to 2048 for some unhappy operating systems.

  6. We've made lots of little improvements that should speed up node syncing, added full block lookup to chia show, have farmers reconnect to their trusted node if they lose contact, and made the Wallet configurable to connect to a remote trusted node.

Known issues

  1. Windows native is close but not here yet. Also, we should be adding back MacOS Mojave support shortly.

  2. So why is this Beta 3 you're wondering? Well, we're getting used to our new release management tools and a hotfix devoured our beta2 nomenclature...

  3. If you previously used the plot_root variable in config, your plot directory names might not migrate correctly. Please double check the filenames in ~/.chia/beta-1.0b3/config/plots.yaml after migrating

1.0beta1

02 Apr 21:31
Compare
Choose a tag to compare

Beta 1.0

  1. There is now full transaction support on the Chia blockchain. In this initial Beta 1.0 release, all transaction types are supported though the wallets and UIs currently only directly support basic transactions like coinbase rewards and sending coins while paying fees. UI support for our smart transactions will be available in the UIs shortly.

  2. Wallet and Node GUI’s are available on Windows, Mac, and desktop Linux platforms. We now use an Electron UI that is a full light client wallet that can also serve as a node UI. Our Windows Electron Wallet can run standalone by connecting to other nodes on the network or another node you run. WSL 2 on Windows can run everything except the Wallet but you can run the Wallet on the native Windows side of the same machine. Also the WSL 2 install process is 3 times faster and much easier. Windows native node/farmer/plotting functionality are coming soon. Install is significantly easier with less dependencies on all supported platforms.

  3. We have revamped the chia management command line. To start a farmer all you have to do is start the venv with . ./activate and then type chia-start-farmer &. The README.md has been updated to reflect the new commands. The ssh ui and web ui are removed in favor of the cli ui and the Electron GUI. To mimic the ssh ui try chia show -s -c.

  4. If you’re a farmer you can use the Wallet to keep track of your earnings. Either use the same keys.yaml on the same machine or copy the keys.yaml to another machine where you want to track of and spend your coins.

  5. We have moved all node to node communication to TLS 1.3 by default. For now, all TLS is unauthenticated but certain types of over the wire node to node communications will have the ability to authenticate both by certificate and by inter protocol signature. Encrypting over the wire by default stops casual snooping of transaction origination, light wallet to trusted node communication, and harvester-farmer-node communication for example. This leaves only the mempool and the chain itself open to casual observation by the public and the various entities around the world.

  6. Configuration directories have been moved to a default location of HomeDirectory/.chia/release/config, plots/ db/, wallet/ etc. This can be overridden by export CHIA_ROOT=~/.chia for example which would then put the plots directory in HomeDirectory/.chia/plots.

  7. The Beta release is not compatible with the history of the Alpha blockchain and we will be ceasing support of the Alpha chain approximately two weeks after the release of this Beta. However, your plots and keys are fully compatible with the Beta chain. Please save your plot keys! Examples of how to save your keys and upgrade to the Beta are available on the repo wiki.

  8. The libraries chia-pos, chia-fast-vdf, and chia-bip-158 have been moved to their own repositories: chiapos, chiavdf, chaibip158. They are brought in by chia-blockchain at install time. Our BLS signature library remains at bls-signatures.

  9. We have continued to make improvements to the speed of VDF squaring, creating a VDF proof, and verifying a VDF proof.

Known issues

  1. Wallet currently has limited support for restoring from a paper wallet. Wallet uses hierarchically deterministic keys, and assumes that any keys that are at index "higher than one" have not been used yet. If you have received a payment to an address associated with a key at a higher index and you want it to appear in Wallet, the current work around is to press the "NEW ADDRESS" button multiple times shortly after sync start. That will make wallet "aware of" addresses at higher indexes. Full support for paper wallet restoration will be added soon.

  2. We. Don't... Have.. Windows.... Native. YET!?! But the entire project is compiling on Windows 10 natively. Assistance would be more than appreciated if you have experience building binary python wheels for Windows. We are pushing some limits like uint-128, avx-2, avx-512, and AES-NI so it's not as easy as it looks...

Upgrading

  1. If you’re upgrading from Alpha and want to keep your plots, see Upgrading from Alpha to Beta in the repo wiki.

Alpha 1.5.1

24 Mar 17:50
02e9695
Compare
Choose a tag to compare

Fixed a bug in harvester that caused plots not to be farmed.

Alpha 1.5

19 Mar 00:37
f93095d
Compare
Choose a tag to compare

Alpha 1.5

  1. You can now provide an index to create_plots using the -i flag to create an arbitrary new plot derived from an existing plot key. Thanks @xorinox.
  2. There is a new restart_harvester.sh in scripts/ to easily restart a harvester when you want to add a newly completed plot to the farm without restarting farmer, fullnode, timelord, etc.
  3. Harvesters now log errors if they encounter a malformed or corrupted plot file. Again thanks @xorinox.
  4. New AJAX based full node UI. To access go to http://127.0.0.1:8555/index.html with any modern web browser on the same machine as the full node.
  5. VDF verification code is improved and is now more paranoid.
  6. Timelords can now be run as a cluster of VDF client instances around a central Timelord instance.. Instructions are available in the Cluster Timelord section of the repo wiki.
  7. If you want to benchmark your CPU as a VDF you can use vdf_bench square_asm 500000 for the assembly optimized test or just vdf_bench square 500000 for the plain C++ code path. This tool is found in lib/chiavdf/fast_vdf/.
  8. Improvements to shutting down services in all of the scripts in scripts/. Another @xorinox HT.
  9. Thanks @dkackman for clean ups to the proof of space code.
  10. Thanks to @davision for some typo fixes.

Alpha 1.4.1

07 Mar 04:07
07951ab
Compare
Choose a tag to compare

Fix stack overflow in verifier

Alpha 1.4

20 Feb 04:39
bdd52e7
Compare
Choose a tag to compare
  1. Compiling and execution now detect AES-NI, or a lack of it, and fall back to a software AES implementation. This adds support for Raspberry Pi 4, related ARM processors and Celeron processors.
  2. Added install instructions for CentOS/RHEL 8.1. Thanks to @A-Caccese for fixes to Windows WSL instructions.
  3. Due to changes to the sqlite database that are not backwards compatible, re-synch will be required. Loading the blockchain only loads headers into memory instead of header blocks (header + proofs), speeds up the startup, and reduces normal operation memory usage by 80%. Memory access is now synchronous to reduce use of locks and speed up block processing.
  4. Chia fullnode, farmer and harvester now default to logging to chia.log in the chia-blockchain directory. This is configured in config.yaml and due to config.yaml changes it is recommended to edit the new template config instead of using older config.yaml’s from previous versions.
  5. Plotting working directory and final directory can both be specified in config.yaml
  6. uvloop is now an optional add on.
  7. Plotting now logs a timestamp at each major step. Thanks @dkackman who also fixed some compiler warnings. Additionally harvester/farmer will not try to farm plots that they don’t have the key for.
  8. Added support for Python 3.8.

Alpha 1.3

22 Jan 01:56
4eebd09
Compare
Choose a tag to compare
  1. FullNode performance improvements - Syncing up to the blockchain by importing all blocks is faster due to improvements in VDF verification speed and multithreading block verification. Also fixed a bug where the node may not sync if it restarts close to a tip.

  2. VDF improvements - VDF verification and generation speed has increased and dependence on flint2 has been removed. We wish to thank Dr. William Hart (@wbhart) for dual licensing parts of his contributions in FLINT and Antic for inclusion in the Chia blockchain.

  3. Implemented an RPC interface with JSON serialization for streamables - currently on port 8555 - and moved the ssh UI to use RPC.

  4. Mongodb deprecated. Moved to SQLite for the blockchain database. This will require nodes to re-sync with the network. Luckily this is now faster.

  5. Changed the displayed process names for harvester, farmer, fullnode, timelords, and VDFs to to chia_full node, chia_harvester, etc. Fixed a bug that could cause inadvertent shutdown of other processes like an ongoing plotting session when new chia services were started.

  6. Added details on how to contribute in CONTRIBUTING.md. Thanks @RichardLitt. Also moved documentation from inside the repository to the wiki.

  7. Added color logging and now chia_harvester will periodically announce which plots it is currently farming and their k sizes.

  8. Fixed a typo in the UI. Hat tip to @lvcivs for the pr.

  9. Clarified the minimum version of boost required to build timelord/VDFs. Hat tip @AdrianScott

  10. Lots of smaller bug and documentation fixes.

Alpha-1.0

05 Dec 18:31
aea467a
Compare
Choose a tag to compare
Alpha-1.0 Pre-release
Pre-release

This is the first release of the Chia testnet! Blockchain consensus, proof of time, and proof of space are included.
More details on the release at https://www.chia.net/developer/