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の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へのアップグレードやバージョン0.15.0からダウングレードを行うとこれまでの手数料算出データは破棄されます。
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ライクなシステムで動作するはずですが、それらで頻繁にテストはされていません。
0.15.0の注意事項
現在のSegwitサポート
バージョン0.15.0では、addwitnessaddress
RPCを介してsegregated witnessアドレスを追加することができますが、
これはテスト/エキスパート向けのRPCで、バックアップからのリカバリーを保証するものではありません。
あなたが何をしているのか理解している場合のみ、このRPCをを使用してください。
segregated witnessの完全なウォレットサポートは次のバージョンで導入されます。
暗号化されたウォレットの再スキャン
以前のバージョンと同様、暗号化されたHDウォレットを使っている場合、ウォレットをアンロックしなければキープールに鍵を追加できません。
これは、暗号化されたHDウォレットをバックアップからリカバリーするためには、ユーザーはウォレットをアンロックし手動で再スキャンを開始する必要があります。
そうしないと自動の鍵追加ができず鍵が失われる危険性があります。
残念ながら、このバージョンにはrescan
RPCはありませんが、将来のバージョンで導入される予定です。
そのため今のところは、別の信頼できるウォレットで生成されたダミーアドレスでimport*
系のコマンドを使用し再スキャンを実行できます。
注目の変更点
パフォーマンスの改善
バージョン0.15ではInitial Block Downloadや、起動、トランザクション及びブロックの検証の高速化など多くの重要なパフォーマンスの改竄がされています。
- (UTXOを追跡するために使われる)chainstateデータベースのフォーマットが、トランザクション単位のモデルからアウトプット単位のモデルに変更されました(PR 10195 参照)。
このモデルの利点は以下の通りです。
- 未使用のアウトプットをシリアライズ、デシリアライズするCPUのオーバーヘッドを回避します。
- メモリ使用量がより予測しやすくなります。
- コードがよりシンプルになります。
- 将来のさまざまなキャッシュフラッシュ方法に適応可能になります。
その結果Initial Block Download(IBD)中のブロックチェーンの検証と再インデックス化が30%〜40%速くなり、 メモリ使用量は10%〜20%抑えられ、ディスクへのフラッシュ回数もはるかに少なくなります。 唯一の欠点は、ディスク上のデータベースが15%ほど大きくなることです。 以前のフォーマットからの変換中に数ギガバイト使用されることがあります。
- 以前のバージョンでは、UTXOの更新をディスクにフラッシュする際にメモリ使用量が急増していました。
その結果、実際にキャッシュとして使用されるのは使用可能なメモリの半分だけで、残りの半分のメモリはフラッシュに対応するために確保されていました。
今回のバージョンで、このようなことはなくなり(PR 10148 参照)、
(
-dbcache
で指定された)有効なキャシュは全てキャッシュとして使用されるようになりました。 これによりディスクへのフラッシュ回数は2倍以上少なくなります。 - 以前のバージョンでは、トランザクションがメモリプールに受け入れられると、トランザクションの署名検証がキャッシュされていました。 バージョン0.15では、これを拡張しスクリプトの有効性全てをキャッシュします(PR 10192 参照)。 つまり、ブロック内のトランザクションが既にメモリプールにある場合、scriptSigの再評価は必要なくなります。 実験では、これにより新しいブロックの検証が40%〜50%速くなることが示されています。
- LevelDBをバージョン1.20にアップグレードしました(PR 10544 参照)。 このバージョンにはSSE 4.2をサポートするアーキテクチャ上のCRCのハードウェアアクセラレーションが含まれています。 その結果、同期とブロックの検証がより高速になりました。
- SHA256ハッシングがSSE 4をサポートするアーキテクチャ向けに最適化されました(PR 10821 参照)。
サポートされているハードウェア上ではSHA256が約50%速くなり、その結果IBDとブロックの検証が約5%速くなります。
バージョン0.15では、デフォルトのリリースビルドではSHA256のハードウェアの最適化は無効になっていますが、
ビルド時に
--enable-experimental-asm
を指定することで有効にすることができます。 - キープールの詰め替えにより各キーの間でウォレットがフラッシュされなくなり、新しいウォレットを作成する際のスピードが20倍高速になりました。 このスピードアップの一環で、デフォルトキープールを1000個に増やしリカバリーをより堅牢にしました(PR 10831 参照)。
手数料算出の改善
手数料の算出がバージョン0.15で大幅に改善されました。ウォレットでより正確な手数料の算出ができるようになり、アドバンスユーザー向けのestimatesmartfee
及びestimaterawfee
RPCでより広い範囲を指定できるようになりました。
内部ロジックとウォレットの変更内容
- 内部的に、手数料の算出は3つの異なる期間で追跡されるようになりました。これによりターゲットの長さを延ばすことができ、条件の変化をより迅速に予測することができます。
- 手数料の算出は現在、保守的(CONSERVATIVE)に算出する方法と経済的(ECONOMICAL)に算出する方法があります。保守的な算出では、手数料の条件の急激な変化に影響を受けにくい算出をするためより長い期間枠を使用します。経済的な算出では、より短い期間枠を使用し手数料の条件の短期的な変更の影響をより受けるようになります。経済的に算出すると、(週末などの)取引が少ない期間にはかなり手数料が低くなる可能性がありますが、手数料が急激に増えるとトランザクションが未承認になる可能性があります。
- デフォルトでは、ウォレットは希望するターゲット内でトランザクションが承認されるよう保守的に手数料を算出します。交換可能とマーキングされているトランザクションの場合、手数料算出の条件が急に変わった際に手数料を’引き上げる’ことができるため、ウォレットはデフォルトで経済的に手数料を算出します(PR 10589 参照)。
- 承認ターゲットを最大1008ブロック(1週間)まで指定して算出ができるようになりました。
- 過去の手数料率に関するより多くのデータが保存されるようになり、より正確に手数料を算出できるようになりました。
- 承認されずにメモリプールから取り除かれたトランザクションについても手数料の算出ロジックで考慮されるようになり、より正確な手数料の算出につながります。
- 手数料の算出ロジックは、意味のある手数料を返すために十分なデータが収集されているか確認します。データが不十分な場合は代わりにデフォルト手数料が使われます。
手数料算出のRPCの変更内容
- (GUIで使用されている実装)
estimatesmartfee
のみを使用するよう、estimatefee
RPCは非推奨になりました。 estimatesmartfee
RPCのインターフェースが変更されました(PR 10707 参照):- (他のRPCメソッドとの整合性のため)
nblocks
引数の名前がconf_target
に変更されました。 estimate_mode
引数が追加されました。この引数の後にはCONSERVATIVE
もしくはECONOMICAL
、UNSET
のいずれかの文字列を指定します(デフォルトはCONSERVATIVE
)。- RPCが返すオブジェクトに、処理中に発生したエラーを返すための
errors
要素が含まれるようになります。 - Bitcoin Coreが十分な時間実行されておらず、正確な手数料を算出するための十分なブロックやトランザクションがない場合は、エラーが返されます(以前のバージョンではエラーを示す-1が使われていましたが、手数料率と混乱するため
errors
になりました)。
- (他のRPCメソッドとの整合性のため)
- RAW手数料データを提供するため、新しく
estimaterawfee
RPCが追加されました。外部クライアントはこのデータを独自の手数料算出ロジックで照会し使用することができます。
マルチウォレットをサポート
Bitcoin Coreは複数の独立したウォレットをサポートします(PR 8694,PR 10849 参照)。 それぞれのウォレットの個々の残高、鍵、受信したトランザクションは完全に分離されています。
マルチウォレットは、Bitcoin Coreを起動する際に、コマンドラインもしくはconfigファイルに-wallet
を指定すると有効になります。
Bitcoin-QTでは、最初のウォレットのみが表示されトランザクションの作成や署名ができます。 将来バージョンではGUIで複数のウォレットを選択できるようになります。ただ0.15でも他のロードされたウォレットはバックグラウンドでノードと同期している状態になります。これはプルーニングノードを実行している場合に便利です。最新の同期がプルーニングされた高さを超えているウォレットをロードすると、ブロックチェーン全体をダウンロードし再検証する必要があります。バックグラウンドで全ウォレットを同期しておけば、この問題は回避できます。
Bitcoin Core 0.15.0には、マルチウォレットのサポートのため以下のRPCインターフェースとbitcoin-cli
の変更が含まれています:
- 単一のウォレットでBitcoin Coreを実行している場合は、RPCインターフェースや
bitcoin-cli
に変更はありません。全てのRPCコールおよびbitcoin-cli
コマンドは今までと同様に動作します。 - マルチウォレットでBitcoin Coreを実行している場合に、全てのノードレベルのRPCメソッドは今までと同様に動作します。HTTP RPCリクエストは通常の
<RPC IP address>:<RPC port>/
のエンドポイントに送信する必要があり、bitcoin-cli
コマンドも以前と同様に実行する必要があります。ノードレベルのRPCのメソッドはウォレットへアクセスする必要がない任意のメソッドです。 - マルチウォレットでBitcoin Coreを実行している場合に、ウォレットレベルのRPCメソッドは全てのリクエストでウォレットを指定する必要があります。HTTP RPCリクエストは
<RPC IP address>:<RPC port>/wallet/<wallet name>/
のエンドポイントに送信する必要があります(例:127.0.0.1:8332/wallet/wallet1.dat/
)。bitcoin-cli
コマンドは-rpcwallet
オプションを付けて実行する必要があります(例:bitcoin-cli -rpcwallet=wallet1.dat getbalance
)。 - 新しいノードレベルの
listwallets
RPCメソッドが追加され、現在ロードされているウォレットを表示します。このメソッドによって返される名前は、HTTPエンドポイント及びrpcwallet
の引数で使用される名前と同じです。
マルチウォレットは完全にサポートされていますが、RPCのマルチウォレットインターフェースはバージョン0.15.0では安定版ではなく、将来のバージョンで後方互換性のない変更が行われる可能性があります。
GUIでのReplace-by-feeの制御
Bitcoin Coreはバージョン0.12.0からオプトインreplace-by-fee (RBF)トランザクションの作成をサポートしており、
バージョン0.14.0から未承認のオプトインRBFトランザクションをより高い手数料を設定した新しいトランザクションに置き換えるbumpfee
RPCメソッドが含まれています。
バージョン0.15では、オプトインRBFトランザクションの作成と、未承認トランザクションをより高い手数料をセットしたトランザクションへ置き換える機能がGUIでサポートされます(PR 9592 参照)。
Coin Age Priorityの削除
これまでのバージョンのBitcoin Coreでは、各ブロックの一部は、使用されるUTXOの年齢と額が高いトランザクションを優先的に格納するために予約されていました。このコンセプト(Coin Age Priority)はマイナーが選択する事項であり、Coin Age Priorityの高いトランザクションをブロックに入れるというコンセンサスルールはありません。実際には少数のマイナーだけがブロックに入れるトランザクションの選択の際にCoin Age Priorityを使用し続けていました。Bitcoin Core 0.15.0では残っているCoin Age Priorityを全て削除します(PR 9602 参照)。これには以下の意味があります :
- フリートランザクションのコンセプトは無くなりました。Coin Age Priorityが高いトランザクションは、以前は手数料が無くてもリレーされていました。Coin Age Priorityのコンセプトが無くなったため、これはもはや不可能になります。そのためフリートランザクションのリレーを制御する
-limitfreerelay
オプションと-relaypriority
オプションが削除されました。 - ほとんどのマイナーは手数料の無いトランザクションをブロックに入れないため、
-sendfreetransactions
オプションは削除されました。 -blockprioritysize
オプションは削除されました。estimatepriority
とestimatesmartpriority
RPCは削除されました。getmempoolancestors
とgetmempooldescendants
、getmempoolentry
およびgetrawmempool
RPCはstartingpriority
とcurrentpriority
を返しません。prioritisetransaction
RPCはpriority_delta
引数を取ることがなくなり、引数の位置で判断するクライアントとの後方互換性のため、dummy
引数に置き換えられます。RPCは、引き続きfee_delta
引数を使ってトランザクションの見かけ上の手数料率を変更するのに使われます。-minrelaytxfee
に0がセットできるようになりました。minrelaytxfee
がセットされていると、手数料がminrelaytxfee
(kBあたり)より少ないトランザクションはリレーもマイニングもトランザクションの作成もされません。このデフォルト値は1000 satoshi/kBです。-printpriority
オプションが更新され、ブロックに含まれるトランザクションのハッシュと手数料率のみがマイニングコードで出力されるようになります。
再起動時のメモリプールの永続化
バージョン0.14.0で再起動時のメモリプールの永続化機能が導入されました(シャットダウン前にメモリプールのデータがデータディレクトリ内のmempool.dat
ファイルに保存され、ノードが起動するとそのファイルからメモリプールが復元されます)。バージョン0.15.0では、この機能のオン・オフを-persistmempool
コマンドライン・オプションで切り替えられます(PR 9966 参照)。デフォルトでは、このオプションはtrueに設定されており、シャットダウン時にメモリプールは保存され、次回起動時にそこからリロードされます。falseに設定すると起動時にmempool.dat
ファイルからロードされることはなく、シャットダウン時に保存されることもありません。
新しいRPCメソッド
バージョン0.15では新しいRPCメソッドがいくつか追加されています :
abortrescan
は、importprivkey
などのトリガーで発生した現在のウォレットの再スキャンを停止します(PR 10208 参照)。combinerawtransaction
は、RAWトランザクションの配列をJSONで受け取り、1つのRAWトランザクションにします(PR 10571 参照)。estimaterawfee
は、データを分析し手数料を算出するための独自のロジックを実装できるようRAW手数料データを返します。手数料算出ロジックとインターフェースの変更の詳細については、手数料算出の改善を参照してください。getchaintxstats
はチェーン内のトランザクションの総数と割合に関する統計を返します(PR 9733 参照)。listwallets
は、現在ロードされているウォレットのリストを返します。詳細はこのリリースノートのマルチウォレットセクションを参照してください(マルチウォレットをサポート 参照)。uptime
は、bitcoind
サーバーの起動してからの時間を返します(PR 10400 参照)。
低レベルRPCの変更内容
-
マルチウォレットモードでBitcoin Coreを使用する場合、ウォレット関連のRPCメソッドのリクエストでは、対象のウォレットを指定する必要があります。詳細はマルチウォレットをサポートを参照してください。
- 新しいデータベースモデルは、未使用のアウトプットのトランザクションのバージョンに関する情報は保存されません(パフォーマンスの改善 参照)。その結果、
gettxout
RPCのレスポンスからversion
フィールドがなくなりました。gettxoutsetinfo
RPCは、hash_serialized
に代わってhash_serialized_2
を返します。これはトランザクションのバージョンにコミットするのではなく、高さおよびコインベースの情報にコミットします。getutxos
RESTパスはJSON形式をtxvers
フィールドを返さず、バイナリ形式のトランザクションバージョンは常に0を返します。
-
estimatefee
RPCは非推奨になりました。クライアントは、より正確な手数料を算出するestimatesmartfee
RPCを使うように切り替える必要があります。 手数料算出のロジックとインターフェースの変更の詳細については手数料算出の改善を参照してください。 -
gettxoutsetinfo
のレスポンスにbytes_serialized
に代わってdisk_size
とbogosize
が含まれるようになりました。disk_size
は実際のディスク使用量より正確な算出ですが、確定的ではありません。bogosize
はディスクの使用量とは関係がありませんが、UTXOセットサイズのデータベースに依存しないメトリックです。UTXOの各エントリーを50 + 各scriptPubKeyのサイズでカウントします(PR 10426 参照)。 -
signrawtransaction
は複数のトランザクションを1つのトランザクションに結合するためには使用できなくなりました。代わりに新しいcombinerawtransaction
RPCを使ってください(PR 10571 参照)。 -
fundrawtransaction
はreserveChangeKey
オプションを受け入れなくなりました。このオプションを使うとRPCユーザーは、キープールからおつり用のアドレスを削除することなく、そのアドレスの鍵をRAWトランザクションに資金を提供するのに使うことができます。この鍵がgetnewaddress
が呼ばれたときに再利用されると、混乱したり危険な動作を引き起こす可能性があります(PR 10784 参照)。 -
estimatepriority
とestimatesmartpriority
が削除されました。Coin Age Priorityの削除を参照してください。 listunspent
RPCがquery_options
引数を取るようになりました(PR 8952 参照)。この引数はJSONオブジェクトで1つ以上の以下の要素が含まれます。minimumAmount
- UTXOの最小のvalueを指定する数値maximumAmount
- UTXOの最大のvalueを指定する数値maximumCount
- UTXOの最大数を指定する数値minimumSumAmount
- 全てのUTXOの最小合計値を指定する数値
-
getmempoolancestors
とgetmempooldescendants
、getmempoolentry
およびgetrawmempool
のRPCはstartingpriority
とcurrentpriority
を返しません。Coin Age Priorityの削除を参照してください。 -
dumpwallet
RPCはダンプされたウォレットの絶対パスを返すようになりました。これまでは成功しても何も値を返しませんでした(PR 9740 参照)。 -
getpeerinfo
RPCでは、各ピアの戻り値のオブジェクトにaddrbind
要素が含まれるようになりました。これにはピアへの接続のIPアドレスとポートが含まれます。さらにピアによって報告されたローカルノードのIPアドレスとポートを含むaddrlocal
要素が追加されています(PR 10478 参照)。 -
disconnectnode
RPCは、(IPアドレス/ポートと同様)ノードIDを指定してノードを切断できるようになりました。ノードIDを指定してノードを切断する際は、新しいnodeid
引数を使ってRPCをコールしてください(PR 10143 参照)。 -
Bitcoin CoreはCoin Age Priorityのコンセプトを持たなくなったので、
prioritisetransaction
の第二引数はpriority_delta
からdummy
に変更されました。この引数に機能的な意味はありませんが、引数の位置の互換性を保つために保持されています。Coin Age Priorityの削除を参照してください。 -
-walletbroadcast
オプションにfalseがセットされている場合、resendwallettransactions
RPCはエラーを投げます(PR 10995 参照)。 -
submitblock
RPCの第二引数がparameters
からdummy
にリネームされました。この引数はこれまでも何の効果もなく、リネームは単にその事実をユーザーに伝えるためのものです(PR 10191 参照)。 (ただしBIP22との互換性を保つためには、クライアントはsubmitblock
の位置引数を使用する必要があります。) -
getblock
のverbose
引数はverbosity
にリネームされ、0から2までの整数が使用されるようになりました。Verboseレベル0はverbose=false
に相当します。Verboseレベル1はverbose=true
に相当します。Verboseレベル2はgetrawtransaction
で与えられたアウトプット内の各トランザクションの完全なトランザクションの詳細を提供します。verbose
の名前付き引数とbool値を指定する旧使用方法も、互換性のため維持されます。 - 以下のエラーケースにおいて、エラーコードがより正確に更新されています(PR 9853 参照):
- (例えばブロックがプルーニングされているなどで)ブロックがディスク上に見つからない場合、
getblock
はRPC_MISC_ERRORを返します。これまではRPC_INTERNAL_ERRORを返していました。 - ノードがプルーニングモードになっていないためブロックをプルーニングできない場合、
pruneblockchain
はRPC_MISC_ERRORを返します。これまではRPC_METHOD_NOT_FOUNDを返していました。 - 指定されたタイムスタンプが遅すぎてブロックをブルーニングできない場合、
pruneblockchain
は RPC_INVALID_PARAMETERを返します。これまではRPC_INTERNAL_ERRORを返していました。 - ブロックチェーンが短すぎるためブロックをプルーニングできない場合、
pruneblockchain
は RPC_MISC_ERRORを返します。これはまではRPC_INTERNAL_ERRORを返していました。 - 指定されたIPアドレスまたはサブネットが無効な場合、
setban
はRPC_CLIENT_INVALID_IP_OR_SUBNETを返します。 これまではRPC_CLIENT_NODE_ALREADY_ADDEDを返していました。 - ユーザーがbanされていないノードをunbanしようとした場合、
setban
はRPC_CLIENT_INVALID_IP_OR_SUBNETを返します。 これまではRPC_MISC_ERRORを返していました。 bitcoind
がトランザクションを削除できない場合、removeprunedfunds
はRPC_WALLET_ERRORを返します。 これまではRPC_INTERNAL_ERRORを返していました。- トランザクションがウォレット内に存在しない場合、
removeprunedfunds
はRPC_INVALID_PARAMETERを返します。 これまではRPC_INTERNAL_ERRORを返していました。 - 無効なおつり用のアドレスが指定された場合、
fundrawtransaction
はRPC_INVALID_ADDRESS_OR_KEYを返します。 これまではRPC_INVALID_PARAMETERを返していました。 bitcoind
がトランザクションを作れない場合、fundrawtransaction
はRPC_WALLET_ERRORを返します。 これまではRPC_INTERNAL_ERRORを返していました。- ウォレット内に指定されたトランザクションの子孫がある場合、
bumpfee
はRPC_INVALID_PARAMETERを返します。 これまではRPC_MISC_ERRORを返していました。 - メモリプール内に指定されたトランザクションの子孫がある場合、
bumpfee
はRPC_INVALID_PARAMETERを返します。 これまではRPC_MISC_ERRORを返していました。 - 指定されたトランザクションがマイニングされたものか、マイニングされたものと競合する場合、
bumpfee
はRPC_WALLET_ERRORを返します。これまではRPC_INVALID_ADDRESS_OR_KEYを返していました。 - 指定されたトランザクションがBIP 125の置換可能なトランザクションでない場合、
bumpfee
はRPC_WALLET_ERRORを返します。これまではRPC_INVALID_ADDRESS_OR_KEYを返していました。 - 指定されたトランザクションが既に別のトランザクションで手数料が引き上げられている場合、
bumpfee
はRPC_WALLET_ERRORを返します。これまではRPC_INVALID_REQUESTを返していました。 - 指定されたトランザクションにこのウォレットの管理下にないインプットが含まれていた場合、
bumpfee
はRPC_WALLET_ERRORを返します。これまではRPC_INVALID_ADDRESS_OR_KEYを返していました。 - 指定されたトランザクションに複数のおつり用のアウトプットがある場合、
bumpfee
はRPC_WALLET_ERRORを返します。 これまではRPC_MISC_ERRORを返していました。 - 指定されたトランザクションにおつり用のアウトプットがない場合、
bumpfee
はRPC_WALLET_ERRORを返します。 これまではRPC_MISC_ERRORを返していました。 - 手数料が高すぎる場合、
bumpfee
はRPC_WALLET_ERRORを返します。これまではRPC_MISC_ERRORを返していました。 - 手数料が低すぎる場合、
bumpfee
はRPC_WALLET_ERRORを返します。これまではRPC_MISC_ERRORを返していました。 - おつり用のアウトプットが小さすぎ手数料を引き上げることができない場合、
bumpfee
はRPC_WALLET_ERRORを返します。 これまではRPC_MISC_ERRORを返していました。
- (例えばブロックがプルーニングされているなどで)ブロックがディスク上に見つからない場合、
0.15.0のチェンジログ
RPCと他のAPI
- #9485
61a640e
ZMQ example using python3 and asyncio (mcelrath) - #9894
0496e15
remove ‘label’ filter for rpc command help (instagibbs) - #9853
02bd6e9
Fix error codes from various RPCs (jnewbery) - #9842
598ef9c
Fix RPC failure testing (continuation of #9707) (jnewbery) - #10038
d34995a
Add mallocinfo mode togetmemoryinfo
RPC (laanwj) - #9500
3568b30
[Qt] [RPC] Autocomplete commands for ‘help’ command in debug console (achow101) - #10056
e6156a0
[zmq] Call va_end() on va_start()ed args (kallewoof) - #10086
7438cea
Trivial: move rpcserialversion into RPC option group (jlopp) - #10150
350b224
[rpc] Add logging rpc (jnewbery) - #10208
393160c
[wallet] Rescan abortability (kallewoof) - #10143
a987def
[net] Allow disconnectnode RPC to be called with node id (jnewbery) - #10281
0e8499c
doc: Add RPC interface guidelines (laanwj) - #9733
d4732f3
Add getchaintxstats RPC (sipa) - #10310
f4b15e2
[doc] Add hint about getmempoolentry to getrawmempool help (kallewoof) - #8704
96c850c
[RPC] Transaction details in getblock (achow101) - #8952
9390845
Add query options to listunspent RPC call (pedrobranco) - #10413
08ac35a
Fix docs (there’s no rpc command setpaytxfee) (RHavar) - #8384
e317c0d
Add witness data output to TxInError messages (instagibbs) - #9571
4677151
RPC: getblockchaininfo returns BIP signaling statistics (pinheadmz) - #10450
ef2d062
Fix bumpfee rpc “errors” return value (ryanofsky) - #10475
39039b1
[RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate (instagibbs) - #10478
296928e
rpc: Add listen address to incoming connections ingetpeerinfo
(laanwj) - #10403
08d0390
Fix importmulti failure to return rescan errors (ryanofsky) - #9740
9fec4da
Add friendly output to dumpwallet (aideca) - #10426
16f6c98
Replace bytes_serialized with bogosize (sipa) - #10252
980deaf
RPC/Mining: Restore API compatibility for prioritisetransaction (luke-jr) - #9672
46311e7
Opt-into-RBF for RPC & bitcoin-tx (luke-jr) - #10481
9c248e3
Decodehextx scripts sanity check (achow101) - #10488
fa1f106
Note that the prioritizetransaction dummy value is deprecated, and has no meaning (TheBlueMatt) - #9738
c94b89e
gettxoutproof() should return consistent result (jnewbery) - #10191
00350bd
[trivial] Rename unused RPC arguments ‘dummy’ (jnewbery) - #10627
b62b4c8
fixed listunspent rpc convert parameter (tnakagawa) - #10412
bef02fb
Improve wallet rescan API (ryanofsky) - #10400
1680ee0
[RPC] Add an uptime command that displays the amount of time (in seconds) bitcoind has been running (rvelhote) - #10683
d81bec7
rpc: Move thegenerate
RPC call to rpcwallet (laanwj) - #10710
30bc0f6
REST/RPC example update (Mirobit) - #10747
9edda0c
[rpc] fix verbose argument for getblock in bitcoin-cli (jnewbery) - #10589
104f5f2
More economical fee estimates for RBF and RPC options to control (morcos) - #10543
b27b004
Change API to estimaterawfee (morcos) - #10807
afd2fca
getbalance example covers at least 6 confirms (instagibbs) - #10707
75b5643
Better API for estimatesmartfee RPC (morcos) - #10784
9e8d6a3
Do not allow users to get keys from keypool without reserving them (TheBlueMatt) - #10857
d445a2c
[RPC] Add a deprecation warning to getinfo’s output (achow101) - #10571
adf170d
[RPC]Move transaction combining from signrawtransaction to new RPC (achow101) - #10783
041dad9
[RPC] Various rpc argument fixes (instagibbs) - #9622
6ef3c7e
[rpc] listsinceblock should include lost transactions when parameter is a reorg’d block (kallewoof) - #10799
8537187
Prevent user from specifying conflicting parameters to fundrawtx (TheBlueMatt) - #10931
0b11a07
Fix misleading “Method not found” multiwallet errors (ryanofsky) - #10788
f66c596
[RPC] Fix addwitnessaddress by replacing ismine with producesignature (achow101) - #10999
627c3c0
Fix amounts formatting indecoderawtransaction
(laanwj) - #11002
4268426
[wallet] return correct error code from resendwallettransaction (jnewbery) - #11029
96a63a3
[RPC] trivial: gettxout no longer shows version of tx (FelixWeis) - #11083
6c2b008
Fix combinerawtransaction RPC help result section (jonasnick) - #11027
07164bb
[RPC] Only return hex field once in getrawtransaction (achow101) - #10698
5af6572
Be consistent in calling transactions “replaceable” for Opt-In RBF (TheBlueMatt)
ブロックおよびトランザクションのハンドリング
- #9801
a8c5751
Removed redundant parameter from mempool.PrioritiseTransaction (gubatron) - #9819
1efc99c
Remove harmless read of unusued priority estimates (morcos) - #9822
b7547fa
Remove block file location upgrade code (benma) - #9602
30ff3a2
Remove coin age priority and free transactions - implementation (morcos) - #9548
47510ad
Remove min reasonable fee (morcos) - #10249
c73af54
Switch CCoinsMap from boost to std unordered_map (sipa) - #9966
2a183de
Control mempool persistence using a command line parameter (jnewbery) - #10199
318ea50
Better fee estimates (morcos) - #10196
bee3529
Bugfix: PrioritiseTransaction updates the mempool tx counter (sdaftuar) - #10195
1088b02
Switch chainstate db and cache to per-txout model (sipa) - #10284
c2ab38b
Always log debug information for fee calculation in CreateTransaction (morcos) - #10503
efbcf2b
Use REJECT_DUPLICATE for already known and conflicted txn (sipa) - #10537
b3eb0d6
Few Minor per-utxo assert-semantics re-adds and tweak (TheBlueMatt) - #10626
8c841a3
doc: Remove outdated minrelaytxfee comment (MarcoFalke) - #10559
234ffc6
Change semantics of HaveCoinInCache to match HaveCoin (morcos) - #10581
7878353
Simplify return values of GetCoin/HaveCoin(InCache) (sipa) - #10684
a381f6a
Remove no longer used mempool.exists(outpoint) (morcos) - #10148
d4e551a
Use non-atomic flushing with block replay (sipa) - #10685
30c2130
Clarify CCoinsViewMemPool documentation (TheBlueMatt) - #10558
90a002e
Address nits from per-utxo change (morcos) - #10706
6859ad2
Improve wallet fee logic and fix GUI bugs (morcos) - #10526
754aa02
Force on-the-fly compaction during pertxout upgrade (sipa) - #10985
d896d5c
Add undocumented -forcecompactdb to force LevelDB compactions (sipa) - #10292
e4bbd3d
Improved efficiency in COutPoint constructors (mm-s) - #10290
8d6d43e
Add -stopatheight for benchmarking (sipa)
P2Pプロトコルとネットワークコード
- #9726
7639d38
netbase: Do not print an error on connection timeouts through proxy (laanwj) - #9805
5b583ef
Add seed.btc.petertodd.org to mainnet DNS seeds (petertodd) - #9861
22f609f
Trivial: Debug log ambiguity fix for peer addrs (keystrike) - #9774
90cb2a2
Enable host lookups for -proxy and -onion parameters (jmcorgan) - #9558
7b585cf
Clarify assumptions made about when BlockCheck is called (TheBlueMatt) - #10135
e19586a
[p2p] Send the correct error code in reject messages (jnewbery) - #9665
eab00d9
Use cached [compact] blocks to respond to getdata messages (TheBlueMatt) - #10215
a077a90
Check interruptNet during dnsseed lookups (TheBlueMatt) - #10234
faf2dea
[net] listbanned RPC and QT should show correct banned subnets (jnewbery) - #10134
314ebdf
[qa] Fixes segwit block relay test after inv-direct-fetch was disabled (sdaftuar) - #10351
3f57c55
removed unused code in INV message (Greg-Griffith) - #10061
ae78609
[net] Added SetSocketNoDelay() utility function (tjps) - #10408
28c6e8d
Net: Improvements to Tor control port parser (str4d) - #10460
5c63d66
Broadcast address every day, not 9 hours (sipa) - #10471
400fdd0
Denote functions CNode::GetRecvVersion() and CNode::GetRefCount() as const (pavlosantoniou) - #10345
67700b3
[P2P] Timeout for headers sync (sdaftuar) - #10564
8d9f45e
Return early in IsBanned (gmaxwell) - #10587
de8db47
Net: Fix resource leak in ReadBinaryFile(…) (practicalswift) - #9549
b33ca14
[net] Avoid possibility of NULL pointer dereference in MarkBlockAsInFlight(…) (practicalswift) - #10446
2772dc9
net: avoid extra dns query per seed (theuni) - #10824
9dd6a2b
Avoid unnecessary work in SetNetworkActive (promag) - #10948
df3a6f4
p2p: Hardcoded seeds update pre-0.15 branch (laanwj) - #10977
02f4c4a
[net] Fix use of uninitialized value in getnetworkinfo(const JSONRPCRequest&) (practicalswift) - #10982
c8b62c7
Disconnect network service bits 6 and 8 until Aug 1, 2018 (TheBlueMatt) - #11012
0e5cff6
Make sure to clean up mapBlockSource if we’ve already seen the block (theuni)
検証
- #9725
67023e9
CValidationInterface Cleanups (TheBlueMatt) - #10178
2584925
Remove CValidationInterface::UpdatedTransaction (TheBlueMatt) - #10201
a6548a4
pass Consensus::Params& to functions in validation.cpp and make them static (mariodian) - #10297
431a548
Simplify DisconnectBlock arguments/return value (sipa) - #10464
f94b7d5
Introduce static DoWarning (simplify UpdateTip) (jtimon) - #10569
2e7d8f8
Fix stopatheight (achow101) - #10192
2935b46
Cache full script execution results in addition to signatures (TheBlueMatt) - #10179
21ed30a
Give CValidationInterface Support for calling notifications on the CScheduler Thread (TheBlueMatt) - #10557
66270a4
Make check to distinguish between orphan txs and old txs more efficient (morcos) - #10775
7c2400c
nCheckDepth chain height fix (romanornr) - #10821
16240f4
Add SSE4 optimized SHA256 (sipa) - #10854
04d395e
Avoid using sizes on non-fixed-width types to derive protocol constants (gmaxwell) - #10945
2a50b11
Update defaultAssumeValid according to release-process.md (gmaxwell) - #10986
2361208
Update chain transaction statistics (sipa) - #11028
6bdf4b3
Avoid masking of difficulty adjustment errors by checkpoints (sipa) - #9533
cb598cf
Allow non-power-of-2 signature cache sizes (sipa) - #9208
acd9957
Improve DisconnectTip performance (sdaftuar) - #10618
f90603a
Remove confusing MAX_BLOCK_BASE_SIZE (gmaxwell) - #10758
bd92424
Fix some chainstate-init-order bugs (TheBlueMatt) - #10550
b7296bc
Don’t return stale data from CCoinsViewCache::Cursor() (ryanofsky) - #10998
2507fd5
Fix upgrade cancel warnings (TheBlueMatt) - #9868
cbdb473
Abstract out the command line options for block assembly (sipa)
ビルドシステム
- #9727
5f0556d
Remove fallbacks for boost_filesystem < v3 (laanwj) - #9788
50a2265
gitian: bump descriptors for master (theuni) - #9794
7ca2f54
Minor update to qrencode package builder (mitchellcash) - #9514
2cc0df1
release: Windows signing script (theuni) - #9921
8b789d8
build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL (laanwj) - #10011
32d1b34
build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (laanwj) - #9946
90dd9e6
Fix build errors if spaces in path or parent directory (pinheadmz) - #10136
81da4c7
build: Disable Wshadow warning (laanwj) - #10166
64962ae
Ignore Doxyfile generated from Doxyfile.in template (paveljanik) - #10239
0416ea9
Make Boost use std::atomic internally (sipa) - #10228
27faa6c
build: regenerate bitcoin-config.h as necessary (theuni) - #10273
8979f45
[scripts] Minor improvements tomacdeployqtplus
script (chrisgavin) - #10325
a26280b
0.15.0 Depends Updates (fanquake) - #10328
79aeff6
Update contrib/debian to latest Ubuntu PPA upload (TheBlueMatt) - #7522
d25449f
Bugfix: Only use git for build info if the repository is actually the right one (luke-jr) - #10489
e654d61
build: silence gcc7’s implicit fallthrough warning (theuni) - #10549
ad1a13e
Avoid printing generic and duplicated “checking for QT” during ./configure (drizzt) - #10628
8465b68
[depends] expat 2.2.1 (fanquake) - #10806
db825d2
build: verify that the assembler can handle crc32 functions (theuni) - #10766
b4d03be
Building Environment: Set ARFLAGS to cr (ReneNyffenegger) - #10803
91edda8
Explicitly search for bdb5.3 (pstratem) - #10855
81560b0
random: only use getentropy on openbsd (theuni) - #10508
1caafa6
Run Qt wallet tests on travis (ryanofsky) - #10851
e222618
depends: fix fontconfig with newer glibc (theuni) - #10971
88b1e4b
build: fix missing sse42 in depends builds (theuni) - #11097
129b03f
gitian: quick hack to fix version string in releases (theuni) - #10039
919aaf6
Fix compile errors with Qt 5.3.2 and Boost 1.55.0 (ryanofsky) - #10168
7032021
Fix build warning from #error text (jnewbery) - #10301
318392c
Check if sys/random.h is required for getentropy (jameshilliard)
GUI
- #9724
1a9fd5c
Qt/Intro: Add explanation of IBD process (luke-jr) - #9834
b00ba62
qt: clean up initialize/shutdown signals (benma) - #9481
ce01e62
[Qt] Show more significant warning if we fall back to the default fee (jonasschnelli) - #9974
b9f930b
Add basic Qt wallet test (ryanofsky) - #9690
a387d3a
Change ‘Clear’ button string to ‘Reset’ (da2x) - #9592
9c7b7cf
[Qt] Add checkbox in the GUI to opt-in to RBF when creating a transaction (ryanofsky) - #10098
2b477e6
Make qt wallet test compatible with qt4 (ryanofsky) - #9890
1fa4ae6
Add a button to open the config file in a text editor (ericshawlinux) - #10156
51833a1
Fix for issues with startup and multiple monitors on windows (AllanDoensen) - #10177
de01da7
Changed “Send” button default status from true to false (KibbledJiveElkZoo) - #10221
e96486c
Stop treating coinbase outputs differently in GUI: show them at 1conf (TheBlueMatt) - #10231
987a6c0
[Qt] Reduce a significant cs_main lock freeze (jonasschnelli) - #10242
f6f3b58
[qt] Don’t call method on null WalletModel object (ryanofsky) - #10093
a3e756b
[Qt] Don’t add arguments of sensitive command to console window (jonasschnelli) - #10362
95546c8
[GUI] Add OSX keystroke to RPCConsole info (spencerlievens) - #9697
962cd3f
[Qt] simple fee bumper with user verification (jonasschnelli) - #10390
e477516
[wallet] remove minimum total fee option (instagibbs) - #10420
4314544
Add Qt tests for wallet spends & bumpfee (ryanofsky) - #10454
c1c9a95
Fix broken q4 test build (ryanofsky) - #10449
64beb13
Overhaul Qt fee bumper (jonasschnelli) - #10582
7c72fb9
Pass in smart fee slider value to coin control dialog (morcos) - #10673
4c72cc3
[qt] Avoid potential null pointer dereference in TransactionView::exportClicked() (practicalswift) - #10769
8fdd23a
[Qt] replace fee slider with a Dropdown, extend conf. targets (jonasschnelli) - #10870
412b466
[Qt] Use wallet 0 in rpc console if running with multiple wallets (jonasschnelli) - #10988
a9dd111
qt: Increase BLOCK_CHAIN_SIZE constants (laanwj) - #10644
e292140
Slightly overhaul NSI pixmaps (jonasschnelli) - #10660
0c3542e
Allow to cancel the txdb upgrade via splashscreen keypress ‘q’ (jonasschnelli)
ウォレット
- #9359
f7ec7cf
Add test for CWalletTx::GetImmatureCredit() returning stale values (ryanofsky) - #9576
56ab672
[wallet] Remove redundant initialization (practicalswift) - #9333
fa625b0
Document CWalletTx::mapValue entries and remove erase of nonexistent “version” entry (ryanofsky) - #9906
72fb515
Disallow copy constructor CReserveKeys (instagibbs) - #9369
3178b2c
Factor out CWallet::nTimeSmart computation into a method (ryanofsky) - #9830
afcd7c0
Add safe flag to listunspent result (NicolasDorier) - #9993
c49355c
Initialize nRelockTime (pstratem) - #9818
3d857f3
Save watch only key timestamps when reimporting keys (ryanofsky) - #9294
f34cdcb
Use internal HD chain for change outputs (hd split) (jonasschnelli) - #10164
e183ea2
Wallet: reduce excess logic InMempool() (kewde) - #10186
c9ff4f8
Remove SYNC_TRANSACTION_NOT_IN_BLOCK magic number (jnewbery) - #10226
64c45aa
wallet: Use boost to more portably ensure -wallet specifies only a filename (luke-jr) - #9827
c91ca0a
Improve ScanForWalletTransactions return value (ryanofsky) - #9951
fa1ac28
Wallet database handling abstractions/simplifications (laanwj) - #10265
c29a0d4
[wallet] [moveonly] Check non-null pindex before potentially referencing (kallewoof) - #10283
a550f6e
Cleanup: reduce to one GetMinimumFee call signature (morcos) - #10294
e2b99b1
[Wallet] unset change position when there is no change (instagibbs) - #10115
d3dce0e
Avoid reading the old hd master key during wallet encryption (TheBlueMatt) - #10341
18c9deb
rpc/wallet: Workaround older UniValue which returns a std::string temporary for get_str (luke-jr) - #10308
94e5227
[wallet] Securely erase potentially sensitive keys/values (tjps) - #10257
ea1fd43
[test] Add test for getmemoryinfo (jimmysong) - #10295
ce8176d
[qt] Move some WalletModel functions into CWallet (ryanofsky) - #10506
7cc2c67
Fix bumpfee test after #10449 (ryanofsky) - #10500
098b01d
Avoid CWalletTx copies in GetAddressBalances and GetAddressGroupings (ryanofsky) - #10455
0747d33
Simplify feebumper minimum fee code slightly (ryanofsky) - #10522
2805d60
[wallet] Remove unused variables (practicalswift) - #8694
177433a
Basic multiwallet support (luke-jr) - #10598
7a74f88
Supress struct/class mismatch warnings introduced in #10284 (paveljanik) - #9343
209eef6
Don’t create change at dust limit (morcos) - #10744
ed88e31
Use method name via func macro (darksh1ne) - #10712
e8b9523
Add change output if necessary to reduce excess fee (morcos) - #10816
1c011ff
Properly forbid -salvagewallet and -zapwallettxes for multi wallet (morcos) - #10235
5cfdda2
Track keypool entries as internal vs external in memory (TheBlueMatt) - #10330
bf0a08b
[wallet] fix zapwallettxes interaction with persistent mempool (jnewbery) - #10831
0b01935
Batch flushing operations to the walletdb during top up and increase keypool size (gmaxwell) - #10795
7b6e8bc
No longer ever reuse keypool indexes (TheBlueMatt) - #10849
bde4f93
Multiwallet: simplest endpoint support (jonasschnelli) - #10817
9022aa3
Redefine Dust and add a discard_rate (morcos) - #10883
bf3b742
Rename -usewallet to -rpcwallet (morcos) - #10604
420238d
[wallet] [tests] Add listwallets RPC, include wallet name ingetwalletinfo
and add multiwallet test (jnewbery) - #10885
70888a3
Reject invalid wallets (promag) - #10949
af56397
Clarify help message for -discardfee (morcos) - #10942
2e857bb
Eliminate fee overpaying edge case when subtracting fee from recipients (morcos) - #10995
fa64636
Fix resendwallettransactions assert failure if -walletbroadcast=0 (TheBlueMatt) - #11022
653a46d
Basic keypool topup (jnewbery) - #11081
9fe1f6b
Add length check for CExtKey deserialization (jonasschnelli, guidovranken) - #11044
4ef8374
[wallet] Keypool topup cleanups (jnewbery) - #11145
e51bb71
Fix rounding bug in calculation of minimum change (morcos) - #9605
779f2f9
Use CScheduler for wallet flushing, remove ThreadFlushWalletDB (TheBlueMatt) - #10108
4e3efd4
ApproximateBestSubset should take inputs by reference, not value (RHavar)
テストとQA
- #9744
8efd1c8
Remove unused module from rpc-tests (34ro) - #9657
7ff4a53
Improve rpc-tests.py (jnewbery) - #9766
7146d96
Add –exclude option to rpc-tests.py (jnewbery) - #9577
d6064a8
Fix docstrings in qa tests (jnewbery) - #9823
a13a417
qa: Set correct path for binaries in rpc tests (MarcoFalke) - #9847
6206252
Extra test vector for BIP32 (sipa) - #9350
88c2ae3
[Trivial] Adding label for amount inside of tx_valid/tx_invalid.json (Christewart) - #9888
36afd4d
travis: Verify commits only for one target (MarcoFalke) - #9904
58861ad
test: Fail if InitBlockIndex fails (laanwj) - #9828
67c5cc1
Avoid -Wshadow warnings in wallet_tests (ryanofsky) - #9832
48c3429
[qa] assert_start_raises_init_error (NicolasDorier) - #9739
9d5fcbf
Fix BIP68 activation test (jnewbery) - #9547
d32581c
bench: Assert that division by zero is unreachable (practicalswift) - #9843
c78adbf
Fix segwit getblocktemplate test (jnewbery) - #9929
d5ce14e
tests: Delete unused function _rpchost_to_args (laanwj) - #9555
19be26a
[test] Avoid reading a potentially uninitialized variable in tx_invalid-test (transaction_tests.cpp) (practicalswift) - #9945
ac23a7c
Improve logging in bctest.py if there is a formatting mismatch (jnewbery) - #9768
8910b47
[qa] Add logging to test_framework.py (jnewbery) - #9972
21833f9
Fix extended rpc tests broken by #9768 (jnewbery) - #9977
857d1e1
QA: getblocktemplate_longpoll.py should always use >0 fee tx (sdaftuar) - #9970
3cc13ea
Improve readability of segwit.py, smartfees.py (sdaftuar) - #9497
2c781fb
CCheckQueue Unit Tests (JeremyRubin) - #10024
9225de2
[trivial] Use log.info() instead of print() in remaining functional test cases (jnewbery) - #9956
3192e52
Reorganise qa directory (jnewbery) - #10017
02d64bd
combine_logs.py - aggregates log files from multiple bitcoinds during functional tests (jnewbery) - #10047
dfef6b6
[tests] Remove unused variables and imports (practicalswift) - #9701
a230b05
Make bumpfee tests less fragile (ryanofsky) - #10053
ca20923
[test] Allow functional test cases to be skipped (jnewbery) - #10052
a0b1e57
[test] Run extended tests once daily in Travis (jnewbery) - #10069
1118493
[QA] Fix typo in fundrawtransaction test (NicolasDorier) - #10083
c044f03
[QA] Renaming rawTx into rawtx (NicolasDorier) - #10073
b1a4f27
Actually run assumevalid.py (jnewbery) - #9780
c412fd8
Suppress noisy output from qa tests in Travis (jnewbery) - #10096
79af9fb
Check that all test scripts in test/functional are being run (jnewbery) - #10076
5b029aa
[qa] combine_logs: Use ordered list for logfiles (MarcoFalke) - #10107
f2734c2
Remove unused variable. Remove accidental trailing semicolons in Python code (practicalswift) - #10109
8ac8041
Remove SingleNodeConnCB (jnewbery) - #10114
edc62c9
[tests] sync_with_ping should assert that ping hasn’t timed out (jnewbery) - #10128
427d2fd
Speed Up CuckooCache tests (JeremyRubin) - #10072
12af74b
Remove sources of unreliablility in extended functional tests (jnewbery) - #10077
ebfd653
[qa] Add setnetworkactive smoke test (MarcoFalke) - #10152
080d7c7
[trivial] remove unused line in Travis config (jnewbery) - #10159
df1ca9e
[tests] color test results and sort alphabetically (jnewbery) - #10124
88799ea
[test] Suppress test logging spam (jnewbery) - #10142
ed09dd3
Run bitcoin_test-qt under minimal QPA platform (ryanofsky) - #9949
a27dbc5
[bench] Avoid function call arguments which are pointers to uninitialized values (practicalswift) - #10187
b44adf9
tests: Fix test_runner return value in case of skipped test (laanwj) - #10197
d86bb07
[tests] Functional test warnings (jnewbery) - #10219
9111df9
Tests: Order Python Tests Differently (jimmysong) - #10229
f3db4c6
Tests: Add test for getdifficulty (jimmysong) - #10224
2723bcd
[test] Add test for getaddednodeinfo (jimmysong) - #10023
c530c15
[tests] remove maxblocksinflight.py (functionality covered by other test) (jnewbery) - #10097
1b25b6d
Move zmq test skipping logic into individual test case (jnewbery) - #10272
54e2d87
[Tests] Prevent warning: variable ‘x’ is uninitialized (paveljanik) - #10225
e0a7e19
[test] Add aborttrescan tests (kallewoof) - #10278
8254a8a
[test] Add Unit Test for GetListenPort (jimmysong) - #10280
47535d7
[test] Unit test amount.h/amount.cpp (jimmysong) - #10256
80c3a73
[test] Add test for gettxout to wallet.py (jimmysong) - #10264
492d22f
[test] Add tests for getconnectioncount, getnettotals and ping (jimmysong) - #10169
8f3e384
[tests] Remove func test code duplication (jnewbery) - #10198
dc8fc0c
[tests] Remove is_network_split from functional test framework (jnewbery) - #10255
3c5e6c9
[test] Add test for listaddressgroupings (jimmysong) - #10137
75171f0
Remove unused import. Remove accidental trailing semicolons (practicalswift) - #10307
83073de
[tests] allow zmq test to be run in out-of-tree builds (jnewbery) - #10344
e927483
[tests] Fix abandonconflict.py intermittency (jnewbery) - #10318
170bc2c
[tests] fix wait_for_inv() (jnewbery) - #10171
fff72de
[tests] Add node methods to test framework (jnewbery) - #10352
23d78c4
test: Add elapsed time to RPC tracing (laanwj) - #10342
6a796b2
[tests] Improve mempool_persist test (jnewbery) - #10287
776ba23
[tests] Update Unit Test for addrman.h/addrman.cpp (jimmysong) - #10365
7ee5236
[tests] increase timeouts in sendheaders test (jnewbery) - #10361
f6241b3
qa: disablewallet: Check that wallet is really disabled (MarcoFalke) - #10371
4b766fc
[tests] Clean up addrman_tests.cpp (jimmysong) - #10253
87abe20
[test] Add test for getnetworkhashps (jimmysong) - #10376
8bd16ee
[tests] fix disconnect_ban intermittency (jnewbery) - #10374
5411997
qa: Warn when specified test is not found (MarcoFalke) - #10405
0542978
tests: Correct testcase in script_tests.json for large number OP_EQUAL (laanwj) - #10429
6b99daf
tests: fix spurious addrman test failure (theuni) - #10433
8e57256
[tests] improve tmpdir structure (jnewbery) - #10415
217b416
[tests] Speed up fuzzing by ~200x when using afl-fuzz (practicalswift) - #10445
b4b057a
Add test for empty chain and reorg consistency for gettxoutsetinfo (gmaxwell) - #10423
1aefc94
[tests] skipped tests should clean up after themselves (jnewbery) - #10359
329fc1d
[tests] functional tests should call BitcoinTestFramework start/stop node methods (jnewbery) - #10514
e103b3f
Bugfix: missing == 0 after randrange (sipa) - #10515
c871f32
[test] Add test for getchaintxstats (jimmysong) - #10509
bea5b00
Remove xvfb configuration from travis (ryanofsky) - #10535
30853e1
[qa] fundrawtx: Fix shutdown race (MarcoFalke) - #9909
300f8e7
tests: Add FindEarliestAtLeast test for edge cases (ryanofsky) - #10331
75e898c
Share config between util and functional tests (jnewbery) - #10321
e801084
Use FastRandomContext for all tests (sipa) - #10524
6c2d81f
[tests] Remove printf(…) (practicalswift) - #10547
71ab6e5
[tests] Use FastRandomContext instead of boost::random::{mt19937,uniform_int_distribution} (practicalswift) - #10551
6702617
[Tests] Wallet encryption functional tests (achow101) - #10555
643fa0b
[tests] various improvements to zmq_test.py (jnewbery) - #10533
d083bd9
[tests] Use cookie auth instead of rpcuser and rpcpassword (achow101) - #10632
c68a9a6
qa: Add stopatheight test (MarcoFalke) - #10636
4bc853b
[qa] util: Check return code after closing bitcoind proc (MarcoFalke) - #10662
e0a7801
Initialize randomness in benchmarks (achow101) - #10612
7c87a9c
The young person’s guide to the test_framework (jnewbery) - #10659
acb1153
[qa] blockchain: Pass on closed connection during generate call (MarcoFalke) - #10690
416af3e
[qa] Bugfix: allow overriding extra_args in ComparisonTestFramework (sdaftuar) - #10556
65cc7aa
Move stop/start functions from utils.py into BitcoinTestFramework (jnewbery) - #10704
dd07f47
[tests] nits in dbcrash.py (jnewbery) - #10743
be82498
[test] don’t run dbcrash.py on Travis (jnewbery) - #10761
d3b5870
[tests] fix replace_by_fee.py (jnewbery) - #10759
1d4805c
Fix multi_rpc test for hosts that dont default to utf8 (TheBlueMatt) - #10190
e4f226a
[tests] mining functional tests (including regression test for submitblock) (jnewbery) - #10739
1fc783f
test: Move variablestate
down where it is used (paveljanik) - #9980
fee0d80
Fix mem access violation merkleblock (Christewart) - #10893
0c173a1
[QA] Avoid running multiwallet.py twice (jonasschnelli) - #10927
9d5e8f9
test: Make sure wallet.backup is created in temp path (laanwj) - #10899
f29d5db
[test] Qt: Use _putenv_s instead of setenv on Windows builds (brianmcmichael) - #10912
5c8eb79
[tests] Fix incorrect memory_cleanse(…) call in crypto_tests.cpp (practicalswift) - #11001
fa8a063
[tests] Test disconnecting unsupported service bits logic (jnewbery) - #10695
929fd72
[qa] Rewrite BIP65/BIP66 functional tests (sdaftuar) - #10963
ecd2135
[bench] Restore format state of cout after printing with std::fixed/setprecision (practicalswift) - #11025
e5d26e4
qa: Fix inv race in example_test (MarcoFalke) - #10765
2c811e0
Tests: address placement should be deterministic by default (ReneNyffenegger) - #11000
ac016e1
test: Add resendwallettransactions functional tests (promag) - #11032
aeb3175
[qa] Fix block message processing error in sendheaders.py (sdaftuar) - #10105
0b9fb68
[tests] fixup - make all Travis test runs quiet, non just cron job runs (jnewbery) - #10222
6ce7337
[tests] test_runner - check unicode (jnewbery) - #10327
35da2ae
[tests] remove import-abort-rescan.py (jnewbery) - #11023
bf74d37
[tests] Add option to attach a python debugger if functional test fails (jnewbery) - #10565
8c2098a
[coverage] Remove subtrees and benchmarks from coverage report (achow101)
その他
- #9871
be8ba2c
Add a tree sha512 hash to merge commits (sipa) - #9821
d19d45a
util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (laanwj) - #9903
ba80a68
Docs: add details to -rpcclienttimeout doc (ian-kelling) - #9910
53c300f
Docs: correct and elaborate -rpcbind doc (ian-kelling) - #9905
01b7cda
[contrib] gh-merge: Move second sha512 check to the end (MarcoFalke) - #9880
4df8213
Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (TheBlueMatt) - #9932
00c13ea
Fix verify-commits on travis and always check top commit’s tree (TheBlueMatt) - #9952
6996e06
Add historical release notes for 0.14.0 (laanwj) - #9940
fa99663
Fix verify-commits on OSX, update for new bad Tree-SHA512, point travis to different keyservers (TheBlueMatt) - #9963
8040ae6
util: Properly handle errors during log message formatting (laanwj) - #9984
cce056d
devtools: Make github-merge compute SHA512 from git, instead of worktree (laanwj) - #9995
8bcf934
[doc] clarify blockchain size and pruning (askmike) - #9734
0c17afc
Add updating of chainTxData to release process (sipa) - #10063
530fcbd
add missing spaces so that markdown recognizes headline (flack) - #10085
db1ae54
Docs: remove ‘noconnect’ option (jlopp) - #10090
8e4f7e7
Update bitcoin.conf with example for pruning (coinables) - #9424
1a5aaab
Change LogAcceptCategory to use uint32_t rather than sets of strings (gmaxwell) - #10036
fbf36ca
Fix init README format to render correctly on github (jlopp) - #10058
a2cd0b0
No need to use OpenSSL malloc/free (tjps) - #10123
471ed00
Allow debug logs to be excluded from specified component (jnewbery) - #10104
fadf078
linearize script: Option to use RPC cookie (achow101) - #10162
a3a2160
[trivial] Log calls to getblocktemplate (jnewbery) - #10155
928695b
build: Deduplicate version numbers (laanwj) - #10211
a86255b
[doc] Contributor fixes & new “finding reviewers” section (kallewoof) - #10250
1428f30
Fix some empty vector references (sipa) - #10270
95f5e44
Remove Clang workaround for Boost 1.46 (fanquake) - #10263
cb007e4
Trivial: fix fee estimate write error log message (CryptAxe) - #9670
bd9ec0e
contrib: github-merge improvements (laanwj) - #10260
1d75597
[doc] Minor corrections to osx dependencies (fanquake) - #10189
750c5a5
devtools/net: add a verifier for scriptable changes. Use it to make CNode::id private (theuni) - #10322
bc64b5a
Use hardware timestamps in RNG seeding (sipa) - #10381
7f2b9e0
Shadowing warnings are not enabled by default, update doc accordingly (paveljanik) - #10380
b6ee855
[doc] Removing comments about dirty entries on txmempool (madeo) - #10383
d0c37ee
[logging] log system time and mock time (jnewbery) - #10404
b45a52a
doc: Add logging to FinalizeNode() (sdaftuar) - #10388
526e839
Output line to debug.log when IsInitialBlockDownload latches to false (morcos) - #10372
15254e9
Add perf counter data to GetStrongRandBytes state in scheduler (TheBlueMatt) - #10461
55b72f3
Update style guide (sipa) - #10486
10e8c0a
devtools: Retry after signing fails in github-merge (laanwj) - #10447
f259263
Make bitcoind invalid argument error message specific (laanwj) - #10495
6a38b79
contrib: Update location of seeds.txt (laanwj) - #10469
b6b150b
Fixing typo in rpcdump.cpp help message (keystrike) - #10451
27b9931
contrib/init/bitcoind.openrcconf: Don’t disable wallet by default (luke-jr) - #10323
00d3692
Update to latest libsecp256k1 master (sipa) - #10422
cec9e1e
Fix timestamp in fee estimate debug message (morcos) - #10566
5d034ee
[docs] Use the “domain name setup” image (previously unused) in the gitian docs (practicalswift) - #10534
a514ac3
Clarify prevector::erase and avoid swap-to-clear (sipa) - #10575
22ec768
Header include guideline (sipa) - #10480
fbf5d3b
Improve commit-check-script.sh (sipa) - #10502
1ad3d4e
scripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE (jtimon) - #10377
b63be2c
Use rdrand as entropy source on supported platforms (sipa) - #9895
228c319
Turn TryCreateDirectory() into TryCreateDirectories() (benma) - #10602
d76e84a
Make clang-format use C++11 features (e.g.A<A<int>>
instead ofA<A<int> >
) (practicalswift) - #10623
c38f540
doc: Add 0.14.2 release notes (MarcoFalke) - #10276
b750b33
contrib/verifybinaries: allow filtering by platform (knocte) - #10248
01c4b14
Rewrite addrdb with less duplication using CHashVerifier (sipa) - #10577
232508f
Add an explanation of quickly hashing onto a non-power of two range (gmaxwell) - #10608
eee398f
Add a comment explaining the use of MAX_BLOCK_BASE_SIZE (gmaxwell) - #10728
7397af9
fix typo in help text for removeprunedfunds (AkioNak) - #10193
6dbcc74
scripted-diff: Remove #include <boost/foreach.hpp> (jtimon) - #10676
379aed0
document script-based return fields for validateaddress (instagibbs) - #10651
cef4b5c
Verify binaries from bitcoincore.org and bitcoin.org (TheBlueMatt) - #10786
ca4c545
Add PR description to merge commit in github-merge.py (sipa) - #10812
c5904e8
[utils] Allow bitcoin-cli’s -rpcconnect option to be used with square brackets (jnewbery) - #10842
3895e25
Fix incorrect Doxygen tag (@ince → @since). Doxygen parameter name matching (practicalswift) - #10681
df0793f
add gdb attach process to test README (instagibbs) - #10789
1124328
Punctuation/grammer fixes in rpcwallet.cpp (stevendlander) - #10655
78f307b
Properly document target_confirmations in listsinceblock (RHavar) - #10917
5c003cb
developer-notes: add reference to snake_case and PascalCase (benma) - #11003
4b5a7ce
Docs: Capitalize bullet points in CONTRIBUTING guide (eklitzke) - #10968
98aa3f6
Add instructions for parallel gitian builds (coblee) - #11076
1c4b9b3
0.15 release-notes nits: fix redundancy, remove accidental parenthesis & fix range style (practicalswift) - #11090
8f0121c
Update contributor names in release-notes.md (Derek701) - #11056
cbdd338
disable jni in builds (instagibbs) - #11080
2b59cfb
doc: Update build-openbsd for 6.1 (laanwj) - #11119
0a6af47
[doc] build-windows: Mention that only trusty works (MarcoFalke) - #11108
e8ad101
Changing -txindex requires -reindex, not -reindex-chainstate (TheBlueMatt) - #9792
342b9bc
FastRandomContext improvements and switch to ChaCha20 (sipa) - #9505
67ed40e
Prevector Quick Destruct (JeremyRubin) - #10820
ef37f20
Use cpuid intrinsics instead of asm code (sipa) - #9999
a328904
[LevelDB] Plug leveldb logs to bitcoin logs (NicolasDorier) - #9693
c5e9e42
Prevent integer overflow in ReadVarInt (gmaxwell) - #10129
351d0ad
scheduler: fix sub-second precision with boost < 1.50 (theuni) - #10153
fade788
logging: Fix off-by-one for shrinkdebugfile default (MarcoFalke) - #10305
c45da32
Fix potential NPD introduced in b297426c (TheBlueMatt) - #10338
daf3e7d
Maintain state across GetStrongRandBytes calls (sipa) - #10544
a4fe077
Update to LevelDB 1.20 (sipa) - #10614
cafe24f
random: fix crash on some 64bit platforms (theuni) - #10714
2a09a38
Avoid printing incorrect block indexing time due to uninitialized variable (practicalswift) - #10837
8bc6d1f
Fix resource leak on error in GetDevURandom (corebob) - #10832
89bb036
init: Factor out AppInitLockDataDirectory and fix startup core dump issue (laanwj) - #10914
b995a37
Add missing lock in CScheduler::AreThreadsServicingQueue() (TheBlueMatt) - #10958
659c096
Update to latest Bitcoin patches for LevelDB (sipa) - #10919
c1c671f
Fix more init bugs (TheBlueMatt)
クレジット
このリリースに直接貢献されたみなさん、ありがとうございます :
- ロハン ダル
- Ahmad Kazi
- aideca
- Akio Nakamura
- Alex Morcos
- Allan Doensen
- Andres G. Aragoneses
- Andrew Chow
- Angel Leon
- Awemany
- Bob McElrath
- Brian McMichael
- BtcDrak
- Charlie Lee
- Chris Gavin
- Chris Stewart
- Cory Fields
- CryptAxe
- Dag Robole
- Daniel Aleksandersen
- Daniel Cousens
- darksh1ne
- Dimitris Tsapakidis
- Eric Shaw
- Evan Klitzke
- fanquake
- Felix Weis
- flack
- Guido Vranken
- Greg Griffith
- Gregory Maxwell
- Gregory Sanders
- Ian Kelling
- Jack Grigg
- James Evans
- James Hilliard
- Jameson Lopp
- Jeremy Rubin
- Jimmy Song
- João Barbosa
- Johnathan Corgan
- John Newbery
- Jonas Schnelli
- Jorge Timón
- Karl-Johan Alm
- kewde
- KibbledJiveElkZoo
- Kirit Thadaka
- kobake
- Kyle Honeycutt
- Lawrence Nahum
- Luke Dashjr
- Marco Falke
- Marcos Mayorga
- Marijn Stollenga
- Mario Dian
- Mark Friedenbach
- Marko Bencun
- Masahiko Hyuga
- Matt Corallo
- Matthew Zipkin
- Matthias Grundmann
- Michael Goldstein
- Michael Rotarius
- Mikerah
- Mike van Rossum
- Mitchell Cash
- Nicolas Dorier
- Patrick Strateman
- Pavel Janík
- Pavlos Antoniou
- Pavol Rusnak
- Pedro Branco
- Peter Todd
- Pieter Wuille
- practicalswift
- René Nyffenegger
- Ricardo Velhote
- romanornr
- Russell Yanofsky
- Rusty Russell
- Ryan Havar
- shaolinfry
- Shigeya Suzuki
- Simone Madeo
- Spencer Lievens
- Steven D. Lander
- Suhas Daftuar
- Takashi Mitsuta
- Thomas Snider
- Timothy Redaelli
- tintinweb
- tnaka
- Warren Togami
- Wladimir J. van der Laan
Transifexでの翻訳を手伝ってくれたみなさんもありがとうございます。