Bitcoin Core 0.20.2

Bitcoin Core installation binaries can be downloaded from bitcoincore.org and the source-code is available from the Bitcoin Core source repository.

0.20.2 版本說明

Bitcoin Core 0.20.2 版本現已發布,可從以下位置下載:

https://bitcoincore.org/bin/bitcoin-core-0.20.2/

此小版本包含各種錯誤修正和效能改善,以及更新的翻譯。

請使用 GitHub 的問題追蹤器回報錯誤:

https://github.com/bitcoin/bitcoin/issues

如需接收安全性和更新通知,請訂閱:

https://bitcoincore.org/zh_TW/list/announcements/join/

如何升級

如果您正在執行舊版本,請將其關閉。等待它完全關閉(在某些情況下可能需要幾分鐘),然後執行安裝程式(在 Windows 上)或直接複製 /Applications/Bitcoin-Qt(在 Mac 上)或 bitcoind/bitcoin-qt(在 Linux 上)。

可以直接從已達到 EOL 的 Bitcoin Core 版本升級,但如果需要遷移資料目錄,可能需要一些時間。通常支援舊版本的 Bitcoin Core 錢包。

相容性

Bitcoin Core 在使用 Linux kernel、macOS 10.12+ 和 Windows 7 及更新版本的作業系統上受到支援和廣泛測試。Bitcoin Core 也應該可以在大多數其他類 Unix 系統上運作,但在這些系統上的測試頻率較低。不建議在不受支援的系統上使用 Bitcoin Core。

從 Bitcoin Core 0.20.0 開始,不再支援 macOS 10.12 之前的版本。此外,當 macOS「深色模式」啟動時,Bitcoin Core 尚未變更外觀。

已知錯誤

生成原始碼發布(「tarball」)的過程已變更,以使其更完整,但是,此版本存在一些回歸:

  • 生成的 configure 腳本目前遺失,您需要安裝 autotools 並執行 ./autogen.sh,然後才能執行 ./configure。這與從 git 檢出時相同。

  • 不要簡單地執行 make,您應該改為執行 BITCOIN_GENBUILD_NO_GIT=1 make

重要變更

關於行為不當對等節點的變更

行為不當的對等節點(例如向我們發送無效區塊)現在在日誌輸出中被稱為被阻止的節點,因為它們沒有(也不曾)被嚴格禁止:仍然允許來自它們的入站連線,但它們被優先驅逐。

此外,對被阻止地址的處理引入了一些額外的變更:

  • 阻止地址不會在 24 小時(或 -bantime 設定)後自動超時。根據來自其他對等節點的流量,阻止可能在不確定的時間超時。

  • 阻止不會在重新啟動時持久化。

  • 沒有方法列出被阻止的地址。它們不會由 listbanned RPC 返回。該 RPC 也不再報告 ban_reason 欄位,因為 "manually added" 是唯一剩餘的選項。

  • 無法使用 setban remove RPC 命令移除阻止。如果您需要移除阻止,您可以透過停止-啟動節點來移除所有阻止。

通知變更

-walletnotify 通知現在會針對因與新區塊衝突而從 mempool 中移除的錢包交易發送。這些通知以前在 v0.19 版本之前發送,但自該版本以來已被破壞(錯誤 #18325)。

PSBT 變更

PSBT 將同時包含 segwit 輸入的非見證 utxo 和見證 utxo,以恢復與現在要求 segwit 輸入的完整先前交易的錢包軟體的相容性。仍然提供見證 utxo 以保持與依賴其存在來確定輸入是否為 segwit 的軟體的相容性。

0.20.2 變更日誌

P2P 協定和網路程式碼

  • #19620 Add txids with non-standard inputs to reject filter (sdaftuar)
  • #20146 Send post-verack handshake messages at most once (MarcoFalke)

錢包

  • #19740 Simplify and fix CWallet::SignTransaction (achow101)

RPC 和其他 API

  • #19836 Properly deserialize txs with witness before signing (MarcoFalke)
  • #20731 Add missing description of vout in getrawtransaction help text (benthecarman)

建置系統

  • #20142 build: set minimum required Boost to 1.48.0 (fanquake)
  • #20298 use the new plistlib API (jonasschnelli)
  • #20880 gitian: Use custom MacOS code signing tool (achow101)
  • #22190 Use latest signapple commit (achow101)

測試和 QA

  • #19839 Set appveyor vm version to previous Visual Studio 2019 release. (sipsorcery)
  • #19842 Update the vcpkg checkout commit ID in appveyor config. (sipsorcery)
  • #20562 Test that a fully signed tx given to signrawtx is unchanged (achow101)

Miscellaneous

  • #19192 Extract net permissions doc (MarcoFalke)
  • #19777 Correct description for getblockstats’s txs field (shesek)
  • #20080 Strip any trailing / in -datadir and -blocksdir paths (hebasto)
  • #20082 fixes read buffer to use min rather than max (EthanHeilman)
  • #20141 Avoid the use of abs64 in timedata (sipa)
  • #20756 Add missing field (permissions) to the getpeerinfo help (amitiuttarwar)
  • #20861 BIP 350: Implement Bech32m and use it for v1+ segwit addresses (sipa)
  • #22124 Update translations after closing 0.20.x on Transifex (hebasto)
  • #21471 fix bech32_encode calls in gen_key_io_test_vectors.py (sipa)
  • #22837 mention bech32m/BIP350 in doc/descriptors.md (sipa)

致謝

感謝所有直接為此版本做出貢獻的人:

  • Aaron Clauson
  • Amiti Uttarwar
  • Andrew Chow
  • Ethan Heilman
  • fanquake
  • Hennadii Stepanov
  • Jonas Schnelli
  • MarcoFalke
  • Nadav Ivgi
  • Pieter Wuille
  • Suhas Daftuar

以及所有在 Transifex 上協助翻譯的人。