Bitcoin Core 0.15.0
Bitcoin Core installation binaries can be downloaded from bitcoincore.org and the source-code is available from the Bitcoin Core source repository.
Bitcoin Core 0.15.0 版本現已發布,可從以下位置下載:
https://bitcoincore.org/bin/bitcoin-core-0.15.0/
此主要版本包含新功能、各種錯誤修正和效能改善,以及更新的翻譯。
請使用 GitHub 的問題追蹤器回報錯誤:
https://github.com/bitcoin/bitcoin/issues
如需接收安全性和更新通知,請訂閱:
https://bitcoincore.org/zh_TW/list/announcements/join/
如何升級
如果您正在執行舊版本,請將其關閉。等待它完全關閉(舊版本可能需要幾分鐘),然後執行安裝程式(在 Windows 上)或直接複製 /Applications/Bitcoin-Qt(在 Mac 上)或 bitcoind/bitcoin-qt(在 Linux 上)。
第一次執行版本 0.15.0 時,您的 chainstate 資料庫將被轉換為新格式,這將花費幾分鐘到半小時不等的時間,取決於您機器的速度。
fee_estimates.dat 的檔案格式在版本 0.15.0 中已變更。因此,從版本 0.15.0 降級或升級到版本 0.15.0 將導致所有費用估算被丟棄。
請注意,區塊資料庫格式在版本 0.8.0 中也有變更,並且從 0.8 之前的版本升級到 0.15.0 沒有自動升級程式碼。不支援從 0.7.x 及更早版本直接升級而不重新下載區塊鏈。然而,如往常一樣,仍然支援舊版本的錢包。
降級警告
此版本的 chainstate 資料庫與先前版本不相容,因此如果您執行 0.15 然後決定切換回任何較舊版本,您將需要使用 -reindex-chainstate 選項執行舊版本,以舊格式重建 chainstate 資料結構。
如果您的節點已啟用修剪,這將需要重新下載和處理整個區塊鏈。
相容性
Bitcoin Core 在使用 Linux kernel、macOS 10.8+ 和 Windows Vista 及更新版本的作業系統上經過廣泛測試。不支援 Windows XP。
Bitcoin Core 也應該可以在大多數其他類 Unix 系統上運作,但在這些系統上的測試頻率較低。
0.15.0 注意事項
當前 SegWit 支援
版本 0.15.0 支援透過 addwitnessaddress RPC 添加隔離見證地址,但請注意這是一個測試/專家 RPC,不保證從備份中恢復。只有在您知道自己在做什麼時才使用此 RPC。更完整的隔離見證錢包支援將在下一個版本中提供。
使用加密錢包重新掃描
與以前的版本一樣,當使用加密的 HD 錢包時,不解鎖錢包就無法補充 keypool。這意味著目前,為了從加密 HD 錢包的備份中恢復,使用者必須使用很長的逾時解鎖錢包並手動觸發重新掃描,否則當自動補充無法執行時,他們可能會遺漏一些金鑰。不幸的是,此版本中沒有 rescan RPC,這將包含在未來版本中,因此目前可以使用其中一個 import* 命令,使用由另一個(受信任的)錢包生成的虛擬地址來觸發重新掃描。
重要變更
效能改進
版本 0.15 包含許多重大的效能改進,使初始區塊下載、啟動、交易和區塊驗證更快:
-
chainstate 資料庫從按交易模型變更為按輸出模型。驗證區塊鏈現在快 30-40%,使用記憶體減少 10-20%,磁碟寫入頻率大幅降低。磁碟資料庫大 15%。
-
改進快取使用。整個可用快取(見
-dbcache)現在實際用作快取,使寫入頻率減少 2 倍或更多。 -
快取完整腳本執行結果。如果區塊中的交易已被 mempool 接受,scriptSig 不需要重新評估。這使新區塊驗證快 40-50%。
-
LevelDB 升級到 1.20 版本。包含支援 SSE 4.2 的架構的 CRC 硬體加速。
-
SHA256 雜湊最佳化。支援的硬體上 SHA256 快約 50%,IBD 和區塊驗證快約 5%。在版本 0.15 中,SHA256 硬體最佳化在發布版本中預設停用,但可以在建置時使用
--enable-experimental-asm啟用。 -
改進 keypool 重填。建立新錢包的速度提高約 20 倍。預設 keypool 增加到 1000 個金鑰以使恢復更穩健。
費用估算改進
版本 0.15 中的費用估算已得到顯著改進,錢包使用更準確的費用估算,estimatesmartfee 和 estimaterawfee RPC 的進階使用者有更廣泛的選項。
- 內部追蹤 3 個不同的時間範圍。
- 估算可以是保守的或經濟的。保守估算使用更長的時間範圍。經濟估算使用較短的時間範圍。
- 預設情況下,錢包將使用保守的費用估算。對於標記為可替換的交易,錢包預設使用經濟估算。
- 現在可以為最多 1008 個區塊(一週)的確認目標進行估算。
estimatefeeRPC 現已棄用,支援使用estimatesmartfee。
多錢包支援
Bitcoin Core 現在支援載入多個獨立的錢包。錢包完全分離,具有獨立的餘額、金鑰和收到的交易。
透過在啟動 Bitcoin 時使用多個 -wallet 參數(在命令列或 Bitcoin 設定檔中)來啟用多錢包。
在 Bitcoin-Qt 中,只有第一個錢包將被顯示並可供建立和簽署交易。 未來版本將支援 GUI 可選擇的多個錢包。
在多錢包模式下執行時的 RPC 使用:
- 當執行單個錢包時,RPC 介面或
bitcoin-cli沒有變更。 - 執行多錢包時,節點級 RPC 方法繼續如前工作。
- 執行多錢包時,錢包級 RPC 方法必須在每個請求中指定目標錢包。HTTP RPC 請求應發送到
<RPC IP>:<RPC port>/wallet/<wallet name>端點。bitcoin-cli命令應使用-rpcwallet選項執行。 - 添加了新的節點級
listwalletsRPC 方法以顯示當前載入的錢包。
GUI 中的 Replace-by-fee 控制
在版本 0.15 中,GUI 支援建立選擇加入的 RBF 交易以及用更高費用的交易替換未確認的交易。
移除幣齡優先級
Bitcoin Core 0.15 移除了對幣齡優先級的所有剩餘支援。這有以下影響:
- 免費交易的概念已被移除。
-limitfreerelay和-relaypriority選項已被移除。 -sendfreetransactions選項已被移除。-blockprioritysize選項已被移除。estimatepriority和estimatesmartpriorityRPC 已被移除。prioritisetransactionRPC 不再接受priority_delta參數。-minrelaytxfee現在可以設定為 0。
跨重啟的 Mempool 持久性
版本 0.15 允許使用 -persistmempool 命令列選項開啟或關閉此功能。預設情況下,選項設定為 true,mempool 在關閉時儲存並在啟動時重新載入。如果設定為 false,mempool.dat 檔案將不會在啟動時載入或在關閉時儲存。
新的 RPC 方法
abortrescan停止當前錢包重新掃描。combinerawtransaction接受原始交易的 JSON 陣列並將它們組合成單個原始交易。estimaterawfee返回原始費用資料以便實作自訂邏輯。getchaintxstats返回有關鏈中交易總數和速率的統計資訊。listwallets列出當前載入的錢包。uptime返回自上次啟動以來bitcoind伺服器的總執行時間。
低階 RPC 變更
gettxoutRPC 在回應中不再有version欄位。gettxoutsetinfoRPC 報告hash_serialized_2而不是hash_serialized。estimatefeeRPC 已棄用。客戶端應切換到使用estimatesmartfeeRPC。listunspentRPC 現在接受query_options參數,該參數是包含minimumAmount、maximumAmount、maximumCount、minimumSumAmount成員的 JSON 物件。dumpwalletRPC 現在返回轉儲錢包的完整絕對路徑。getblock的verbose參數已重新命名為verbosity並現在接受從 0 到 2 的整數。
0.15.0 變更日誌
完整的變更日誌包含超過 500 個 PR,涵蓋 RPC 和其他 API、區塊和交易處理、P2P 協定和網路程式碼、驗證、建置系統、GUI、錢包、測試和 QA 等方面。由於篇幅限制,請參閱原始版本說明以獲取完整清單。
致謝
感謝所有直接為此版本做出貢獻的超過 120 位貢獻者。完整清單請參閱原始版本說明。
以及所有在 Transifex 上協助翻譯的人。
