btcd v0.24.0
This release is a major release that includes several general bug fixes, security bug fixes (please update!), and also a series of performance improvements that dramatically reduce the time for initial block download from ~45 hours+ to around 6 hours! With this release,btcd
now also supports BIP 155 and has gained support for pruning (--prune=MiB
).
Verifying the Release
In order to verify the release, you'll need to have gpg
or gpg2
installed on your system. Once you've obtained a copy (and hopefully verified that as well), you'll first need to import the keys that have signed this release if you haven't done so already:
curl https://raw.githubusercontent.com/lightningnetwork/lnd/master/scripts/keys/roasbeef.asc | gpg --import
Once you have the required PGP keys, you can verify the release (assuming manifest-roasbeef-v0.24.0.sig
and manifest-v0.24.0.txt
are in the current directory) with:
gpg --verify manifest-roasbeef-v0.24.0.sig manifest-v0.24.0.txt
You should see the following if the verification was successful:
gpg: Signature made Sat Dec 30 17:11:22 2023 PST
gpg: using RSA key 60A1FA7DA5BFF08BDCBBE7903BBD59E99B280306
gpg: Good signature from "Olaoluwa Osuntokun <[email protected]>" [ultimate]
That will verify the signature of the manifest file, which ensures integrity and authenticity of the archive you've downloaded locally containing the binaries. Next, depending on your operating system, you should then re-compute the sha256
hash of the archive with shasum -a 256 <filename>
, compare it with the corresponding one in the manifest file, and ensure they match exactly.
What's Changed
- Musig2: Update to 1.0.0.rc2 by @sputn1ck in #1913
- btcec/schnorr/musig2: fix BenchmarkPartialVerify by @Roasbeef in #1920
- base58: fix decoding issue by @guggero in #1923
- Update Docker documentation towards building your own image by @guiand888 in #1925
- chainhash: JSON marshal hash as string by @ffranr in #1932
- Update Dockerfile to Alpine 3.16 by @guiand888 in #1924
- Fix memory leak in connmanager by @hxw in #1576
- Update mining.md by @jagottsicher in #1938
- Sighash taproot keyspend bug fix by @Roasbeef in #1941
- btcutil/psbt: export helper functions, fix/add encoding of unknown fields by @guggero in #1942
- docs: Update Go version as per the Readme. by @hristog in #1944
- txscript: Fix typo in IsUnspendable() comment by @kcalvinalvin in #1945
- txscript: allow script builder capacity to be specified by @guggero in #1954
- Export MakeScritpNum, AsSmallInt, and IsSmallInt by @martonp in #1956
- chainhash: JSON Unmarshal hash from appropriate string. by @LindenWang01 in #1952
- psbt: add verification method for utxo data by @ziggie1984 in #1964
- txscript: fix typos by @hieblmi in #1957
- chaincfg: Update checkpoints by @kcalvinalvin in #1968
- btcd: Add memory profiling flag by @kcalvinalvin in #1953
- blockchain: Use slices when fetching utxos by @kcalvinalvin in #1972
- main: Update README.md's minimum go version by @kcalvinalvin in #1977
- Add wire.Outpoint parser from string by @GeorgeTsagk in #1879
- multi: Run gofmt on the entire repository by @kcalvinalvin in #1981
- blockchain+chaincfg: disable retargeting for regtest by @guggero in #1985
- multi: remove repetitive the by @cuishuang in #1998
- blockchain: refactor and export header validation checks by @Crypt-iQ in #1931
- btcutil: format BTC amounts with trailing zeroes by @C-Otto in #1996
- musig2: fix early nonce gen option by @sputn1ck in #2003
- fix: missing sighashtype when finalizing taproot keyspend signature by @0xEclair in #2006
- Add address field (rpc client & server) by @lindlof in #1969
- schnorr: correct rfc reference in docs by @wydengyre in #2016
- blockchain, integration, mining, main: Rolling merkle root calculation by @kcalvinalvin in #1979
- schnorr: bip-340 compliant verification by @wydengyre in #2018
- txscript/engine: add execution StepCallback by @halseth in #1980
- schnorr: bip-340 compliant signing by @wydengyre in #2022
- main, wire, blockchain, indexers, ffldb: Add pruning by @kcalvinalvin in #1971
- chainhash: add support to legacy-marshaled hashes by @Beerosagos in #2025
- rpcclient: catch shutdown signal when sending RPC requests by @yyforyongyu in #2028
- integration: add test to check prune status by @kcalvinalvin in #2043
- fix: typos in sighash.go by @kevinheavey in #2047
- Update LICENSE by @davidcardenasus in #2045
- blockchain: export CheckSerializedHeight by @Crypt-iQ in #2051
- fix: default forward port by @0xEclair in #2038
- Added tests for FutureGetBestBlockHashResult.Receive by @ClaytonNorthey92 in #2048
- Added test for client.GetChainTxStatsAsync() in rpcclient. by @ClaytonNorthey92 in #2049
- added tests for GetBestBlockHashAsync by @ClaytonNorthey92 in #2057
- blockchain, btcjson: Implement getchaintips rpc call by @kcalvinalvin in #1918
- Fix typos by @xiaolou86 in #2064
- Fix typos on signature.go by @EvanTedesco in #2065
- schnorr: simplify some signing math by @wydengyre in #2042
- Correct comments in singature.go by @jcvernaleo in #2067
- blockchain: Add ancestor optimization to finding Ancestor by @kcalvinalvin in #1688
- Update petertodd seed DNS to .net by @petertodd in #2069
- wire, netsync: change isSyncCandidate behavior by @kcalvinalvin in #2035
- make: add install and release-install goals by @guggero in #1890
- chainhash, wire, btcutil, main: Memory efficient txhash by @kcalvinalvin in #1978
- blockchain, cmd, netsync, main: Add utxocache by @kcalvinalvin in #1955
- btcutil: update to chaincfg/chainhash/v1.1.0 by @Roasbeef in #2072
- fix: enhance code comments by @threewebcode in #2074
- multi: update main package and btcutil to chainhash/v1.1.0, use optimized dsha256 by @Roasbeef in #2075
- doc: correct comments by @bodhi-crypo in #2076
- rpctest: integration test harness fixes by @guggero in #2071
- btcutil: reuse serialized tx during TxHash by @Roasbeef in #2081
- wire: only borrow/return binaryFreeList buffers at the message level by @Roasbeef in #2073
- build: create btcd v0.24 release branch by @Roasbeef in #2082
New Contributors
- @guiand888 made their first contribution in #1925
- @hxw made their first contribution in #1576
- @jagottsicher made their first contribution in #1938
- @hristog made their first contribution in #1944
- @martonp made their first contribution in #1956
- @LindenWang01 made their first contribution in #1952
- @ziggie1984 made their first contribution in #1964
- @hieblmi made their first contribution in #1957
- @GeorgeTsagk made their first contribution in #1879
- @cuishuang made their first contribution in #1998
- @C-Otto made their first contribution in #1996
- @0xEclair made their first contribution in #2006
- @wydengyre made their first contribution in #2016
- @Beerosagos made their first contribution in #2025
- @kevinheavey made their first contribution in #2047
- @davidcardenasus made their first contribution in #2045
- @ClaytonNorthey92 made their first contribution in #2048
- @xiaolou86 made their first contribution in #2064
- @EvanTedesco made their first contribution in #2065
- @petertodd made their first contribution in #2069
- @threewebcode made their first contribution in #2074
- @bodhi-crypo made their first contribution in #2076
Full Changelog: v0.23.4...v0.24.0