Bitcoin Core 0.15.1
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.1 は以下から入手可能です。
https://bitcoincore.org/bin/bitcoin-core-0.15.1/
もしくは
https://bitcoin.org/bin/bitcoin-core-0.15.1/
これはさまざまなバグフィックスやパフォーマンスの改善、更新された翻訳を含む新しいマイナーバージョンリリースです。
バグを発見した場合はGitHubのIssue Trackerを使用して報告してください。
https://github.com/bitcoin/bitcoin/issues
セキュリティやアップデートの通知を受け取りたい場合は、以下に登録してください。
https://bitcoincore.org/en/list/announcements/join/
アップグレード方法
旧バージョンを起動している場合はシャットダウンしてください。
完全にシャットダウンするのを待ってから(旧バージョンでは数分かかるかもしれません)、
Windowsの場合はインストーラーを実行、Macの場合は/Applications/Bitcoin-Qt
を上書き、
Linuxの場合はbitcoind
/bitcoin-qt
を上書きしてください。
初めてバージョン0.15.0を実行すると、chainstateデータベースが新しいフォーマットに変換されます。 これにはマシンの速度に応じて、数分から30分かかります。
fee_estimates.dat
のフォーマットがバージョン0.15.0で変更されました。
そのため、バージョン0.15へのアップグレードやバージョン0.15からダウングレードを行うとこれまでの手数料算出データは破棄されます。
blockデータベースのフォーマットも0.8.0から変更されており、0.8より前のバージョンからバージョン0.15.0に自動アップグレードするコードはありません。 0.7.xやそれより前のバージョンからアップグレードする場合、再度ブロックチェーンのダウンロードが必要です。 しかし、古いウォレットバージョンは引き続きサポートされます。
ダウングレードの警告
このリリースのchainstateデータベースは、前のリリースと互換性がありません。
そのため0.15.0を実行しており、前のバージョンに戻す場合は、旧バージョンを-reindex-chainstate
オプションを付与して実行し、
chainstateのデータ構造を旧フォーマットで再構築する必要があります。
もしノードでプルーニングが有効になっている場合は、ブロックチェーンの全データを再ダウンロードして処理することになります。
互換性
Bitcoin CoreはLinuxカーネルやmacOS 10.8以降、Windows Vista以降などの複数のオペレーティングシステムで幅広くテストされています。 Windows XPはサポートされていません。
Bitcoin Coreは他のほとんどのUnixライクなシステムで動作するはずですが、それらで頻繁にテストはされていません。
主な変更点
ネットワークフォークの安全性強化
ブロックチェーンのフォークや異なる動作をするピアに対する安全対策として、Bitcoin Coreのピア接続と無効ブロックを処理する方法がいくつか変更されています。
-
minimum-chain-workより作業量の少ない不要なブロックは、tipより多くの作業があっても処理されなくなりました(tipが低作業量である場合のIBDの潜在的な問題)。 これによりピアがノードのリソースを無駄にするのを防ぎます。
-
IBD中にminimum-chain-workより少ない作業量を提供するピアはすぐに切断されます。
-
アウトバウンドピアに対しては、そのピアのベストブロックが少なくとも私達のピアのtipど同じくらいの作業をしているかどうかチェックします。 同様の作業量がなく20分のタイムアウト後も充分な作業をしているブロックが見当たらない場合、1つのgetheadersメッセージを送信し、さらに2分待ちます。 2分後にまたそのベストブロックの作業が不十分な場合、そのピアとの接続を切断します。このアルゴリズムの結果、過剰なネットワークトポロジーの変更が発生しないよう、 このロジックによって切断されない4つのアウトバウンドピアを確保し、偽のチェーン上にはない合理的なノードの数を確保します。
-
(BIP 152ではブロックの完全な検証が終わる前にCompact Blockを中継することが明示的に許可されているため、Compact Block以外のアナウンスにおいて) アウトバウンドピアが既に無効であることが分かっているブロックヘッダを提供した場合、接続が切断されます。
-
チェーンのtipが30分以上前進していない場合、tipが古いとみなし、追加のアウトバウンドピアに接続しようとします。 定期的なチェックにより、この追加のピア接続がされている場合、直近で新しいブロックのアナウンスが少ないピアとの接続を切断します。
-
全ての既知の無効なブロック(チェーンに繋ごうとしたが無効であると判明したブロック)のセットは追跡され、 新しいヘッダが無効なチェーン上に構築されているかどうかチェックするのに使われます。これにより無効なブロックの子孫が全て同様にマークされます。
マイナーのブロックサイズ制限の廃止
0.13.0以降、getblocktemplateが返すブロックのサイズを制限するのにblockmaxweightの使用が推奨されるようになりましたが、 ブロックサイズを直接制限したいと思っていた人にとってはblockmaxsizeがオプションとして利用できました。 このオプションを使うといくつかのUIの問題と最適でない手数料の選択、わずかながらパフォーマンスの悪化が発生するため廃止されました。 さらにblockmaxsizeオプションは、ブロックサイズを直接制限するのではなく、暗黙的なblockmaxweightの計算にのみ使用されるようになりました。 weightではなくサイズでブロックを制限したいマイナーは、ブロックテンプレートから直接トランザクションを削除して手動で制限する必要があります。
リセット時のGUIの設定のバックアップ
GUIの設定は-resetguisettings
引数が使われた際、設定が消去される前にdataディレクトリ内のguisettings.ini.bak
に書き込まれるようになりました。
これはGUIの設定による問題の遡及的なトラブルシュートに使用できます。
重複ウォレットの禁止
以前は、ウォレットファイルを手動でコピーすることで同じウォレットを2回開くことができましたが、両方同時に開くと問題が発生しました。 このため同じウォレットのコピーを開くことはできなくなりました。
-minimumchainwork
デバッグ引数の追加
隠れデバッグ引数-minimumchainwork
が追加され、チェーンの検証時にカスタマイズしたminimum workの値を使用できるようになりました。
低レベルRPCの変更
-
getmininginfo
のcurrentblocksize
の値は削除されました。 -
dumpwallet
でファイルの上書きが許可されなくなりました。これは危険なユーザーの間違いを防ぐ安全策です。 -
backupwallet
はウォレットを破壊することがないよう、元の同じファイルにバックアップしようとすると失敗するようになりました。 -
listsinceblock
は未知のblockhash
引数が渡された際に、ジェネシスブロックから全てのウォレットのトランザクションのリストを返すのではなく エラーを投げるようになりました。空の文字列が指定された場合もこの振る舞いは変わりません。
0.15.1 のチェンジログ
マイニング
- #11100
7871a7d
Fix confusing blockmax{size,weight} options, dont default to throwing away money (TheBlueMatt)
RPC と 他のAPI
- #10859
2a5d099
gettxout: Slightly improve doc and tests (jtimon) - #11267
b1a6c94
update cli for estimate*fee argument rename (laanwj) - #11483
20cdc2b
Fix importmulti bug when importing an already imported key (pedrobranco) - #9937
a43be5b
Preventdumpwallet
from overwriting files (laanwj) - #11465
405e069
Update named args documentation for importprivkey (dusty-wil) - #11131
b278a43
Write authcookie atomically (laanwj) - #11565
7d4546f
Make listsinceblock refuse unknown block hash (ryanofsky) - #11593
8195cb0
Work-around an upstream libevent bug (theuni)
P2Pプロトコルとネットワークコード
- #11397
27e861a
Improve and document SOCKS code (laanwj) - #11252
0fe2a9a
When clearing addrman clear mapInfo and mapAddr (instagibbs) - #11527
a2bd86a
Remove my testnet DNS seed (schildbach) - #10756
0a5477c
net processing: swap out signals for an interface class (theuni) - #11531
55b7abf
Check that new headers are not a descendant of an invalid block (more effeciently) (TheBlueMatt) - #11560
49bf090
Connect to a new outbound peer if our tip is stale (sdaftuar) - #11568
fc966bb
Disconnect outbound peers on invalid chains (sdaftuar) - #11578
ec8dedf
Add missing lock in ProcessHeadersMessage(…) (practicalswift) - #11456
6f27965
Replace relevant services logic with a function suite (TheBlueMatt) - #11490
bf191a7
Disconnect from outbound peers with bad headers chains (sdaftuar)
検証
- #10357
da4908c
Allow setting nMinimumChainWork on command line (sdaftuar) - #11458
2df65ee
Don’t process unrequested, low-work blocks (sdaftuar)
ビルドシステム
- #11440
b6c0209
Fix validationinterface build on super old boost/clang (TheBlueMatt) - #11530
265bb21
Add share/rpcuser to dist. source code archive (MarcoFalke)
GUI
- #11334
19d63e8
Remove custom fee radio group and remove nCustomFeeRadio setting (achow101) - #11198
7310f1f
Fix display of package name on ‘open config file’ tooltip (esotericnonsense) - #11015
6642558
Add delay before filtering transactions (lclc) - #11338
6a62c74
Backup former GUI settings on-resetguisettings
(laanwj) -
#11335 8d13b42
Replace saverestoreWindowGeometry with Qt functions (MeshCollider) - #11237
2e31b1d
Fixing division by zero in time remaining (MeshCollider) - #11247
47c02a8
Use IsMine to validate custom change address (MarcoFalke)
ウォレット
- #11017
9e8aae3
Close DB on error (kallewoof) - #11225
6b4d9f2
Update stored witness in AddToWallet (sdaftuar) - #11126
2cb720a
Acquire cs_main lock before cs_wallet during wallet initialization (ryanofsky) - #11476
9c8006d
Avoid opening copied wallet databases simultaneously (ryanofsky) - #11492
de7053f
Fix leak in CDB constructor (promag) - #11376
fd79ed6
Ensure backupwallet fails when attempting to backup to source file (tomasvdw) - #11326
d570aa4
Fix crash on shutdown with invalid wallet (MeshCollider)
テストとQA
- #11399
a825d4a
Fix bip68-sequence rpc test (jl2012) - #11150
847c75e
Add getmininginfo test (mess110) - #11407
806c78f
add functional test for mempoolreplacement command line arg (instagibbs) - #11433
e169349
Restore bitcoin-util-test py2 compatibility (MarcoFalke) - #11308
2e1ac70
zapwallettxes: Wait up to 3s for mempool reload (MarcoFalke) - #10798
716066d
test bitcoin-cli (jnewbery) - #11443
019c492
Allow “make cov” out-of-tree; Fix rpc mapping check (MarcoFalke) - #11445
51bad91
0.15.1 Backports (MarcoFalke) - #11319
2f0b30a
Fix error introduced into p2p-segwit.py, and prevent future similar errors (sdaftuar) - #10552
e4605d9
Tests for zmqpubrawtx and zmqpubrawblock (achow101) - #11067
eeb24a3
TestNode: Add wait_until_stopped helper method (MarcoFalke) - #11068
5398f20
Move wait_until to util (MarcoFalke) - #11125
812c870
Add bitcoin-cli -stdin and -stdinrpcpass functional tests (promag) - #11077
1d80d1e
fix timeout issues from TestNode (jnewbery) - #11078
f1ced0d
Make p2p-leaktests.py more robust (jnewbery) - #11210
f3f7891
Stop test_bitcoin-qt touching ~/.bitcoin (MeshCollider) -
#11234 f0b6795
Remove redundant testutil.cpph files (MeshCollider) - #11215
cef0319
fixups from set_test_params() (jnewbery) - #11345
f9cf7b5
Check connectivity before sending in assumevalid.py (jnewbery) - #11091
c276c1e
Increase initial RPC timeout to 60 seconds (laanwj) - #10711
fc2aa09
Introduce TestNode (jnewbery) - #11230
d8dd8e7
Fixup dbcrash interaction with add_nodes() (jnewbery) - #11241
4424176
Improve signmessages functional test (mess110) - #11116
2c4ff35
Unit tests for script/standard and IsMine functions (jimpo) - #11422
a36f332
Verify DBWrapper iterators are taking snapshots (TheBlueMatt) - #11121
bb5e7cb
TestNode tidyups (jnewbery) - #11521
ca0f3f7
travis: move back to the minimal image (theuni) - #11538
adbc9d1
Fix race condition failures in replace-by-fee.py, sendheaders.py (sdaftuar) - #11472
4108879
Make tmpdir option an absolute path, misc cleanup (MarcoFalke) - #10853
5b728c8
Fix RPC failure testing (again) (jnewbery) - #11310
b6468d3
Test listwallets RPC (mess110)
その他
- #11377
75997c3
Disallow uncompressed pubkeys in bitcoin-tx [multisig] output adds (TheBlueMatt) - #11437
dea3b87
[Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 (fanquake) - #11318
8b61aee
Put back inadvertently removed copyright notices (gmaxwell) - #11442
cf18f42
[Docs] Update OpenBSD Build Instructions for OpenBSD 6.2 (fanquake) - #10957
50bd3f6
Avoid returning a BIP9Stats object with uninitialized values (practicalswift) - #11539
01223a0
[verify-commits] Allow revoked keys to expire (TheBlueMatt)
クレジット
このリリースに直接貢献されたみなさん、ありがとうございます :
- Andreas Schildbach
- Andrew Chow
- Chris Moore
- Cory Fields
- Cristian Mircea Messel
- Daniel Edgecumbe
- Donal OConnor
- Dusty Williams
- fanquake
- Gregory Sanders
- Jim Posen
- John Newbery
- Johnson Lau
- João Barbosa
- Jorge Timón
- Karl-Johan Alm
- Lucas Betschart
- MarcoFalke
- Matt Corallo
- Paul Berg
- Pedro Branco
- Pieter Wuille
- practicalswift
- Russell Yanofsky
- Samuel Dobson
- Suhas Daftuar
- Tomas van der Wansem
- Wladimir J. van der Laan
Transifexでの翻訳を手伝ってくれたみなさんもありがとうございます。