Bitcoin Core 0.17.0
{% include download.html %} {% githubify https://github.com/bitcoin/bitcoin %}
Bitcoin Core バージョン0.17.0は以下から入手可能です。
https://bitcoincore.org/bin/bitcoin-core-0.17.0/
これは新しいメジャーバージョンリリースで、新しい機能や様々なバグ修正とパフォーマンス改善、更新された翻訳を含みます。
バグを発見した場合は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を上書きしてください。
ノードにtxindexがある場合、最初に0.17.0以降を実行する際、txindex DBがマイグレーションされ、これには数時間かかります。このマイグレーションが完了するまでノードは機能しません。
初めて0.15.0以降のバージョンを実行すると、chainstateデータベースが新しいフォーマットに変換されます。 これにはマシンの速度に応じて、数分から30分かかります。
blockデータベースのフォーマットも0.8.0から変更されており、0.8より前のバージョンから バージョン0.15.0以降に自動アップグレードするコードはありません。 0.7.xやそれより前のバージョンからブロックチェーンを再ダウンロードすることなく直接アップグレードすることはサポートされていません。 しかし、いつものように、旧ウォレットバージョンは引き続きサポートされています。
ダウングレードの警告
このリリースのchainstateデータベースは前のリリースと互換性がありません。そのため、
0.15を実行していて、古いバージョンに戻す場合は、-reindex-chainstateオプションを指定して
古いリリースを実行し、 旧フォーマットでchainstateデータ構造を再構築する必要があります。
ノードでプルーニングが有効になっている場合は、ブロックチェーン全体を再ダウンロードして処理する必要があります。
互換性
Bitcoin CoreはLinuxカーネルやmacOS 10.10以降、Windows 7以降などの複数のオペレーティングシステムで幅広くテストされています (Windows XPはサポートされていません)。
Bitcoin Coreは他のほとんどのUnixライクなシステムで動作するはずですが、それらで頻繁にテストはされていません。
0.17.0以降、macOS 10.10未満はサポートされなくなりました。0.17.0はQt 5.9.xを使ってビルドされますが、 10.10より古いmacOSではそのバージョンをサポートしていません。
既知の問題
-
0.13.0以前のバージョンからアップグレードするとSegWitのアクティベーションポイントにブロックをロールバックする際にメモリが壊れることがあります。この場合、完全な
-reindexが必要です。 -
新しいMacOSのダークモードでGUIの視覚的な不具合が発生します。これはQtのテーマ処理と関係しており、0.17.0における新しい問題ではありませんが、0.17.1で解決される予定です。
主な変更点
設定オプションの変更
-
-includeconf=<file>が追加の設定ファイルをインクルードするのに使用できます。bitcoin.confのファイル内でのみ動作し、インクルードされたファイル内やコマンドラインからは 動作しません。複数のファイルをインクルードすることが可能です。-noincludeconfを介して コマンドラインから無効にすることが可能です。-includeconfのように複数の引数を持つコマンドは 先行する-noincludeconfをオーバーライドすることに注意してください。例えばnoincludeconf=1 includeconf=relative.confとbitcoin.confに記載されていると、
relative.confはインクルードされます。
GUIの変更
- ブロックのストレージがPreferencesのメインタブので制限できます。この設定を元に戻すには完全なブロックチェーンを再度ダウンロードする必要があります。このモードは-txindexおよび-rescanと互換性がありません。
外部ウォレットファイル
-wallet=<path>オプションが、ウォレットが置かれている場所を-walletdirでディレクトリ指定するのではなく、
フルパスで指定できるようになりました。
新しく作成されたウォレットのフォーマット
-wallet=<path>に存在しないパスを指定すると、パスにデータファイルを作成しログファイルを
親ディレクトリに保存するのではなく、指定された場所に(wallet.datデータファイル、db.logファイル、
database/log.??????????ファイルを含む)ウォレットディレクトリを作成します。
これによりトランザクションログファイルの親ディレクトリを調べなくても、指定したウォレットパスを
直接アーカイブすることができるため、以前より直接的にウォレットをバックアップすることができます。
後方互換性のため、-walletdirディレクトリ内の既存のデータファイルの名前であるウォレットパスは
引き続き受け入れられ、以前と同じように解釈されます。
ウォレットの動的ローディングと作成
以前は、コマンドラインやbitcoin.confファイル内で-walletパラメータを指定するだけで、起動時にウォレットをロードまたは作成することができました。0.17.0から実行時にウォレットを動的にロード、作成、アンロードすることができるようになりました:
- 既存のウォレットは
loadwalletRPCを呼ぶことでロードすることができます。ウォレットは(walletdirディレクトリ内に配置された)ファイル/ディレクトリのbasenameもしくはファイル/ディレクトリの絶対パスで指定できます。 createwalletRPCを呼ぶことで新しいウォレットを作成(そしてロード)することができます。指定する名前は、walletdirディレクトリ内のウォレットファイルや現在ロードされているウォレットの名前と一致してはいけません。- ロードされたウォレットは
unloadwalletRPCを呼ぶことでアンロードできます。
この機能は現在、RPCインターフェースを介してのみ利用可能です。
コインの選択
部分的なコイン使用の回避
1つのアドレスが複数回支払いに使われると、それら別々の支払いのコインは別々に使用することができ、別々のアドレスを使用した場合と異なり、リンクされプライバシーを傷つけます。このため新しく-avoidpartialspendsフラグが追加されました(デフォルトはfalse)。このフラグを有効にすると、ウォレットは手数料が高額になったとしても、アドレスが複数のUTXOを持つ場合、それらのUTXOを一緒に使用します。誰かが使用済みのアドレスにコインを送った場合、それらのコインは将来のコイン選択の際に一緒に選択されます。
testnetとregtest用の設定セクション
1つの設定ファイルで異なるネットワーク用の異なるオプションをセットできるようになりました。 これは、以下のようにセクションを使用するか、オプションにネットワークを付加することでセットできます:
main.uacomment=bitcoin
test.uacomment=bitcoin-testnet
regtest.uacomment=regtest
[main]
mempoolsize=300
[test]
mempoolsize=100
[regtest]
mempoolsize=20
以下のオプションがセクションにない場合、mainnetのみに適用されます:
addnode=, connect=, port=, bind=, rpcport=, rpcbind= および wallet=。
ネットワークを選択するオプション(regtest= および testnet=)は必ずセクションの外側で指定する
必要があります。
ウォレットの ‘label’ と ‘account’ API
新しい’label’ APIがウォレットに導入されました。これは廃止予定の’account’ APIの代わりになるものです。 ‘account’ APIは’-deprecatedrpc=accounts’引数を付けてbitcoindを起動することで、 v0.17で引き続き使用でき、v0.18で完全に削除されます。
label RPCのメソッドは次の機能上の相違点を伴い、アカウントの機能を反映しています:
- 受信用のアドレスだけでなく、どのアドレスにもラベルをセットできます。この機能は以前はGUIでのみ利用可能でした。
- ラベルは
setlabelRPCメソッドを使って全てのアドレスに別のラベルを再割り当てすることで削除できます。 - ラベル から トランザクションを送信したり、トランザクションがどのラベルから送信されたかを判断することはサポートされていません。
- ラベルは残高を持ちません。
RPCメソッドの変更点は以下の通り:
| 廃止されたメソッド | 新しいメソッド | 注釈 |
|---|---|---|
getaccount | getaddressinfo | getaddressinfo はアカウント名の代わりにアドレス情報を持つオブジェクトを返します。 |
getaccountaddress | n/a | ラベルには関連するアドレスが無いので、getaccountaddress の代わりはありません。 |
getaddressesbyaccount | getaddressesbylabel | getaddressesbylabel は文字列のリストの代わりにアドレスをキーとするjsonオブジェクトを返します。 |
getreceivedbyaccount | getreceivedbylabel | 振る舞いの変更なし |
listaccounts | listlabels | listlabels は残高を返さず、minconf 引数と watchonly 引数を受け付けません。 |
listreceivedbyaccount | listreceivedbylabel | 両方のメソッドとも、後方互換性のため、accountフィールドと共に新しい label フィールドを返します。 |
move | n/a | 置き換えはなし |
sendfrom | n/a | 置き換えはなし |
setaccount | setlabel | 両方のメソッドとも: • アドレスが受信アドレスでない場合にエラーを発生させるのではなく、任意のアドレスにラベルを割りあてることができます。 • あるラベルを使用する最後のアドレスが別のラベルを再割り当てした際、前のラベルにまだ受信アドレスがあることを保証するために暗黙的に getaccountaddress を呼ぶ代わりに、そのアドレスに関連付けられた前のラベルを削除します。 |
| 変更されたメソッド | 注釈 |
|---|---|
addmultisigaddress | パラメータ名 account を label に変更しました。-deprecatedrpc=accountsで実行している場合、後方互換性のため、account を受け付けます。 |
getnewaddress | パラメータ名 account を label に変更しました。-deprecatedrpc=accountsで実行している場合、後方互換性のため、account を受け付けます。 |
listunspent | 新しい label フィールドを返します。 -deprecatedrpc=accountsで実行している場合、後方互換性のため、account フィールドが返されます。 |
sendmany | パラメータ名 account は dummyに変更されました。 dummy パラメータがセットされている場合、-deprecatedrpc=accountsで実行していない限り、パラメータの値は空文字列でなければなりません (-deprecatedrpc=accountsで実行されている場合、機能に変更はありません)。 |
listtransactions | パラメータ名 account は dummyに変更されました。 dummy パラメータがセットされている場合、-deprecatedrpc=accountsで実行していない限り、パラメータの値は*でなければなりません (-deprecatedrpc=accountsで実行されている場合、機能に変更はありません)。 |
getbalance | account, minconf および include_watchonly パラメータは廃止され、 -deprecatedrpc=accountsで実行している場合のみ使用できます。 |
BIP 174 Partially Signed Bitcoin Transactionのサポート
BIP 174 PSBT はまだ完全に署名されていないBitcoinトランザクションの交換フォーマットで、エンティティの署名作業に役に立つ関連メタデータと一緒に使われます。 PSBTは複数の参加者が協力してトランザクションを生成する必要があるワークフローを簡単にすることを目指しています。 例としては、ハードウェアウォレットやマルチシグのセットアップ、CoinJoin トランザクションなどが挙げられます。
全体のワークフロー
全体的に、完全に署名されたトランザクションの構築は以下の手順で行われます:
- Creatorは作成すべき特定のトランザクションを提案します。特定のインプットとアウトプットを 含むPSBTを作成しますが、追加のメタデータは含まれません。
- Updaterは各インプットに対して、トランザクションによって使用されるUTXOに関する 情報をPSBTに追加します。
- 潜在的に他のUpdaterはPSBTの各インプット(および場合によってはアウトプット)に含まれる スクリプトや公開鍵に関する情報を追加します。
- Signerはトランザクションとそのメタデータを見て、トランザクションに同意するかどうか判断します。 彼らはUTXOから量の情報を使って、トランザクションに含まれる量と手数料を評価することができます。 同意する場合、関連する鍵を持つインプットの部分的な署名を生成します。
- Finalizerは各インプットに対して部分的な署名とスクリプト情報を最終的な
scriptSigおよび/またはscriptWitnessに変換します。 - ExtractorはすべてのインプットがファイナライズされたPSBTから有効な(ネットワークフォーマットの) Bitcoinトランザクションを生成します。
通常、上記(CreatorとExtractorを除く)それぞれは、単純に特定のPSBTに多くのデータを追加していきます。 単純なワークフローでは、彼らはPSBTを順番に渡して、Extractorが実際のトランザクションに変換できるようになるまで、 全て順番に操作する必要があります。並行して作業できるように、同じ未署名のトランザクションの異なるPSBTからの メタデータをマージするCombinersを使うことができます。
上記の太字の名前はBIP174で定義されているロールの名前です。これらは基本的な手順を理解するのに便利ですが、 ソフトウェアやハードウェアの実装では、通常複数の役割を一緒に実装します。
RPCs
converttopsbt(Creator) は未署名のRAWトランザクションをPSBTフォーマットに変換する ユーティリティRPCです。既存の署名は無視されます。createpsbt(Creator) はインプットとアウトプットのリストを追加情報の無いPSBTに変換する ユーティリティRPCです。これは、createrawtransactionを呼び出してからconverttopsbtを呼び出すのと同じです。walletcreatefundedpsbt(Creator, Updater) は指定されたインプットとアウトプットを 持つPSBTを作成し、追加のインプットやお釣りの追加および関連するメタデータを追加するウォレットRPCです。 特に、ウォレットが知っている(通常のもしくはwatch-onlyの残高を持つ)インプットに関しては、 UTXOの情報が追加されます。UTXO情報があるアウトプットとインプットについては、ウォレットが知っている 鍵とスクリプトの情報が追加されます。これはcreaterawtransactionを実行し、続いてfundrawtransactionとconverttopsbtを実行することと同じです。walletprocesspsbt(Updater, Signer, Finalizer) はPSBTを入力として受け取るウォレットRPCで、 UTXOや鍵、スクリプトデータを欠落しているインプットやアウトプットに追加し、オプションでインプットに 署名します。可能であれば部分的な署名をファイナライズします。finalizepsbt(Finalizer, Extractor) は部分的な署名を全てファイナライズするRPCで、 全てのインプットがファイナライズされた場合、結果をsendrawtransactionでブロードキャスト可能な 完全に署名されたトランザクションに変換します。combinepsbt(Combiner) はCombinerを実装するユーティリティRPCです。 ワークフローのどの時点でも、同じPSBTの異なるバージョンに追加された情報をマージするために使用できます。 特に、複数のUpdaterやSignerのアウトプットを結合するのに便利です。decodepsbtは診断ユーティリティRPCで、PSBTの全ての情報を人間が読める形式で表示し、 既知の場合は最終的な手数料を計算します。
非HDウォレットからHDウォレットへのアップグレード
Bitcoin Core 0.13.0から新しいBIP 32の階層的決定性ウォレットの作成がサポートされてきましたが、古い非HDウォレットはHDウォレットにアップグレードできませんでした。今回、非HDウォレットが-upgradewalletコマンドラインプションを使ってHDウォレットにアップグレードできるようになりました。このアップグレードによりキープール内の全ての鍵が使用済みとしてマークされ、新しいキープールが生成されます。このアップグレードが実行されたら、新しいバックアップを作成する必要があります。
さらに、-upgradewalletを使って(全ての鍵がm/0'/0'/i'から生成される)非分岐HDチェーンから(受信用の鍵は'm/0'/0'/i'から生成され、お釣り用の鍵はm'/0'/1'/i'から生成される)分岐HDチェーンにアップグレードすることができます。このアップグレードが実行されると、既にキープールにある全ての鍵は、アップグレード前の全ての鍵が使われるまで、キープールに残ります。これは一部の鍵がお釣り用のキープールからくる場合の、バックアップおよびダウングレードに関する問題を回避するためです。ユーザーはnewkeypoolRPCを使ってキープール内の全ての鍵を使用済みとしてマークし、分岐HDチェーンから生成された新しいキープールを使って新しい分岐HDチェーンキープールの使用を開始できます。
HDマスター鍵のローテーション
ユーザーが新しいHDシードを設定したり独自のHDシードを設定できるようにする新しいRPC sethdseed が導入されました。これにより新しいHDシードを使用することができます。新しいHDシードが設定されたら、新しいバックアップを作成する必要があります。
低レベルRPCの変更
-
新しいRPC
scantxoutsetを使って特定のアウトプット記述子に一致するエントリーのUTXOをスキャンできます。 詳細はアウトプット記述子の参照ドキュメントを参照ください。 この呼び出しはlistunspentと似ていますが、ウォレットは使用しません。つまりコンパイル時、実行時にウォレットを 無効にすることができます。この呼び出しは実験的なもので、将来のリリースで変更または削除される可能性があります。 -
createrawtransactionRPCはoutputsパラメータの配列またはディクショナリ(互換性のため)を受け入れるようになりました。これはクライアントがトランザクションアウトプットの順序を指定できることを意味します。 -
fundrawtransactionRPCは以前廃止されたreserveChangeKeyオプションを拒否します。 -
sendmanyはプライバシー向上のためアウトプットをシャッフルするようになったため、以前のアウトプットの順序に関する動作は期待できません。 -
新しいRPC
testmempoolacceptはメモリプールにトランザクションを追加することなくトランザクションを受け入れ可能かどうかテストできます。 -
トランザクションをJSONにする際にトランザクションの正確なweightを提供する
weightフィールドが追加されました。 これはjsonモードでは、RESTの/rest/tx/および/rest/block/エンドポイントに含まれます。 また、(verbosity=2の)getblockおよびlistsinceblock、listtransactions、getrawtransactionのRPCコマンドにも含まれています。 -
getrawmempool、getmempoolancestors、getmempooldescendantsおよびgetmempoolentryに新しくfeesフィールドが導入されました。 verboseオプションをtrueにセットした場合、サブフィールドancestor、base、modified、descendantにBTC単位で表示されます。 この新しいフィールドにより、fee、modifiedfee、ancestorfee、descendantfeeなどの手数料フィールドは廃止されます。 -
新しいRPC
getzmqnotificationsはアクティブなZMQ通知に関する情報を返します。 -
bitcoinが
-wallet=<path>オプションで起動されてない場合、getwalletinfoやlistwalletsRPCで返されるデフォルトウォレットの名前は"wallet.dat"ではなく、空文字""になりました。 bitcoinが-wallet=<path>オプションで起動された場合、動作に変化はなく、ウォレットの名前は<path>文字列です。 -
getnewaddress、getrawchangeaddress、addmultisigaddress、fundrawtransactionRPCにaddress_typeパラメータとして空の文字列("")を渡すとエラーが発生するようになりました。 以前はデフォルトアドレスタイプを使用していました。デフォルトアドレスタイプを使用するように nullを渡したりパラメータをセットしないことも可能です。 -
ウォレット内の鍵を使った(P2SHではない)素のマルチシグは自動的に入金として扱われなくなりました。 この機能はウォレット内に全ての秘密鍵を持っているマルチシグアウトプットでのみ利用可能であったため、 単一鍵の利用に比べて一般的に使用されていませんでした。さらに、そのようなアウトプットのアドレスは定義されておらず、 ウォレットソフトウェアは簡単にそのアウトプットに送金できません。これらのアウトプットは (hexスクリプト引数で
importaddressやimportmultiを使用して)明示的に監視されていないかぎり、listtransactionsやlistunspentで表示されなくなり、残高にも含まれません。signrawtransaction*はまだ動作します。 -
getwalletinfoRPCメソッドはhdseedidの値を返します。この値は常に間違った名前のhdmasterkeyidの値と同じです。hdmasterkeyidはv0.18で削除されます。 -
getaddressinfoRPCメソッドはhdseedidの値を返します。この値は常に間違った名前のhdmasterkeyidの値と同じです。hdmasterkeyidはv0.18で削除されます。 -
validateaddressRPCメソッドの一部は廃止され、getaddressinfoに移動されました。 v0.18にアップグレードする前にクライアントはこの情報にアクセスするためにgetaddressinfoを使うよう 移行しなければなりません。次の廃止されたフィールドはgetaddressinfoに移動され、-deprecatedrpc=validateaddressを指定した場合のみ表示されます:ismine、iswatchonly、script、hex、pubkeys、sigsrequired、pubkey、addresses、embedded、iscompressed、account、timestamp、hdkeypath、hdmasterkeyid。 -
signrawtransactionは廃止され v0.18で完全に削除されます。 v0.17でsignrawtransactionを使用するには、-deprecatedrpc=signrawtransactionを指定してbitcoindを再起動します。プロジェクトは v0.18にアップグレードする前にsignrawtransactionwithkeyとsignrawtransactionwithwalletを使用するように 移行すべきです。
他のAPIの変更
dumpwalletの出力のinactivehdmasterプロパティがinactivehdseedに修正されました。
ロギング
-
ログのタイムスタンプフォーマットがISO 8601(例:“2018-02-28T12:34:56Z”)になりました。
-
-debugを付与し-daemonを付与せずにbitcoindを実行すると、stdoutへ ロギングするのがデフォルトの動作になりました。-printtoconsole=1を設定すると暗黙的に debug.logへのロギングが無効化されることはなくなりました。代わりに、-debuglogfile=0をセットすることで明示的にファイルへのロギングを無効にできます。
トランザクションインデックスの変更
トランザクションインデックスはメインノードのプロシージャとは別に構築されるようになりました。
つまり、-txindexフラグは完全な再インデックスなしで切り替えることができます。
既に部分的もしくは完全に同期されたノードで-txindexを付与してbitcoindを実行すると、
トランザクションインデックスはバックグラウンドで構築され、最新のトランザクションまで追いつくと
利用可能になります。-txindexフラグを付けて起動した状態からフラグ無しで実行するよう切り替えると、
トランザクションインデックスのデータベースは自動的に削除されません。つまり、後で完全な
再同期を行わずに有効にすることができます。
マイナーのブロックサイズの削除
ブロックサイズを制限するマイナー向けの-blockmaxsizeオプションはv0.15.1で廃止され、
今回のバージョンで削除されました。マイナーはブロックのweightを制限する場合、
-blockmaxweightオプションを使用する必要があります。
Pythonのサポート
Python 2のサポートが全てのテストファイルとツールで廃止されました。
0.17.0のチェンジログ
コンセンサス
- #12204
3fa24bbFix overly eager BIP30 bypass (morcos)
ポリシー
- #12568
ed6ae80Allow dustrelayfee to be set to zero (luke-jr) - #13120
ca2a233Treat segwit as always active (MarcoFalke) - #13096
062738cFixMAX_STANDARD_TX_WEIGHTcheck (jl2012)
マイニング
- #12693
df529dcRemove unused variable in SortForBlock (drewx2) - #12448
84efa9aInterrupt block generation on shutdown request (promag)
ブロックとトランザクションのハンドリング
- #12225
67447baMempool cleanups (sdaftuar) - #12356
fd65937Fix ‘mempool min fee not met’ debug output (Empact) - #12287
bf3353dOptimise lock behaviour for GuessVerificationProgress() (jonasschnelli) - #11889
47a7666Drop extra script variable in ProduceSignature (ryanofsky) - #11880
d59b8d6Stop special-casing phashBlock handling in validation for TBV (TheBlueMatt) - #12431
947c25eOnly call NotifyBlockTip when chainActive changes (jamesob) - #12653
534b8faAllow to optional specify the directory for the blocks storage (jonasschnelli) - #12172
3b62a91Bugfix: RPC: savemempool: Don’t save until LoadMempool() is finished (jtimon) - #12167
88430cbMake segwit failure due toCLEANSTACKviolation return aSCRIPT_ERR_CLEANSTACKerror code (maaku) - #12561
24133b1Check for block corruption in ConnectBlock() (sdaftuar) - #11617
1b5723eAvoid lock: Call FlushStateToDisk(…) regardless of fCheckForPruning (practicalswift) - #11739
0a8b7b4EnforceSCRIPT_VERIFY_P2SHandSCRIPT_VERIFY_WITNESSfrom genesis (sdaftuar) - #12885
a49381dReduce implementation code inside CScript (sipa) - #13032
34dd1a6Output values for “min relay fee not met” error (kristapsk) - #13033
a07e8caBuild txindex in parallel with validation (jimpo) - #13080
66cc47bAdd compile time checking for ::mempool.cs runtime locking assertions (practicalswift) - #13185
08c1cafBugfix: the end of a reorged chain is invalid when connect fails (sipa) - #11689
0264836Fix missing locking in CTxMemPool::check(…) and CTxMemPool::setSanityCheck(…) (practicalswift) - #13011
3c2a41aCache witness hash in CTransaction (MarcoFalke) - #13191
0de7cc8Specialized double-SHA256 with 64 byte inputs with SSE4.1 and AVX2 (sipa) - #13243
ea263e1Make reusable base class for auxiliary indices (jimpo) - #13393
a607d23Enable double-SHA256-for-64-byte code on 32-bit x86 (sipa) - #13428
caabdeavalidation: check the specified number of blocks (off-by-one) (kallewoof) - #13438
450055bImprove coverage of SHA256 SelfTest code (sipa) - #13431
954f4a9validation: count blocks correctly for check level < 3 (kallewoof) - #13386
3a3eabeSHA256 implementations based on Intel SHA Extensions (sipa) - #11658
9a1ad2cDuring IBD, when doing pruning, prune 10% extra to avoid pruning again soon after (luke-jr) - #13794
8ce55dfchainparams: Update with data from assumed valid chain (MarcoFalke) - #13527
e7ea858Remove promiscuousmempoolflags (MarcoFalke)
P2Pプロトコルとネットワークコード
- #12342
eaeaa2dExtend #11583 (“Do not make it trivial for inbound peers to generate log entries”) to include “version handshake timeout” message (clemtaylor) - #12218
9a32114Move misbehaving logging to net logging category (laanwj) - #10387
5c2aff8Eventually connect toNODE_NETWORK_LIMITEDpeers (jonasschnelli) - #9037
a36834fAdd test-before-evict discipline to addrman (EthanHeilman) - #12622
e1d6e2aCorrect addrman logging (laanwj) - #11962
0a01843add seed.bitcoin.sprovoost.nl to DNS seeds (Sjors) - #12569
23e7fe8Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s (practicalswift) - #12855
c199869Minor accumulated cleanups (tjps) - #13153
ef46c99Add missing newlines to debug logging (laanwj) - #13162
a174702Don’t incorrectly log that REJECT messages are unknown (jnewbery) - #13151
7f4db9aServe blocks directly from disk when possible (laanwj) - #13134
70d3541Add option-enablebip61to configure sending of BIP61 notifications (laanwj) - #13532
7209fecLog warning when deprecated network name ‘tor’ is used (wodry) - #13615
172f984Remove unused interrupt from SendMessages (fanquake) - #13417
1e90862Tighten scope innet_processing(skeees) - #13298
f8d470eBucketing INV delays (1 bucket) for incoming connections to hide tx time (naumenkogs) - #13672
0d8d6beModifiedin_addr6cast in CConman class to work with msvc (sipsorcery) - #11637
c575260Remove dead service bits code (MarcoFalke) - #13212
a6f00ceFixed a race condition when disabling the network (lmanners) - #13656
1211b15Remove the boost/algorithm/string/predicate.hpp dependency (251Labs) - #13423
f58674aThread safety annotations innet_processing(skeees) - #13776
7d36237Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(…) (practicalswift) - #13907
48bf8ffIntroduce a maximum size for locators (gmaxwell) - #13951
8a9ffecHardcoded seeds update pre-0.17 branch (laanwj)
ウォレット
- #12330
2a30e67Reduce scope ofcs_mainandcs_walletlocks in listtransactions (promag) - #12298
a1ffddbRefactor HaveKeys to early return on false result (promag) - #12282
663911eDisallow abandon of conflicted txes (MarcoFalke) - #12333
d405beeMake CWallet::ListCoins atomic (promag) - #12296
8e6f9f4Only fee-bump non-conflicted/non-confirmed txes (MarcoFalke) - #11866
6bb9c13Do not un-mark fInMempool on wallet txn if ATMP fails (TheBlueMatt) - #11882
987a809Disable default fallbackfee on mainnet (jonasschnelli) - #9991
4ca7c1elistreceivedbyaddress Filter Address (NicolasDorier) - #11687
98bc27fExternal wallet files (ryanofsky) - #12658
af88094Sanitize some wallet serialization (sipa) - #9680
6acd870Unify CWalletTx construction (ryanofsky) - #10637
e057589Coin Selection with Murch’s algorithm (achow101, Xekyo) - #12408
c39dd2eChange output type globals to members (MarcoFalke) - #12694
9552dfbActually disable BnB when there are preset inputs (achow101) - #11536
cead84bRename account to label where appropriate (ryanofsky) - #12709
02b7e83shuffle sendmany recipients ordering (instagibbs) - #12699
c948dc8Shuffle transaction inputs before signing (instagibbs) - #10762
6d53663Remove Wallet dependencies from init.cpp (jnewbery) - #12857
821980cAvoid travis lint-include-guards error (ken2812221) - #12702
dab0d68importprivkey: hint about importmulti (kallewoof) - #12836
9abdb7cMake WalletInitInterface and DummyWalletInit private, fix nullptr deref (promag) - #12785
215158aInitializem_last_block_processedto nullptr (practicalswift) - #12932
8d651aeRemove redundant lambda function arg in handleTransactionChanged (laanwj) - #12749
a84b056feebumper: discard change outputs below discard rate (instagibbs) - #12892
9b3370dintroduce ‘label’ API for wallet (jnewbery) - #12925
6d3de17Logprint the start of a rescan (jonasschnelli) - #12888
39439e5debug log number of unknown wallet records on load (instagibbs) - #12977
434150aRefactorg_wallet_init_interfaceto const reference (promag) - #13017
65d7083Add wallets management functions (promag) - #12953
d1d54aeDeprecate accounts (jnewbery) - #12909
476cb35Make fee settings to be non-static members (MarcoFalke) - #13002
487dcbeDo not treat bare multisig outputs as IsMine unless watched (sipa) - #13028
783bb64Make vpwallets usage thread safe (promag) - #12507
2afdc29Interrupt rescan on shutdown request (promag) - #12729
979150bGet rid of ambiguous OutputType::NONE value (ryanofsky) - #13079
5778d44Fix rescanblockchain rpc to properly report progress (Empact) - #12560
e03c0dbUpgrade path for non-HD wallets to HD (achow101) - #13161
7cc1bd3Reset BerkeleyDB handle after connection fails (real-or-random) - #13081
0dec5b5Add compile time checking forcs_walletruntime locking assertions (practicalswift) - #13127
19a3a9eAdd Clang thread safety annotations for variables guarded bycs_db(practicalswift) - #10740
4cfe17cloadwalletRPC - load wallet at runtime (jnewbery) - #12924
6738813Fix hdmaster-key / seed-key confusion (scripted diff) (jnewbery) - #13297
d82c5d1Fix incorrect comment for DeriveNewSeed (jnewbery) - #13063
6378eefUse shared pointer to retain wallet instance (promag) - #13142
56fe3dcSeparate IsMine from solvability (sipa) - #13194
fd96d54Remove template matching and pseudo opcodes (sipa) - #13252
c4cc8d9Refactor ReserveKeyFromKeyPool for safety (Empact) - #13058
343d4e4createwalletRPC - create new wallet at runtime (jnewbery) - #13351
2140f6cPrevent segfault when sending to unspendable witness (MarcoFalke) - #13060
3f0f394Remove getlabeladdress RPC (jnewbery) - #13111
000abbbAdd unloadwallet RPC (promag) - #13160
868cf43Unlock spent outputs (promag) - #13498
f54f373Fixups from account API deprecation (jnewbery) - #13491
61a044aImprove handling of INVALID in IsMine (sipa) - #13425
028b0d9Moving final scriptSig construction from CombineSignatures to ProduceSignature (PSBT signer logic) (achow101) - #13564
88a15ebloadwallet shouldn’t create new wallets (jnewbery) - #12944
619cd29ScanforWalletTransactions should mark input txns as dirty (instagibbs) - #13630
d6b2235Drop unused pindexRet arg to CMerkleTx::GetDepthInMainChain (Empact) - #13566
ad552a5Fix get balance (jnewbery) - #13500
4a3e8c5Decouple wallet version from client version (achow101) - #13712
aba2e66Fix non-determinism in ParseHDKeypath(…). Avoid using an uninitialized variable in path calculation (practicalswift) - #9662
6b6e854Add createwallet “disableprivatekeys” option: a sane mode for watchonly-wallets (jonasschnelli) - #13683
e8c7434Introduce assertion to document the assumption that cache and cache_used are always set in tandem (practicalswift) - #12257
5f7575eUse destination groups instead of coins in coin select (kallewoof) - #13773
89a116dFix accidental use of the comma operator (practicalswift) - #13805
c88529aCorrectly limit output group size (sdaftuar) - #12992
26f59f5Add wallet name to log messages (PierreRochard) - #13667
b81a8a5Fix backupwallet for multiwallets (domob1812) - #13657
51c693dassert to ensure accuracy of CMerkleTx::GetBlocksToMaturity (Empact) - #13812
9d86aadsum ancestors rather than taking max in output groups (kallewoof) - #13876
8eb9870Catchfilesystem_errorand raiseInitError(MarcoFalke) - #13808
13d51a2shuffle coins before grouping, where warranted (kallewoof) - #13666
2115cbaAlways create signatures with Low R values (achow101) - #13917
0333914Additional safety checks in PSBT signer (sipa) - #13968
65e7a8bcouple of walletcreatefundedpsbt fixes (instagibbs) - #14055
2307a6efix walletcreatefundedpsbt deriv paths, add test (instagibbs)
RPCおよび他のAPI
- #12336
3843780Remove deprecated rpc options (jnewbery) - #12193
5dc00f6Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (MarcoFalke) - #12409
0cc45edReject deprecated reserveChangeKey in fundrawtransaction (MarcoFalke) - #10583
8a98dfeSplit part of validateaddress into getaddressinfo (achow101) - #10579
ffc6e48Split signrawtransaction into wallet and non-wallet RPC command (achow101) - #12494
e4ffcacDeclare CMutableTransaction a struct in rawtransaction.h (Empact) - #12503
0e26591createmultisig no longer takes addresses (instagibbs) - #12083
228b086Improve getchaintxstats test coverage (promag) - #12479
cd5e438Add child transactions to getrawmempool verbose output (conscott) - #11872
702e8b7createrawtransaction: Accept sorted outputs (MarcoFalke) - #12700
ebdf84cDocument RPC method aliasing (ryanofsky) - #12727
8ee5c7bRemove unreachable help conditions in rpcwallet.cpp (lutangar) - #12778
b648974Add username and ip logging for RPC method requests (GabrielDav) - #12717
ac898b6rest: Handle utxo retrieval when ignoring the mempool (romanz) - #12787
cd99e5bAdjust ifdef to avoid unreachable code (practicalswift) - #11742
18815b4Add testmempoolaccept (MarcoFalke) - #12942
fefb817Drop redundant testing of signrawtransaction prevtxs args (Empact) - #11200
5f2a399Allow for aborting rescans in the GUI (achow101) - #12791
3a8a4dcExpose a transaction’s weight via RPC (TheBlueMatt) - #12436
6e67754Adds a functional test to validate the transaction version number in the RPC output (251Labs) - #12240
6f8b345Introduced a newfeesstructure that aggregates all sub-field fee types denominated in BTC (mryandao) - #12321
eac067ap2wsh and p2sh-p2wsh address in decodescript (fivepiece) - #13090
17266a1Remove Safe mode (achow101, laanwj) - #12639
7eb7076Reducecs_mainlock in listunspent (promag) - #10267
7b966d9New -includeconf argument for including external configuration files (kallewoof) - #10757
b9551d3Introduce getblockstats to plot things (jtimon) - #13288
a589f53Remove the need to include rpc/blockchain.cpp in order to putGetDifficultyunder test (Empact) - #13394
e1f8dcecli: Ignore libevent warnings (theuni) - #13439
3f398d7Avoid “duplicate” return value for invalid submitblock (TheBlueMatt) - #13570
a247594Add new “getzmqnotifications” method (domob1812) - #13072
b25a4c2Update createmultisig RPC to support segwit (ajtowns) - #12196
8fceae0Add scantxoutset RPC method (jonasschnelli) - #13557
b654723BIP 174 PSBT Serializations and RPCs (achow101) - #13697
f030410Support output descriptors in scantxoutset (sipa) - #13927
bced8eaUse pushKV in some new PSBT RPCs (domob1812) - #13918
a9c56b6Replace median fee rate with feerate percentiles in getblockstats (marcinja) - #13721
9f23c16Bugfixes for BIP 174 combining and deserialization (achow101) - #13960
517010eFix PSBT deserialization of 0-input transactions (achow101)
GUI
- #12416
c997f88Fix Windows build errors introduced in #10498 (practicalswift) - #11733
e782099Remove redundant locks (practicalswift) - #12426
bfa3911Initialize members in WalletModel (MarcoFalke) - #12489
e117cfeBugfix: respect user defined configuration file (-conf) in QT settings (jonasschnelli) - #12421
be263fanavigate to transaction history page after send (Sjors) - #12580
ce56fddShow a transaction’s virtual size in its details dialog (dooglus) - #12501
c8ea91aImproved “custom fee” explanation in tooltip (randolf) - #12616
cff95a6Set modal overlay hide button as default (promag) - #12620
8a43bdcRemove TransactionTableModel::TxIDRole (promag) - #12080
56cc022Add support to search the address book (promag) - #12621
2bac3e4Avoid querying unnecessary model data when filtering transactions (promag) - #12721
e476826remove “new” button during receive-mode in addressbook (jonasschnelli) - #12723
310dc61Qt5: Warning users about invalid-BIP21 URI bitcoin:// (krab) - #12610
25cf18fMultiwallet for the GUI (jonasschnelli) - #12779
f4353daRemove unused method setupAmountWidget(…) (practicalswift) - #12795
68484d6do not truncate .dat extension for wallets in gui (instagibbs) - #12870
1d54004make clean removessrc/qt/moc_files (Sjors) - #13055
bdda14dDon’t log to console by default (laanwj) - #13141
57c57dffixes broken link on readme (marcoagner) - #12928
ef006d9Initialize non-static class members that were previously neither initialized where defined nor in constructor (practicalswift) - #13158
81c533cImprove sendcoinsdialog readability (marcoagner) - #11491
40c34a0Add proxy icon in statusbar (mess110) - #13264
2a7c53bSatoshi unit (GreatSock) - #13097
e545503Support wallets loaded dynamically (promag) - #13284
f8be434fix visual “overflow” of amount input (brandonrninefive) - #13275
a315b79use[default wallet]as name for wallet with no name (jonasschnelli) - #13273
3fd0c23Qt/Bugfix: fix handling default wallet with no name (jonasschnelli) - #13341
25d2df2Stop translating command line options (laanwj) - #13043
6e249e4OptionsDialog: add prune setting (Sjors) - #13506
6579d80load wallet in UI after possible init aborts (jonasschnelli) - #13458
dc53f7fDrop qt4 support (laanwj) - #13528
b877c39Move BitcoinGUI initializers to class, fix initializer order warning (laanwj) - #13536
baf3a3acoincontrol: Remove unused qt4 workaround (MarcoFalke) - #13537
10ffca7Peer table: Visualize inbound/outbound state for every row (wodry) - #13791
2c14c1fReject dialogs if key escape is pressed (promag)
ビルドシステム
- #12371
c9ca4f6Add gitian PGP key: akx20000 (ghost) - #11966
f4f4f51clientversion: Use full commit hash for commit-based version descriptions (luke-jr) - #12417
ae0fbf0Upgrademac_aliasto 2.0.7 (droark) - #12444
1f055efgitian: Bump descriptors for (0.)17 (theuni) - #12402
59e032bexpat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203 (fanquake) - #12029
daa84b3Add a makefile target for Doxygen documentation (Ov3rlo4d) - #12466
6645eafOnly useD_DARWIN_C_SOURCEwhen building miniupnpc on darwin (fanquake) - #11986
765a3ebzeromq 4.2.3 (fanquake) - #12373
f13d756Add build support for profiling (murrayn) - #12631
a312e20gitian: Alphabetize signing keys & add kallewoof key (kallewoof) - #12607
29fad97Remove ccache (fanquake) - #12625
c4219ffbiplist 1.0.3 (fanquake) - #12666
05042d3configure: UniValue 1.0.4 is required for pushKV(, bool) (luke-jr) - #12678
6324c68Fix a few compilation issues with Clang 7 and -Werror (vasild) - #12692
de6bdfdAdd configure options for various -fsanitize flags (eklitzke) - #12901
7e23972Show enabled sanitizers in configure output (practicalswift) - #12899
3076993macOS: Prevent Xcode 9.3 build warnings (AkioNak) - #12715
8fd6243Add ‘make clean’ rule (hkjn) - #13133
a024a18Remove python2 from configure.ac (ken2812221) - #13005
cb088b1Make —enable-debug to pick better options (practicalswift) - #13254
092b366Remove improperqt/moc_*cleaning glob from the general Makefile (Empact) - #13306
f5a7733split warnings out of CXXFLAGS (theuni) - #13385
7c7508cGuard against accidental introduction of new Boost dependencies (practicalswift) - #13041
5779dc4Add linter checking for accidental introduction of locale dependence (practicalswift) - #13408
70a03c6crypto: cleanup sha256 build (theuni) - #13435
cf7ca60When build fails due to lib missing, indicate which one (Empact) - #13445
8eb76f3Reset default -g -O2 flags when enable debug (ken2812221) - #13465
81069a7Avoid concurrency issue when make multiple target (ken2812221) - #13454
45c00f8Make sureLC_ALL=Cis set in all shell scripts (practicalswift) - #13480
31145a3Avoid copies in range-for loops and add a warning to detect them (theuni) - #13486
66e1a08Move rpc/util.cpp from libbitcoin-util to libbitcoin-server (ken2812221) - #13580
40334c7Detect if char equalsint8_t(ken2812221) - #12788
287e4edTune wildcards for LIBSECP256K1 target (kallewoof) - #13611
b55f0c3bugfix: Use__cpuid_countfor gnu C to avoid gitian build fail (ken2812221) - #12971
a6d14b1Upgrade Qt to 5.9.6 (TheCharlatan) - #13543
6c6a300Add RISC-V support (laanwj) - #13177
dcb154eGCC-7 and glibc-2.27 back compat code (ken2812221) - #13659
90b1c7eadd missing leveldb defines (theuni) - #13368
c0f1569Update gitian-build.sh for docker (achow101) - #13171
19d8ca5Change gitian-descriptors to use bionic instead (ken2812221) - #13604
75bea05Add depends 32-bit arm support for bitcoin-qt (TheCharlatan) - #13623
9cdb19fMigrate gitian-build.sh to python (ken2812221) - #13689
8c36432disable Werror when building zmq (greenaddress) - #13617
cf7f9aerelease: Require macos 10.10+ (fanquake) - #13750
c883653use MacOS friendly sed syntax in qt.mk (Sjors) - #13095
415f2bfupdateax_boost_chrono/unit_test_framework(fanquake) - #13732
e8ffec6Fix Qt’s rcc determinism (Fuzzbawls) - #13782
8284f1dFix osslsigncode compile issue in gitian-build (ken2812221) - #13696
2ab7208Add aarch64 qt depends support for cross compiling bitcoin-qt (TheCharlatan) - #13705
b413ba0Add format string linter (practicalswift) - #14000
48c8459fix qt determinism (theuni) - #14018
3e4829aBugfix: NSIS: ExcludeMakefile*from docs (luke-jr) - #12906
048ac83Avoidinterfacekeyword to fix windows gitian build (ryanofsky) - #13314
a9b6957Fix FreeBSD build by including utilstrencodings.h (laanwj)
テストとQA
- #12252
8d57319Require all tests to follow naming convention (ajtowns) - #12295
935eb8dEnable flake8 warnings for all currently non-violated rules (practicalswift) - #11858
b4d8549Prepare tests for Windows (MarcoFalke) - #11771
2dbc4a4Change invalidtxrequest to use BitcoinTestFramework (jnewbery) - #12200
d09968fBind functional test nodes to 127.0.0.1 (Sjors) - #12425
26dc2daAdd some script tests (richardkiss) - #12455
23481faFix bip68 sequence test to reflect updated rpc error message (Empact) - #12477
acd1e61Plug memory leaks and stack-use-after-scope (MarcoFalke) - #12443
07090c5Move common args to bitcoin.conf (MarcoFalke) - #12570
39dcac2Add test cases for HexStr (std::reverse_iteratorand corner cases) (kostaz) - #12582
6012f1cFix ListCoins test failure due to unsetg_wallet_allow_fallback_fee(ryanofsky) - #12516
7f99964Avoid unintentional unsigned integer wraparounds in tests (practicalswift) - #12512
955fd23Don’t test against the mempool min fee information in mempool_limit.py (Empact) - #12600
29088b1Add a test for large tx output scripts with segwit input (richardkiss) - #12627
791c3eaFix some tests to work on native windows (MarcoFalke) - #12405
0f58d7ftravis: Full clone for git subtree check (MarcoFalke) - #11772
0630974Change invalidblockrequest to use BitcoinTestFramework (jnewbery) - #12681
1846296Fix ComputeTimeSmart test failure with-DDEBUG_LOCKORDER(ryanofsky) - #12682
9f04c8etravis: Clone depth 1 unless$check_doc(MarcoFalke) - #12710
00d1680Append scripts to newtest_listarray to fix bad assignment (jeffrade) - #12720
872c921Avoiding ‘file’ function name from python2 (jeffrade) - #12728
4ba3d4frename TestNode to TestP2PConn in tests (jnewbery) - #12746
2405ce1Remove unused argumentmax_invalidfromcheck_estimates(…)(practicalswift) - #12718
185d484Require exact match inassert_start_raises_init_eror(jnewbery, MarcoFalke) - #12076
6d36f59Use node.datadir instead of tmpdir in test framework (MarcoFalke) - #12772
b43aba8ci: Bump travis timeout for make check to 50m (jnewbery) - #12806
18606ebFix function names infeature_blocksdir(MarcoFalke) - #12811
0d8fc8dMake summary row bold-red if any test failed and show failed tests at end of table (laanwj) - #12790
490644dUse blockmaxweight where tests previously had blockmaxsize (conscott) - #11773
f0f9732Changefeature_block.pyto use BitcoinTestFramework (jnewbery) - #12839
40f4bafRemove travis checkout depth (laanwj) - #11817
2a09a78Changefeature_csv_activation.pyto use BitcoinTestFramework (jnewbery) - #12284
fa5825dRemove assigned but never used local variables. Enable Travis checking for unused local variables (practicalswift) - #12719
9beded5Add note about test suite naming convention in developer-notes.md (practicalswift) - #12861
c564424Stopfeature_block.pyfrom blowing up memory (jnewbery) - #12851
648252etravis: Run verify-commits only on cron jobs (MarcoFalke) - #12853
2106c4cMatch full plain text by default (MarcoFalke) - #11818
9a2db3bI accidentally (deliberately) killed it (the ComparisonTestFramework) (jnewbery) - #12766
69310a3Tidy up REST interface functional tests (romanz) - #12849
83c7533Add logging in loops inp2p_sendhears.py(ccdle12) - #12895
d6f10b2Add note about test suite name uniqueness requirement to developer notes (practicalswift) - #12856
27278dfAdd Metaclass for BitcoinTestFramework (WillAyd) - #12918
6fc5a05Assert on correct variable (kallewoof) - #11878
a04440fAdd Travis check for duplicate includes (practicalswift) - #12917
cf8073fWindows fixups for functional tests (MarcoFalke) - #12926
dd1ca9eRun unit tests in parallel (sipa) - #12920
b1fdfc1Fix sign for expected values (kallewoof) - #12947
979f598Wallet hd functional test speedup and clarification (instagibbs) - #12993
0d69921Remove compatibility code not needed now when we’re on Python 3 (practicalswift) - #12996
6a278e0Remove redundant bytes(…) calls (practicalswift) - #12949
6b46288Avoid copies of CTransaction (MarcoFalke) - #13007
0d12570Fix dangling wallet pointer in vpwallets (promag) - #13048
cac6d11Fixfeature_blockflakiness (jnewbery) - #12510
d5b2e98Addrpc_bindtest to default-run tests (laanwj) - #13022
896a9d0Attach node index totest_nodeAssertionError and print messages (jamesob) - #13024
018c7e5Add rpcauth pair that generated by rpcauth.py (ken2812221) - #13013
a0079d4bench: Amendmempool_evictiontest for witness txs (MarcoFalke) - #13051
e074097Normalize executable location (MarcoFalke) - #13056
106d929Make rpcauth.py testable and add unit tests (nixbox) - #13073
a785bc3add rpcauth-test toAC_CONFIG_LINKSto fix out-of-tree make check (laanwj) - #12830
25ad2f7Clarify address book error messages, add tests (jamesob) - #13082
24106a8don’t test against min relay fee information inmining_prioritisetransaction.py(kristapsk) - #13003
8d045a0Add test for orphan handling (MarcoFalke) - #13105
9e9b48dAdd —failfast option to functional test runner (jamesob) - #13130
3186ad4Fix race inrpc_deprecated.py(jnewbery) - #13136
baf6b4eFix flake8 warnings in several wallet functional tests (jnewbery) - #13094
bf9b03dAdd test for 64-bit Windows PE, modify 32-bit test results (ken2812221) - #13183
9458b05travis: New travis job forcheck_docssteps (glaksmono) - #12265
1834d4dfundrawtransaction: lock watch-only shared address (kallewoof) - #13188
4a50ec0Remove unused option —srcdir (MarcoFalke) - #12755
612ba35Better stderr testing (jnewbery) - #13198
196c5a9Avoid printing to console during cache creation (sdaftuar) - #13075
cb9bbf7Remove ‘account’ API from wallet functional tests (jnewbery) - #13221
ffa86aftravis: Rename the build stagecheck_doctolint(practicalswift) - #13205
3cbd25fRemove spurious error log inp2p_segwit.py(jnewbery) - #13291
536120eDon’t include torcontrol.cpp into the test file (Empact) - #13281
2ac6315Move linters to test/lint, add readme (MarcoFalke) - #13215
f8a29catravis: Build tests on ubuntu 18.04 with docker (ken2812221) - #13349
24f7011bench: Don’t return a bool from main (laanwj) - #13347
87a9d03travis: Skip cache for lint stage (MarcoFalke) - #13355
0b1c0c4Fix “gmake check” under OpenBSD 6.3 (probably*BSD): Avoid using GNU grep specific regexp handling (practicalswift) - #13353
d4f6dacFixup setting of PATH env var (MarcoFalke) - #13352
e24bf1cAvoid checking reject code for now (MarcoFalke) - #13383
2722a1fbench: Use non-throwingparsedouble(…)instead of throwingboost::lexical_cast<double>(…)(practicalswift) - #13367
264efdcIncrease includeconf test coverage (MarcoFalke) - #13404
3d3d8aespeed up oftx_validationcache_testsby reusing of CTransaction (lucash-dev) - #13421
531a033Removeportseed_offsetfrom test runner (MarcoFalke) - #13440
5315660Log as utf-8 (MarcoFalke) - #13066
fa4b906Migrate verify-commits script to python, run in travis (ken2812221) - #13447
4b1edd3travis: Increasetravis_waittime while verifying commits (ken2812221) - #13350
f532d52Add logging to provide anchor points when debugging p2p_sendheaders (lmanners) - #13406
4382f19travis: Change mac goal to all deploy (ken2812221) - #13457
b222138Drop variadic macro (MarcoFalke) - #13512
3a45493mininode: Expose connection state throughis_connected(MarcoFalke) - #13496
9ab4c2aHarden lint-filenames.sh (wodry) - #13219
08516e0bench: Add block assemble benchmark (MarcoFalke) - #13530
b1dc39dbench: Add missing pow.h header (laanwj) - #12686
2643fa5Add -ftrapv to CFLAGS and CXXFLAGS when —enable-debug is used. Enable -ftrapv in Travis (practicalswift) - #12882
d96bdd7Maketest_bitcoinpass under ThreadSanitzer (clang). Fix lock-order-inversion (potential deadlock) (practicalswift) - #13535
2328039wallet_basic: Specify minimum required amount for listunspent (MarcoFalke) - #13551
c93c360Fix incorrect documentation for test casecuckoocache_hit_rate_ok(practicalswift) - #13563
b330f3fbench: Simplify coinselection (promag) - #13517
a6ed99aRemove need to handle the network thread in tests (MarcoFalke) - #13522
686e97aFixp2p_sendheadersrace (jnewbery) - #13467
3dc2dcfMakep2p_segwiteasier to debug (jnewbery) - #13598
0212187bench: Fix incorrect behaviour in prevector.cpp (AkioNak) - #13565
b05ded1Fix AreInputsStandard test to reference the proper scriptPubKey (Empact) - #13145
d3dae3dUse common getPath method to create temp directory in tests (winder) - #13645
2ea7eb6skiprpc_zmqfunctional test as necessary (jamesob) - #13626
8f1106dFix some TODOs inp2p_segwit(MarcoFalke) - #13138
8803c91Remove accounts fromwallet_importprunedfunds.py(jnewbery) - #13663
cbc9b50Avoid read/write to default datadir (MarcoFalke) - #13682
f8a32a3bench: Remove unused variable (practicalswift) - #13638
6fcdb5eUseMAX_SCRIPT_ELEMENT_SIZEfrom script.py (domob1812) - #13687
9d26b69travis: Check that ~/.bitcoin is never created (MarcoFalke) - #13715
e1260a7fixes mininode’s P2PConnection sending messages on closing transport (marcoagner) - #13729
aa9429atravis: Avoid unnecessarily setting env variables on the lint build (Empact) - #13747
ab28b5bSkip P2PConnection’sis_closing()check when not available (domob1812) - #13650
7a9bca6travis: Don’t store debug info if —enable-debug is set (ken2812221) - #13711
f98d1e0bench: Add benchmark for unserialize prevector (AkioNak) - #13771
365384ftravis: Retry to fetch docker image (MarcoFalke) - #13806
4d550ffFixbench/block_assembleassert failure (jamesob) - #13779
d25079atravis: Improve readability of travis.yml and log outputs (scravy) - #13822
0fb9c87bench: Make coinselection output groups pass eligibility filter (achow101) - #13247
e83d82aAdd tests to SingleThreadedSchedulerClient() and document the memory model (skeees) - #13811
660abc1travis: Runbench_bitcoinonce (MarcoFalke) - #13837
990e182Extractrpc_timewaitas test param (MarcoFalke) - #13851
9c4324dfix locale for lint-shell (scravy) - #13823
489b51bquote path in authproxy for external multiwallets (MarcoFalke) - #13849
2b67354travis: Use only travis jobs: instead of mix of jobs+matrix (scravy) - #13859
2384323Add emojis totest_runnerpath and wallet filename (MarcoFalke) - #13916
8ac7125wait_for_verackby default (MarcoFalke) - #13669
f66e1c7Cleanupcreate_transactionimplementations (conscott) - #13924
09ada21Simplify comparison inrpc_blockchain.py(domob1812) - #13913
a08533cRemove redundant checkmempool/checkblockindexextra_args(MarcoFalke) - #13915
a04888aAdd test for max number of entries in locator (MarcoFalke) - #13867
1b04b55Make extended tests pass on native Windows (MarcoFalke) - #13944
0df7a6cPort usage of deprecated optparse module to argparse module (Kvaciral) - #13928
b8eb0dfblocktools enforce named args for amount (MarcoFalke) - #13054
bffb35fEnable automatic detection of undefined names in Python tests scripts. Remove wildcard imports (practicalswift) - #14069
cf3d7f9Use assert notBOOST_CHECK_*from multithreaded tests (skeees) - #14071
fab0fbeStop txindex thread before calling destructor (MarcoFalke)
その他
- #11909
8897135contrib: Replace developer keys with list of pgp fingerprints (MarcoFalke) - #12394
fe53d5fgitian-builder.sh: fix —setup doc, since lxc is default (Sjors) - #12468
294a766Add missing newline in init.cpp log message (Aesti) - #12308
dcfe218contrib: Add support for out-of-tree builds in gen-manpages.sh (laanwj) - #12451
aae64a2Bump leveldb subtree (MarcoFalke) - #12527
d77b4a7gitian-build.sh: fix signProg being recognized as two parameters (ken2812221) - #12588
d74b01dutils: Remove deprecated pyzmq call from python zmq example (kosciej) - #10271
bc67982Usestd::thread::hardware_concurrency, instead of Boost, to determine available cores (fanquake) - #12097
14475e2scripts: Lint-whitespace: use perl instead of grep -p (Sjors) - #12098
17c44b2scripts: Lint-whitespace: add param to check last n commits (Sjors) - #11900
842f61ascript: Simplify checkminimalpush checks, add safety assert (instagibbs) - #12567
bb98aecutil: Print timestamp strings in logs using iso 8601 formatting (practicalswift) - #12572
d8d9162script: Lint-whitespace: find errors more easily (AkioNak) - #10694
ae5bcc7Remove redundant code in MutateTxSign(CMutableTransaction&, const std::string&) (practicalswift) - #12659
3d16f58Improve Fatal LevelDB Log Messages (eklitzke) - #12643
0f0229dutil: Remove unusedsync_chain(MarcoFalke) - #12102
7fb8fb4Apply hardening measures in bitcoind systemd service file (Flowdalic) - #12652
55f490abitcoin-cli: Provide a better error message when bitcoind is not running (practicalswift) - #12630
c290508Provide useful error message if datadir is not writable (murrayn) - #11881
624bee9Remove Python2 support (jnewbery) - #12821
082e26ccontrib: Remove unused import string (MarcoFalke) - #12829
252c1b0Python3 fixup (jnewbery) - #12822
ff48f62Revert 7deba93bdc76616011a9f493cbc203d60084416f and fix expired-key-sigs properly (TheBlueMatt) - #12820
5e53b80contrib: Fix check-doc script regexes (MarcoFalke) - #12713
4490871Track negated options in the option parser (eklitzke) - #12708
b2e5fe8Make verify-commits.sh test that merges are clean (sipa) - #12891
3190785logging: Add lint-logs.sh to check for newline termination (jnewbery) - #12923
a7cbe38util: Passpthread_self()topthread_setschedparaminstead of 0 (laanwj) - #12871
fb17faeAdd shell script linting: Check for shellcheck warnings in shell scripts (practicalswift) - #12970
5df84delogging: Bypass timestamp formatting when not logging (theuni) - #12987
fe8fa22tests/tools: Enable additional Python flake8 rules for automatic linting via Travis (practicalswift) - #12972
0782508Add python3 script shebang lint (ken2812221) - #13004
58bbc55Print to console by default when not run with -daemon (practicalswift) - #13039
8b4081aAdd logging and error handling for file syncing (laanwj) - #13020
4741ca5Consistently log CValidationState on call failure (Empact) - #13031
826acc9Fix for utiltime to compile with msvc (sipsorcery) - #13119
81743b5Remove script to clean up datadirs (MarcoFalke) - #12954
5a66642util: Refactor logging code into a global object (jimpo) - #12769
35eb9d6Add systemd service to bitcoind in debian package (ghost) - #13146
0bc980brpcauth: Make it possible to provide a custom password (laanwj) - #13148
b62b437logging: Fix potential use-after-free in logprintstr(…) (practicalswift) - #13214
0612d96Enable Travis checking for two Python linting rules we are currently not violating (practicalswift) - #13197
6826989util: Warn about ignored recursive -includeconf calls (kallewoof) - #13176
d9ebb63Improve CRollingBloomFilter performance: replace modulus with FastMod (martinus) - #13228
d792e47Add script to detect circular dependencies between source modules (sipa) - #13320
e08c130Ensure gitian-build.sh uses bash (jhfrontz) - #13301
e4082d5lint: Add linter to error on#include <*.cpp>(Empact) - #13374
56f6936utils and libraries: checking for bitcoin address in translations (kaplanmaxe) - #13230
7c32b41Simplify include analysis by enforcing the developer guide’s include syntax (practicalswift) - #13450
32bf4c6Add linter: Enforce the source code file naming convention described in the developer notes (practicalswift) - #13479
fa2ea37contrib: Fix cve-2018-12356 by hardening the regex (loganaden) - #13448
a90ca40Add linter: Make sure we explicitly open all text files using UTF-8 encoding in Python (practicalswift) - #13494
d67eff8Follow-up to #13454: Fix broken build by exportingLC_ALL=C(practicalswift) - #13510
03f3925Scripts and tools: Obsolete #!/bin/bash shebang (DesWurstes) - #13577
c9eb8d1logging: Avoid nstart may be used uninitialized in appinitmain warning (mruddy) - #13603
453ae5ebitcoin-tx: Stricter check for valid integers (domob1812) - #13118
c05c93cRPCAuth Detection in Logs (Linrono) - #13647
4027ec1Scripts and tools: FixBIND_NOWcheck in security-check.py (conradoplg) - #13692
f5d166acontrib: Clone core repo in gitian-build (MarcoFalke) - #13699
4c6d1b9contrib: Correct version check (kallewoof) - #13695
dcc0cfflint: Add linter for circular dependencies (Empact) - #13733
0d1ebf4utils: Refactor argsmanager a little (AtsukiTak) - #13714
29b4ee6contrib: Add lxc network setup for bionic host (ken2812221) - #13764
f8685f4contrib: Fix test-security-check fail in ubuntu 18.04 (ken2812221) - #13809
77168f7contrib: Remove debian and rpm subfolder (MarcoFalke) - #13799
230652cIgnore unknown config file options; warn instead of error (sipa) - #13894
df9f712shutdown: Stop threads before resetting ptrs (MarcoFalke) - #13925
71dec5cMerge leveldb subtree (MarcoFalke) - #13939
ef86f26lint: Make format string linter understand basic template parameter syntax (practicalswift) - #14105
eb202eautil: Report parse errors in configuration file (laanwj) - #12604
9903537Add DynamicMemoryUsage() to CDBWrapper to estimate LevelDB memory use (eklitzke) - #12495
047865eIncrease LevelDBmax_open_files(eklitzke) - #12784
e80716dFix bug in memory usage calculation (unintended integer division) (practicalswift) - #12618
becd8ddSetSCHED_BATCHpriority on the loadblk thread (eklitzke) - #12854
5ca1509Add P2P, Network, and Qt categories to the desktop icon (luke-jr) - #11862
4366f61Network specific conf sections (ajtowns) - #13441
4a7e64fPrevent shared conf files from failing with different available options in different binaries (achow101) - #13471
5eca4e8For AVX2 code, also check for AVX, XSAVE, and OS support (sipa) - #13503
c655b2cDocument FreeBSD quirk. Fix FreeBSD build: Usestd::min<int>(…)to allow for compilation under certain FreeBSD versions (practicalswift) - #13725
07ce278Fix bitcoin-cli —version (Empact)
ドキュメンテーション
- #12306
216f9a4Improvements to UNIX documentation (axvr) - #12309
895fbd7Explain how to update chainTxData in release process (laanwj) - #12317
85123beDocument method for reviewers to verify chainTxData (jnewbery) - #12331
d32528eProperly alphabetize output of CLI —help option (murrayn) - #12322
c345148Remove step making cloned repository world-writable for Windows build (murrayn) - #12354
b264528add gpg key for fivepiece (fivepiece) - #11761
89005ddinitial QT documentation (Sjors) - #12232
fdc2188Improve “Turn Windows Features On or Off” step (MCFX2) - #12487
4528f74init: Remove translation for-blockmaxsizeoption help (laanwj) - #12546
a4a5fc7Minor improvements to Compatibility Notes (randolf) - #12434
21e2670dev-notes: Members should be initialized (MarcoFalke) - #12452
71f56daclarified systemd installation instructions in init.md for Ubuntu users (DaveFromBinary) - #12615
1f93491allow for SIGNER containing spaces (ken2812221) - #12603
85424d7PeerLogicValidation interface (jamesob) - #12581
12ac2f0Mention configure without wallet in FreeBSD instructions (dbolser) - #12619
8a709fbGive hint about gitian not able to download (kallewoof) - #12668
de2fcaado update before fetching packages in WSL build guide (nvercamm) - #12586
e7721e6Update osx brew install instruction (fanquake) - #12760
7466a26Improve documentation on standard communication channels (jimpo) - #12797
0415b1einit: Fix help message for checkblockindex (MarcoFalke) - #12800
2d97611Add note about our preference for scoped enumerations (“enum class”) (practicalswift) - #12798
174d016Refer to witness reserved value as spec. in the BIP (MarcoFalke) - #12759
d3908e2Improve formatting of developer notes (eklitzke) - #12877
2b54155Use bitcoind in Tor documentation (knoxcard) - #12896
b15485eFix conflicting statements about initialization in developer notes (practicalswift) - #12850
319991dadd qrencode to brew install instructions (buddilla) - #12007
cd8e45bClarify the meaning of fee delta not being a fee rate in prioritisetransaction RPC (honzik666) - #12927
06ead15fixed link, replaced QT with Qt (trulex) - #12852
ebd786bdevtools: Setup ots git integration (MarcoFalke) - #12933
3cf76c2Refine header include policy (MarcoFalke) - #12951
6df0c6cFix comment in FindForkInGlobalIndex (jamesob) - #12982
a63b4e3Fix inconsistent namespace formatting guidelines (ryanofsky) - #13026
9b3a67eFix include comment in src/interfaces/wallet.h (promag) - #13012
d1e3c5eAdd comments for chainparams.h, validation.cpp (jamesob) - #13064
569e381List support for BIP173 in bips.md (sipa) - #12997
646b7f6build-windows: Switch to Artful, since Zesty is EOL (MarcoFalke) - #12384
c5f7efeAdd version footnote to tor.md (Willtech) - #13165
627c376Mention good first issue list in CONTRIBUTING.md (fanquake) - #13295
fb77310Update OpenBSD build instructions for OpenBSD 6.3 (practicalswift) - #13340
3a8e3f4remove leftover check-doc documentation (fanquake) - #13346
60f0358update bitcoin-dot-org links in release-process.md (fanquake) - #13372
f014933split FreeBSD build instructions out of build-unix.md (steverusso) - #13366
861de3bRename “OS X” to the newer “macOS” convention (giulio92) - #13369
f8bcef3update transifex doc link (mess110) - #13312
b22115dAdd a note about the source code filename naming convention (practicalswift) - #13460
1939536Remove note to install all boost dev packages (MarcoFalke) - #13476
9501938Fix incorrect shell quoting in FreeBSD build instructions (murrayn) - #13402
43fa355Document validationinterace callback blocking deadlock potential (TheBlueMatt) - #13488
d6cf4bdImprove readability of “Squashing commits” (wodry) - #13531
ee02debClarify that mempool txiter isconst_iterator(MarcoFalke) - #13418
01f9098More precise explanation of parameter onlynet (wodry) - #13592
1756cb4Modify policy to not translate command-line help (ken2812221) - #13588
b77c38eImprove doc of options addnode, connect, seednode (wodry) - #13614
17e9106Update command line help for -printtoconsole and -debuglogfile (satwo, fanquake) - #13605
8cc048ecorrected text to reflect new(er) process of specifying fingerprints (jhfrontz) - #13481
b641f60Rewrite some validation docs as lock annotations (MarcoFalke) - #13680
30640f8Remove outdated comment about miner ignoring CPFP (jamesob) - #13625
7146672Add release notes for -printtoconsole and -debuglogfile changes (satwo) - #13718
f7f574dSpecify preferred Python string formatting technique (masonicboom) - #12764
10b9a81Remove field in getblocktemplate help that has never been used (conscott) - #13742
d2186b3Adjust bitcoincore.org links (MarcoFalke) - #13706
94dd89eMinor improvements to release-process.md (MitchellCash) - #13775
ef4fac0Remove newlines from error message (practicalswift) - #13803
feb7dd9add note to contributor docs about warranted PR’s (kallewoof) - #13814
67af7efAdd BIP174 to list of implemented BIPs (sipa) - #13835
c1cba35Fix memory consistency model in comment (skeees) - #13824
aa30e4bRemove outdated net comment (MarcoFalke) - #13853
317477acorrect versions in dependencies.md (fanquake) - #13872
37ab117Reformat -help output for help2man (real-or-random) - #13717
8c3c402Link to python style guidelines from developer notes (masonicboom) - #13895
1cd5f2cfix GetWarnings docs to reflect behavior (Empact) - #13911
3e3a50aRevert translated string change, clarify wallet log messages (PierreRochard) - #13908
d6faea4upgrade rescan time warning from minutes to >1 hour (masonicboom) - #13905
73a09b4fixed bitcoin-cli -help output for help2man (hebasto) - #14100
2936dbcChange documentation for =0 for non-boolean options (laanwj) - #14096
465a583Add reference documentation for descriptors language (sipa) - #12757
0c5f67bClarify include guard naming convention (practicalswift) - #13844
d3325b0Correct the help output for-prune(hebasto)
Credits
このリリースに直接貢献されたみなさん、ありがとうございます:
- 251
- 532479301
- Aaron Clauson
- Akio Nakamura
- Akira Takizawa
- Alex Morcos
- Alex Vear
- Alexey Ivanov
- Alin Rus
- Andrea Comand
- Andrew Chow
- Anthony Towns
- AtsukiTak
- Ben Woosley
- Bernhard M. Wiedemann
- Brandon Ruggles
- buddilla
- ccdle12
- Chris Moore
- Chun Kuan Lee
- Clem Taylor
- Conor Scott
- Conrado Gouvea
- Cory Fields
- Cristian Mircea Messel
- ctp-tsteenholdt
- Damian Williamson
- Dan Bolser
- Daniel Kraft
- Darko Janković
- DaveFromBinary
- David A. Harding
- DesWurstes
- Dimitris Apostolou
- donaloconnor
- Douglas Roark
- DrahtBot
- Drew Rasmussen
- e0
- Ernest Hemingway
- Ethan Heilman
- Evan Klitzke
- fanquake
- Felix Wolfsteller
- fivepiece
- Florian Schmaus
- Fuzzbawls
- Gabriel Davidian
- Giulio Lombardo
- Gleb
- Grady Laksmono
- GreatSock
- Gregory Maxwell
- Gregory Sanders
- Hennadii Stepanov
- Henrik Jonsson
- Indospace.io
- James O’Beirne
- Jan Čapek
- Jeff Frontz
- Jeff Rade
- Jeremy Rubin
- JeremyRand
- Jesse Cohen
- Jim Posen
- joemphilips
- John Bampton
- John Newbery
- johnlow95
- Johnson Lau
- Jonas Nick
- Jonas Schnelli
- João Barbosa
- Jorge Timón
- Josh Hartshorn
- Julian Fleischer
- kallewoof
- Karel Bilek
- Karl-Johan Alm
- Ken Lee
- Kevin Pan
- Kosta Zertsekel
- Kristaps Kaupe
- Kvaciral
- Lawrence Nahum
- Linrono
- lmanners
- Loganaden Velvindron
- Lowell Manners
- lucash.dev@gmail.com
- Luke Dashjr
- lutangar
- Marcin Jachymiak
- marcoagner
- MarcoFalke
- Mark Erhardt
- Mark Friedenbach
- Martin Ankerl
- Mason Simon
- Matt Corallo
- Matteo Sumberaz
- Max Kaplan
- MeshCollider
- Michał Zabielski
- Mitchell Cash
- mruddy
- mryandao
- murrayn
- Nick Vercammen
- Nicolas Dorier
- Nikolay Mitev
- okayplanet
- Pierre Rochard
- Pieter Wuille
- practicalswift
- Qasim Javed
- Randolf Richardson
- Richard Kiss
- Roman Zeyde
- Russell Yanofsky
- Samuel B. Atwood
- Sebastian Kung
- Sjors Provoost
- Steve Lee
- steverusso
- Suhas Daftuar
- Tamas Blummer
- TheCharlatan
- Thomas Kerin
- Thomas Snider
- Tim Ruffing
- Varunram
- Vasil Dimov
- Will Ayd
- William Robinson
- winder
- Wladimir J. van der Laan
- wodry
そしてセキュリティ問題を報告してくれた方:
- awemany (for CVE-2018-17144, previously credited as “anonymous reporter”)
Transifexでの翻訳を手伝ってくれたみなさんもありがとうございます。 {% endgithubify %}