This release will likely become the final release (EDIT: the final release was made); it has been extensively tested, but remember this is still a Release Candidate and there may still be bugs to be discovered. Typical users can shut down their node, install the new version, and start their upgraded node without issue, but it’s always best to backup everything, especially wallet.dat files, first.

As promised, BTG strives to stay in-sync with Bitcoin Core’s developing features. BTG Core v0.17.1 parallels features of Bitcoin Core v0.17.1; developers and engineers can expect to see the same changes they already experienced upgrading Bitcoin Core from version 15 to versions 16/17.

IMPORTANT: Do not use v0.17.1rc1 for in-place node upgrades in production environments without first testing and modifying! This version makes important changes to some APIs and the conf file (see release notes). Also, if you run a full transaction index (most individuals don’t choose to do this), the txindex db will be migrated, which can take many hours before the node is usable again.

Notable Changes

Compact Blocks

The most immediately important feature: Compact Blocks are fully implemented on BTG for the first time. This enhancement is critical to support Light Wallet protocols like Neutrino, which enable Lightning wallet and mobile wallet apps to work directly with the BTG network without having to download and store the whole blockchain.

Wallet Enhancements

The wallet and user interfaces now fully support Segwit addresses and full native Segwit support is enabled. All new wallets are HD-wallets (hierarchical deterministic – until now, users still had the option of making a new wallet that was not HD.)

PSBT Support

Bitcoin’s PSBT interchange format is introduced for BTG in this version, though it is not yet supported in the GUI. PSBT allows for transaction creation and signing to be coordinated among multiple parties (for hardware wallets, multisig systems, CoinJoin, etc.)

For Developers and Engineers

With this version, the RPC changes and new ‘label’ API you may know from Bitcoin Core versions 16 and 17 are now in place for your BTG nodes. Developers need to be aware that the deprecated ‘getinfo’ API is now retired in favor of more specific calls (see this about the API change) and pool operators need to be aware of the impact to stratum implementation (see this GitHub example for a guide. )

Summing Up

While this new version is not a hard fork and is not a required update (your current nodes will continue to work just fine), it will be a recommended upgrade for all users because of the many improvements. This updated version of the BTG Core Wallet delivers bug fixes, enhances performance, and delivers critical features that enable many new technologies that have been held back until now.

Looking forward as always,

The Bitcoin Gold Organization

Developers and interested parties can see the work on projects like neutrino, lnd, and other projects on the BTG project’s GitHub.