Aixcoin Core 0.15.0
Aixcoin Core installation binaries can be downloaded from aixcoin-core.github.io and the source-code is available from the Aixcoin Core source repository.
Aixcoin Core バージョン 0.15.0 は以下から入手可能です。
https://aixcoin-core.github.io/bin/aixcoin-core-0.15.0/
これは新しい機能やさまざまなバグフィックス及びパフォーマンスの向上が含まれる新しいメジャーバージョンリリースです。
バグを発見した場合はGitHubのIssue Trackerを使用して報告してください。
https://github.com/aixcoin/aixcoin/issues
セキュリティやアップデートの通知を受け取りたい場合は、以下に登録してください。
https://aixcoin-core.github.io/en/list/announcements/join/
アップグレード方法
旧バージョンを起動している場合はシャットダウンしてください。
完全にシャットダウンするのを待ってから(旧バージョンでは数分かかるかもしれません)、
Windowsの場合はインストーラーを実行、Macの場合は/Applications/Aixcoin-Qtを上書き、
Linuxの場合はaixcoind/aixcoin-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のデータ構造を旧フォーマットで再構築する必要があります。
もしノードでプルーニングが有効になっている場合は、ブロックチェーンの全データを再ダウンロードして処理することになります。
互換性
Aixcoin CoreはLinuxカーネルやmacOS 10.8以降、Windows Vista以降などの複数のオペレーティングシステムで幅広くテストされています。 Windows XPはサポートされていません。
Aixcoin Coreは他のほとんどのUnixライクなシステムで動作するはずですが、それらで頻繁にテストはされていません。
0.15.0の注意事項
現在のSegwitサポート
バージョン0.15.0では、addwitnessaddress RPCを介してsegregated witnessアドレスを追加することができますが、
これはテスト/エキスパート向けのRPCで、バックアップからのリカバリーを保証するものではありません。
あなたが何をしているのか理解している場合のみ、このRPCをを使用してください。
segregated witnessの完全なウォレットサポートは次のバージョンで導入されます。
暗号化されたウォレットの再スキャン
以前のバージョンと同様、暗号化されたHDウォレットを使っている場合、ウォレットをアンロックしなければキープールに鍵を追加できません。
これは、暗号化されたHDウォレットをバックアップからリカバリーするためには、ユーザーはウォレットをアンロックし手動で再スキャンを開始する必要があります。
そうしないと自動の鍵追加ができず鍵が失われる危険性があります。
残念ながら、このバージョンにはrescanRPCはありませんが、将来のバージョンで導入される予定です。
そのため今のところは、別の信頼できるウォレットで生成されたダミーアドレスで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のみを使用するよう、estimatefeeRPCは非推奨になりました。 estimatesmartfeeRPCのインターフェースが変更されました(PR 10707 参照):- (他のRPCメソッドとの整合性のため)
nblocks引数の名前がconf_targetに変更されました。 estimate_mode引数が追加されました。この引数の後にはCONSERVATIVEもしくはECONOMICAL、UNSETのいずれかの文字列を指定します(デフォルトはCONSERVATIVE)。- RPCが返すオブジェクトに、処理中に発生したエラーを返すための
errors要素が含まれるようになります。 - Aixcoin Coreが十分な時間実行されておらず、正確な手数料を算出するための十分なブロックやトランザクションがない場合は、エラーが返されます(以前のバージョンではエラーを示す-1が使われていましたが、手数料率と混乱するため
errorsになりました)。
- (他のRPCメソッドとの整合性のため)
- RAW手数料データを提供するため、新しく
estimaterawfeeRPCが追加されました。外部クライアントはこのデータを独自の手数料算出ロジックで照会し使用することができます。
マルチウォレットをサポート
Aixcoin Coreは複数の独立したウォレットをサポートします(PR 8694,PR 10849 参照)。 それぞれのウォレットの個々の残高、鍵、受信したトランザクションは完全に分離されています。
マルチウォレットは、Aixcoin Coreを起動する際に、コマンドラインもしくはconfigファイルに-walletを指定すると有効になります。
Aixcoin-QTでは、最初のウォレットのみが表示されトランザクションの作成や署名ができます。 将来バージョンではGUIで複数のウォレットを選択できるようになります。ただ0.15でも他のロードされたウォレットはバックグラウンドでノードと同期している状態になります。これはプルーニングノードを実行している場合に便利です。最新の同期がプルーニングされた高さを超えているウォレットをロードすると、ブロックチェーン全体をダウンロードし再検証する必要があります。バックグラウンドで全ウォレットを同期しておけば、この問題は回避できます。
Aixcoin Core 0.15.0には、マルチウォレットのサポートのため以下のRPCインターフェースとaixcoin-cliの変更が含まれています:
- 単一のウォレットでAixcoin Coreを実行している場合は、RPCインターフェースや
aixcoin-cliに変更はありません。全てのRPCコールおよびaixcoin-cliコマンドは今までと同様に動作します。 - マルチウォレットでAixcoin Coreを実行している場合に、全てのノードレベルのRPCメソッドは今までと同様に動作します。HTTP RPCリクエストは通常の
<RPC IP address>:<RPC port>/のエンドポイントに送信する必要があり、aixcoin-cliコマンドも以前と同様に実行する必要があります。ノードレベルのRPCのメソッドはウォレットへアクセスする必要がない任意のメソッドです。 - マルチウォレットでAixcoin Coreを実行している場合に、ウォレットレベルのRPCメソッドは全てのリクエストでウォレットを指定する必要があります。HTTP RPCリクエストは
<RPC IP address>:<RPC port>/wallet/<wallet name>/のエンドポイントに送信する必要があります(例:127.0.0.1:8332/wallet/wallet1.dat/)。aixcoin-cliコマンドは-rpcwalletオプションを付けて実行する必要があります(例:aixcoin-cli -rpcwallet=wallet1.dat getbalance)。 - 新しいノードレベルの
listwalletsRPCメソッドが追加され、現在ロードされているウォレットを表示します。このメソッドによって返される名前は、HTTPエンドポイント及びrpcwalletの引数で使用される名前と同じです。
マルチウォレットは完全にサポートされていますが、RPCのマルチウォレットインターフェースはバージョン0.15.0では安定版ではなく、将来のバージョンで後方互換性のない変更が行われる可能性があります。
GUIでのReplace-by-feeの制御
Aixcoin Coreはバージョン0.12.0からオプトインreplace-by-fee (RBF)トランザクションの作成をサポートしており、
バージョン0.14.0から未承認のオプトインRBFトランザクションをより高い手数料を設定した新しいトランザクションに置き換えるbumpfee RPCメソッドが含まれています。
バージョン0.15では、オプトインRBFトランザクションの作成と、未承認トランザクションをより高い手数料をセットしたトランザクションへ置き換える機能がGUIでサポートされます(PR 9592 参照)。
Coin Age Priorityの削除
これまでのバージョンのAixcoin Coreでは、各ブロックの一部は、使用されるUTXOの年齢と額が高いトランザクションを優先的に格納するために予約されていました。このコンセプト(Coin Age Priority)はマイナーが選択する事項であり、Coin Age Priorityの高いトランザクションをブロックに入れるというコンセンサスルールはありません。実際には少数のマイナーだけがブロックに入れるトランザクションの選択の際にCoin Age Priorityを使用し続けていました。Aixcoin Core 0.15.0では残っているCoin Age Priorityを全て削除します(PR 9602 参照)。これには以下の意味があります :
- フリートランザクションのコンセプトは無くなりました。Coin Age Priorityが高いトランザクションは、以前は手数料が無くてもリレーされていました。Coin Age Priorityのコンセプトが無くなったため、これはもはや不可能になります。そのためフリートランザクションのリレーを制御する
-limitfreerelayオプションと-relaypriorityオプションが削除されました。 - ほとんどのマイナーは手数料の無いトランザクションをブロックに入れないため、
-sendfreetransactionsオプションは削除されました。 -blockprioritysizeオプションは削除されました。estimatepriorityとestimatesmartpriorityRPCは削除されました。getmempoolancestorsとgetmempooldescendants、getmempoolentryおよびgetrawmempoolRPCはstartingpriorityとcurrentpriorityを返しません。prioritisetransactionRPCは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は、aixcoindサーバーの起動してからの時間を返します(PR 10400 参照)。
低レベルRPCの変更内容
-
マルチウォレットモードでAixcoin Coreを使用する場合、ウォレット関連のRPCメソッドのリクエストでは、対象のウォレットを指定する必要があります。詳細はマルチウォレットをサポートを参照してください。
- 新しいデータベースモデルは、未使用のアウトプットのトランザクションのバージョンに関する情報は保存されません(パフォーマンスの改善 参照)。その結果、
gettxoutRPCのレスポンスからversionフィールドがなくなりました。gettxoutsetinfoRPCは、hash_serializedに代わってhash_serialized_2を返します。これはトランザクションのバージョンにコミットするのではなく、高さおよびコインベースの情報にコミットします。getutxosRESTパスはJSON形式をtxversフィールドを返さず、バイナリ形式のトランザクションバージョンは常に0を返します。
-
estimatefeeRPCは非推奨になりました。クライアントは、より正確な手数料を算出するestimatesmartfeeRPCを使うように切り替える必要があります。 手数料算出のロジックとインターフェースの変更の詳細については手数料算出の改善を参照してください。 -
gettxoutsetinfoのレスポンスにbytes_serializedに代わってdisk_sizeとbogosizeが含まれるようになりました。disk_sizeは実際のディスク使用量より正確な算出ですが、確定的ではありません。bogosizeはディスクの使用量とは関係がありませんが、UTXOセットサイズのデータベースに依存しないメトリックです。UTXOの各エントリーを50 + 各scriptPubKeyのサイズでカウントします(PR 10426 参照)。 -
signrawtransactionは複数のトランザクションを1つのトランザクションに結合するためには使用できなくなりました。代わりに新しいcombinerawtransactionRPCを使ってください(PR 10571 参照)。 -
fundrawtransactionはreserveChangeKeyオプションを受け入れなくなりました。このオプションを使うとRPCユーザーは、キープールからおつり用のアドレスを削除することなく、そのアドレスの鍵をRAWトランザクションに資金を提供するのに使うことができます。この鍵がgetnewaddressが呼ばれたときに再利用されると、混乱したり危険な動作を引き起こす可能性があります(PR 10784 参照)。 -
estimatepriorityとestimatesmartpriorityが削除されました。Coin Age Priorityの削除を参照してください。 listunspentRPCが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の削除を参照してください。 -
dumpwalletRPCはダンプされたウォレットの絶対パスを返すようになりました。これまでは成功しても何も値を返しませんでした(PR 9740 参照)。 -
getpeerinfoRPCでは、各ピアの戻り値のオブジェクトにaddrbind要素が含まれるようになりました。これにはピアへの接続のIPアドレスとポートが含まれます。さらにピアによって報告されたローカルノードのIPアドレスとポートを含むaddrlocal要素が追加されています(PR 10478 参照)。 -
disconnectnodeRPCは、(IPアドレス/ポートと同様)ノードIDを指定してノードを切断できるようになりました。ノードIDを指定してノードを切断する際は、新しいnodeid引数を使ってRPCをコールしてください(PR 10143 参照)。 -
Aixcoin CoreはCoin Age Priorityのコンセプトを持たなくなったので、
prioritisetransactionの第二引数はpriority_deltaからdummyに変更されました。この引数に機能的な意味はありませんが、引数の位置の互換性を保つために保持されています。Coin Age Priorityの削除を参照してください。 -
-walletbroadcastオプションにfalseがセットされている場合、resendwallettransactionsRPCはエラーを投げます(PR 10995 参照)。 -
submitblockRPCの第二引数が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を返していました。 aixcoindがトランザクションを削除できない場合、removeprunedfundsはRPC_WALLET_ERRORを返します。 これまではRPC_INTERNAL_ERRORを返していました。- トランザクションがウォレット内に存在しない場合、
removeprunedfundsはRPC_INVALID_PARAMETERを返します。 これまではRPC_INTERNAL_ERRORを返していました。 - 無効なおつり用のアドレスが指定された場合、
fundrawtransactionはRPC_INVALID_ADDRESS_OR_KEYを返します。 これまではRPC_INVALID_PARAMETERを返していました。 aixcoindがトランザクションを作れない場合、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
61a640eZMQ example using python3 and asyncio (mcelrath) - #9894
0496e15remove ‘label’ filter for rpc command help (instagibbs) - #9853
02bd6e9Fix error codes from various RPCs (jnewbery) - #9842
598ef9cFix RPC failure testing (continuation of #9707) (jnewbery) - #10038
d34995aAdd mallocinfo mode togetmemoryinfoRPC (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
7438ceaTrivial: 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
0e8499cdoc: Add RPC interface guidelines (laanwj) - #9733
d4732f3Add getchaintxstats RPC (sipa) - #10310
f4b15e2[doc] Add hint about getmempoolentry to getrawmempool help (kallewoof) - #8704
96c850c[RPC] Transaction details in getblock (achow101) - #8952
9390845Add query options to listunspent RPC call (pedrobranco) - #10413
08ac35aFix docs (there’s no rpc command setpaytxfee) (RHavar) - #8384
e317c0dAdd witness data output to TxInError messages (instagibbs) - #9571
4677151RPC: getblockchaininfo returns BIP signaling statistics (pinheadmz) - #10450
ef2d062Fix bumpfee rpc “errors” return value (ryanofsky) - #10475
39039b1[RPC] getmempoolinfo mempoolminfee is a AIX/KB feerate (instagibbs) - #10478
296928erpc: Add listen address to incoming connections ingetpeerinfo(laanwj) - #10403
08d0390Fix importmulti failure to return rescan errors (ryanofsky) - #9740
9fec4daAdd friendly output to dumpwallet (aideca) - #10426
16f6c98Replace bytes_serialized with bogosize (sipa) - #10252
980deafRPC/Mining: Restore API compatibility for prioritisetransaction (luke-jr) - #9672
46311e7Opt-into-RBF for RPC & aixcoin-tx (luke-jr) - #10481
9c248e3Decodehextx scripts sanity check (achow101) - #10488
fa1f106Note that the prioritizetransaction dummy value is deprecated, and has no meaning (TheBlueMatt) - #9738
c94b89egettxoutproof() should return consistent result (jnewbery) - #10191
00350bd[trivial] Rename unused RPC arguments ‘dummy’ (jnewbery) - #10627
b62b4c8fixed listunspent rpc convert parameter (tnakagawa) - #10412
bef02fbImprove wallet rescan API (ryanofsky) - #10400
1680ee0[RPC] Add an uptime command that displays the amount of time (in seconds) aixcoind has been running (rvelhote) - #10683
d81bec7rpc: Move thegenerateRPC call to rpcwallet (laanwj) - #10710
30bc0f6REST/RPC example update (Mirobit) - #10747
9edda0c[rpc] fix verbose argument for getblock in aixcoin-cli (jnewbery) - #10589
104f5f2More economical fee estimates for RBF and RPC options to control (morcos) - #10543
b27b004Change API to estimaterawfee (morcos) - #10807
afd2fcagetbalance example covers at least 6 confirms (instagibbs) - #10707
75b5643Better API for estimatesmartfee RPC (morcos) - #10784
9e8d6a3Do 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
8537187Prevent user from specifying conflicting parameters to fundrawtx (TheBlueMatt) - #10931
0b11a07Fix misleading “Method not found” multiwallet errors (ryanofsky) - #10788
f66c596[RPC] Fix addwitnessaddress by replacing ismine with producesignature (achow101) - #10999
627c3c0Fix 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
6c2b008Fix combinerawtransaction RPC help result section (jonasnick) - #11027
07164bb[RPC] Only return hex field once in getrawtransaction (achow101) - #10698
5af6572Be consistent in calling transactions “replaceable” for Opt-In RBF (TheBlueMatt)
ブロックおよびトランザクションのハンドリング
- #9801
a8c5751Removed redundant parameter from mempool.PrioritiseTransaction (gubatron) - #9819
1efc99cRemove harmless read of unusued priority estimates (morcos) - #9822
b7547faRemove block file location upgrade code (benma) - #9602
30ff3a2Remove coin age priority and free transactions - implementation (morcos) - #9548
47510adRemove min reasonable fee (morcos) - #10249
c73af54Switch CCoinsMap from boost to std unordered_map (sipa) - #9966
2a183deControl mempool persistence using a command line parameter (jnewbery) - #10199
318ea50Better fee estimates (morcos) - #10196
bee3529Bugfix: PrioritiseTransaction updates the mempool tx counter (sdaftuar) - #10195
1088b02Switch chainstate db and cache to per-txout model (sipa) - #10284
c2ab38bAlways log debug information for fee calculation in CreateTransaction (morcos) - #10503
efbcf2bUse REJECT_DUPLICATE for already known and conflicted txn (sipa) - #10537
b3eb0d6Few Minor per-utxo assert-semantics re-adds and tweak (TheBlueMatt) - #10626
8c841a3doc: Remove outdated minrelaytxfee comment (MarcoFalke) - #10559
234ffc6Change semantics of HaveCoinInCache to match HaveCoin (morcos) - #10581
7878353Simplify return values of GetCoin/HaveCoin(InCache) (sipa) - #10684
a381f6aRemove no longer used mempool.exists(outpoint) (morcos) - #10148
d4e551aUse non-atomic flushing with block replay (sipa) - #10685
30c2130Clarify CCoinsViewMemPool documentation (TheBlueMatt) - #10558
90a002eAddress nits from per-utxo change (morcos) - #10706
6859ad2Improve wallet fee logic and fix GUI bugs (morcos) - #10526
754aa02Force on-the-fly compaction during pertxout upgrade (sipa) - #10985
d896d5cAdd undocumented -forcecompactdb to force LevelDB compactions (sipa) - #10292
e4bbd3dImproved efficiency in COutPoint constructors (mm-s) - #10290
8d6d43eAdd -stopatheight for benchmarking (sipa)
P2Pプロトコルとネットワークコード
- #9726
7639d38netbase: Do not print an error on connection timeouts through proxy (laanwj) - #9805
5b583efAdd seed.aix.petertodd.org to mainnet DNS seeds (petertodd) - #9861
22f609fTrivial: Debug log ambiguity fix for peer addrs (keystrike) - #9774
90cb2a2Enable host lookups for -proxy and -onion parameters (jmcorgan) - #9558
7b585cfClarify assumptions made about when BlockCheck is called (TheBlueMatt) - #10135
e19586a[p2p] Send the correct error code in reject messages (jnewbery) - #9665
eab00d9Use cached [compact] blocks to respond to getdata messages (TheBlueMatt) - #10215
a077a90Check 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
3f57c55removed unused code in INV message (Greg-Griffith) - #10061
ae78609[net] Added SetSocketNoDelay() utility function (tjps) - #10408
28c6e8dNet: Improvements to Tor control port parser (str4d) - #10460
5c63d66Broadcast address every day, not 9 hours (sipa) - #10471
400fdd0Denote functions CNode::GetRecvVersion() and CNode::GetRefCount() as const (pavlosantoniou) - #10345
67700b3[P2P] Timeout for headers sync (sdaftuar) - #10564
8d9f45eReturn early in IsBanned (gmaxwell) - #10587
de8db47Net: Fix resource leak in ReadBinaryFile(…) (practicalswift) - #9549
b33ca14[net] Avoid possibility of NULL pointer dereference in MarkBlockAsInFlight(…) (practicalswift) - #10446
2772dc9net: avoid extra dns query per seed (theuni) - #10824
9dd6a2bAvoid unnecessary work in SetNetworkActive (promag) - #10948
df3a6f4p2p: Hardcoded seeds update pre-0.15 branch (laanwj) - #10977
02f4c4a[net] Fix use of uninitialized value in getnetworkinfo(const JSONRPCRequest&) (practicalswift) - #10982
c8b62c7Disconnect network service bits 6 and 8 until Aug 1, 2018 (TheBlueMatt) - #11012
0e5cff6Make sure to clean up mapBlockSource if we’ve already seen the block (theuni)
検証
- #9725
67023e9CValidationInterface Cleanups (TheBlueMatt) - #10178
2584925Remove CValidationInterface::UpdatedTransaction (TheBlueMatt) - #10201
a6548a4pass Consensus::Params& to functions in validation.cpp and make them static (mariodian) - #10297
431a548Simplify DisconnectBlock arguments/return value (sipa) - #10464
f94b7d5Introduce static DoWarning (simplify UpdateTip) (jtimon) - #10569
2e7d8f8Fix stopatheight (achow101) - #10192
2935b46Cache full script execution results in addition to signatures (TheBlueMatt) - #10179
21ed30aGive CValidationInterface Support for calling notifications on the CScheduler Thread (TheBlueMatt) - #10557
66270a4Make check to distinguish between orphan txs and old txs more efficient (morcos) - #10775
7c2400cnCheckDepth chain height fix (romanornr) - #10821
16240f4Add SSE4 optimized SHA256 (sipa) - #10854
04d395eAvoid using sizes on non-fixed-width types to derive protocol constants (gmaxwell) - #10945
2a50b11Update defaultAssumeValid according to release-process.md (gmaxwell) - #10986
2361208Update chain transaction statistics (sipa) - #11028
6bdf4b3Avoid masking of difficulty adjustment errors by checkpoints (sipa) - #9533
cb598cfAllow non-power-of-2 signature cache sizes (sipa) - #9208
acd9957Improve DisconnectTip performance (sdaftuar) - #10618
f90603aRemove confusing MAX_BLOCK_BASE_SIZE (gmaxwell) - #10758
bd92424Fix some chainstate-init-order bugs (TheBlueMatt) - #10550
b7296bcDon’t return stale data from CCoinsViewCache::Cursor() (ryanofsky) - #10998
2507fd5Fix upgrade cancel warnings (TheBlueMatt) - #9868
cbdb473Abstract out the command line options for block assembly (sipa)
ビルドシステム
- #9727
5f0556dRemove fallbacks for boost_filesystem < v3 (laanwj) - #9788
50a2265gitian: bump descriptors for master (theuni) - #9794
7ca2f54Minor update to qrencode package builder (mitchellcash) - #9514
2cc0df1release: Windows signing script (theuni) - #9921
8b789d8build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL (laanwj) - #10011
32d1b34build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (laanwj) - #9946
90dd9e6Fix build errors if spaces in path or parent directory (pinheadmz) - #10136
81da4c7build: Disable Wshadow warning (laanwj) - #10166
64962aeIgnore Doxyfile generated from Doxyfile.in template (paveljanik) - #10239
0416ea9Make Boost use std::atomic internally (sipa) - #10228
27faa6cbuild: regenerate aixcoin-config.h as necessary (theuni) - #10273
8979f45[scripts] Minor improvements tomacdeployqtplusscript (chrisgavin) - #10325
a26280b0.15.0 Depends Updates (fanquake) - #10328
79aeff6Update contrib/debian to latest Ubuntu PPA upload (TheBlueMatt) - #7522
d25449fBugfix: Only use git for build info if the repository is actually the right one (luke-jr) - #10489
e654d61build: silence gcc7’s implicit fallthrough warning (theuni) - #10549
ad1a13eAvoid printing generic and duplicated “checking for QT” during ./configure (drizzt) - #10628
8465b68[depends] expat 2.2.1 (fanquake) - #10806
db825d2build: verify that the assembler can handle crc32 functions (theuni) - #10766
b4d03beBuilding Environment: Set ARFLAGS to cr (ReneNyffenegger) - #10803
91edda8Explicitly search for bdb5.3 (pstratem) - #10855
81560b0random: only use getentropy on openbsd (theuni) - #10508
1caafa6Run Qt wallet tests on travis (ryanofsky) - #10851
e222618depends: fix fontconfig with newer glibc (theuni) - #10971
88b1e4bbuild: fix missing sse42 in depends builds (theuni) - #11097
129b03fgitian: quick hack to fix version string in releases (theuni) - #10039
919aaf6Fix compile errors with Qt 5.3.2 and Boost 1.55.0 (ryanofsky) - #10168
7032021Fix build warning from #error text (jnewbery) - #10301
318392cCheck if sys/random.h is required for getentropy (jameshilliard)
GUI
- #9724
1a9fd5cQt/Intro: Add explanation of IBD process (luke-jr) - #9834
b00ba62qt: clean up initialize/shutdown signals (benma) - #9481
ce01e62[Qt] Show more significant warning if we fall back to the default fee (jonasschnelli) - #9974
b9f930bAdd basic Qt wallet test (ryanofsky) - #9690
a387d3aChange ‘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
2b477e6Make qt wallet test compatible with qt4 (ryanofsky) - #9890
1fa4ae6Add a button to open the config file in a text editor (ericshawlinux) - #10156
51833a1Fix for issues with startup and multiple monitors on windows (AllanDoensen) - #10177
de01da7Changed “Send” button default status from true to false (KibbledJiveElkZoo) - #10221
e96486cStop 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
4314544Add Qt tests for wallet spends & bumpfee (ryanofsky) - #10454
c1c9a95Fix broken q4 test build (ryanofsky) - #10449
64beb13Overhaul Qt fee bumper (jonasschnelli) - #10582
7c72fb9Pass 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
a9dd111qt: Increase BLOCK_CHAIN_SIZE constants (laanwj) - #10644
e292140Slightly overhaul NSI pixmaps (jonasschnelli) - #10660
0c3542eAllow to cancel the txdb upgrade via splashscreen keypress ‘q’ (jonasschnelli)
ウォレット
- #9359
f7ec7cfAdd test for CWalletTx::GetImmatureCredit() returning stale values (ryanofsky) - #9576
56ab672[wallet] Remove redundant initialization (practicalswift) - #9333
fa625b0Document CWalletTx::mapValue entries and remove erase of nonexistent “version” entry (ryanofsky) - #9906
72fb515Disallow copy constructor CReserveKeys (instagibbs) - #9369
3178b2cFactor out CWallet::nTimeSmart computation into a method (ryanofsky) - #9830
afcd7c0Add safe flag to listunspent result (NicolasDorier) - #9993
c49355cInitialize nRelockTime (pstratem) - #9818
3d857f3Save watch only key timestamps when reimporting keys (ryanofsky) - #9294
f34cdcbUse internal HD chain for change outputs (hd split) (jonasschnelli) - #10164
e183ea2Wallet: reduce excess logic InMempool() (kewde) - #10186
c9ff4f8Remove SYNC_TRANSACTION_NOT_IN_BLOCK magic number (jnewbery) - #10226
64c45aawallet: Use boost to more portably ensure -wallet specifies only a filename (luke-jr) - #9827
c91ca0aImprove ScanForWalletTransactions return value (ryanofsky) - #9951
fa1ac28Wallet database handling abstractions/simplifications (laanwj) - #10265
c29a0d4[wallet] [moveonly] Check non-null pindex before potentially referencing (kallewoof) - #10283
a550f6eCleanup: reduce to one GetMinimumFee call signature (morcos) - #10294
e2b99b1[Wallet] unset change position when there is no change (instagibbs) - #10115
d3dce0eAvoid reading the old hd master key during wallet encryption (TheBlueMatt) - #10341
18c9debrpc/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
7cc2c67Fix bumpfee test after #10449 (ryanofsky) - #10500
098b01dAvoid CWalletTx copies in GetAddressBalances and GetAddressGroupings (ryanofsky) - #10455
0747d33Simplify feebumper minimum fee code slightly (ryanofsky) - #10522
2805d60[wallet] Remove unused variables (practicalswift) - #8694
177433aBasic multiwallet support (luke-jr) - #10598
7a74f88Supress struct/class mismatch warnings introduced in #10284 (paveljanik) - #9343
209eef6Don’t create change at dust limit (morcos) - #10744
ed88e31Use method name via func macro (darksh1ne) - #10712
e8b9523Add change output if necessary to reduce excess fee (morcos) - #10816
1c011ffProperly forbid -salvagewallet and -zapwallettxes for multi wallet (morcos) - #10235
5cfdda2Track keypool entries as internal vs external in memory (TheBlueMatt) - #10330
bf0a08b[wallet] fix zapwallettxes interaction with persistent mempool (jnewbery) - #10831
0b01935Batch flushing operations to the walletdb during top up and increase keypool size (gmaxwell) - #10795
7b6e8bcNo longer ever reuse keypool indexes (TheBlueMatt) - #10849
bde4f93Multiwallet: simplest endpoint support (jonasschnelli) - #10817
9022aa3Redefine Dust and add a discard_rate (morcos) - #10883
bf3b742Rename -usewallet to -rpcwallet (morcos) - #10604
420238d[wallet] [tests] Add listwallets RPC, include wallet name ingetwalletinfoand add multiwallet test (jnewbery) - #10885
70888a3Reject invalid wallets (promag) - #10949
af56397Clarify help message for -discardfee (morcos) - #10942
2e857bbEliminate fee overpaying edge case when subtracting fee from recipients (morcos) - #10995
fa64636Fix resendwallettransactions assert failure if -walletbroadcast=0 (TheBlueMatt) - #11022
653a46dBasic keypool topup (jnewbery) - #11081
9fe1f6bAdd length check for CExtKey deserialization (jonasschnelli, guidovranken) - #11044
4ef8374[wallet] Keypool topup cleanups (jnewbery) - #11145
e51bb71Fix rounding bug in calculation of minimum change (morcos) - #9605
779f2f9Use CScheduler for wallet flushing, remove ThreadFlushWalletDB (TheBlueMatt) - #10108
4e3efd4ApproximateBestSubset should take inputs by reference, not value (RHavar)
テストとQA
- #9744
8efd1c8Remove unused module from rpc-tests (34ro) - #9657
7ff4a53Improve rpc-tests.py (jnewbery) - #9766
7146d96Add –exclude option to rpc-tests.py (jnewbery) - #9577
d6064a8Fix docstrings in qa tests (jnewbery) - #9823
a13a417qa: Set correct path for binaries in rpc tests (MarcoFalke) - #9847
6206252Extra test vector for BIP32 (sipa) - #9350
88c2ae3[Trivial] Adding label for amount inside of tx_valid/tx_invalid.json (Christewart) - #9888
36afd4dtravis: Verify commits only for one target (MarcoFalke) - #9904
58861adtest: Fail if InitBlockIndex fails (laanwj) - #9828
67c5cc1Avoid -Wshadow warnings in wallet_tests (ryanofsky) - #9832
48c3429[qa] assert_start_raises_init_error (NicolasDorier) - #9739
9d5fcbfFix BIP68 activation test (jnewbery) - #9547
d32581cbench: Assert that division by zero is unreachable (practicalswift) - #9843
c78adbfFix segwit getblocktemplate test (jnewbery) - #9929
d5ce14etests: 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
ac23a7cImprove logging in bctest.py if there is a formatting mismatch (jnewbery) - #9768
8910b47[qa] Add logging to test_framework.py (jnewbery) - #9972
21833f9Fix extended rpc tests broken by #9768 (jnewbery) - #9977
857d1e1QA: getblocktemplate_longpoll.py should always use >0 fee tx (sdaftuar) - #9970
3cc13eaImprove readability of segwit.py, smartfees.py (sdaftuar) - #9497
2c781fbCCheckQueue Unit Tests (JeremyRubin) - #10024
9225de2[trivial] Use log.info() instead of print() in remaining functional test cases (jnewbery) - #9956
3192e52Reorganise qa directory (jnewbery) - #10017
02d64bdcombine_logs.py - aggregates log files from multiple aixcoinds during functional tests (jnewbery) - #10047
dfef6b6[tests] Remove unused variables and imports (practicalswift) - #9701
a230b05Make 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
b1a4f27Actually run assumevalid.py (jnewbery) - #9780
c412fd8Suppress noisy output from qa tests in Travis (jnewbery) - #10096
79af9fbCheck that all test scripts in test/functional are being run (jnewbery) - #10076
5b029aa[qa] combine_logs: Use ordered list for logfiles (MarcoFalke) - #10107
f2734c2Remove unused variable. Remove accidental trailing semicolons in Python code (practicalswift) - #10109
8ac8041Remove SingleNodeConnCB (jnewbery) - #10114
edc62c9[tests] sync_with_ping should assert that ping hasn’t timed out (jnewbery) - #10128
427d2fdSpeed Up CuckooCache tests (JeremyRubin) - #10072
12af74bRemove 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
ed09dd3Run aixcoin_test-qt under minimal QPA platform (ryanofsky) - #9949
a27dbc5[bench] Avoid function call arguments which are pointers to uninitialized values (practicalswift) - #10187
b44adf9tests: Fix test_runner return value in case of skipped test (laanwj) - #10197
d86bb07[tests] Functional test warnings (jnewbery) - #10219
9111df9Tests: Order Python Tests Differently (jimmysong) - #10229
f3db4c6Tests: 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
1b25b6dMove 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
75171f0Remove 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
23d78c4test: 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
f6241b3qa: 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
5411997qa: Warn when specified test is not found (MarcoFalke) - #10405
0542978tests: Correct testcase in script_tests.json for large number OP_EQUAL (laanwj) - #10429
6b99daftests: 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
b4b057aAdd 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 AixcoinTestFramework start/stop node methods (jnewbery) - #10514
e103b3fBugfix: missing == 0 after randrange (sipa) - #10515
c871f32[test] Add test for getchaintxstats (jimmysong) - #10509
bea5b00Remove xvfb configuration from travis (ryanofsky) - #10535
30853e1[qa] fundrawtx: Fix shutdown race (MarcoFalke) - #9909
300f8e7tests: Add FindEarliestAtLeast test for edge cases (ryanofsky) - #10331
75e898cShare config between util and functional tests (jnewbery) - #10321
e801084Use 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
c68a9a6qa: Add stopatheight test (MarcoFalke) - #10636
4bc853b[qa] util: Check return code after closing aixcoind proc (MarcoFalke) - #10662
e0a7801Initialize randomness in benchmarks (achow101) - #10612
7c87a9cThe 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
65cc7aaMove stop/start functions from utils.py into AixcoinTestFramework (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
1d4805cFix multi_rpc test for hosts that dont default to utf8 (TheBlueMatt) - #10190
e4f226a[tests] mining functional tests (including regression test for submitblock) (jnewbery) - #10739
1fc783ftest: Move variablestatedown where it is used (paveljanik) - #9980
fee0d80Fix mem access violation merkleblock (Christewart) - #10893
0c173a1[QA] Avoid running multiwallet.py twice (jonasschnelli) - #10927
9d5e8f9test: 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
e5d26e4qa: Fix inv race in example_test (MarcoFalke) - #10765
2c811e0Tests: address placement should be deterministic by default (ReneNyffenegger) - #11000
ac016e1test: 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
be8ba2cAdd a tree sha512 hash to merge commits (sipa) - #9821
d19d45autil: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (laanwj) - #9903
ba80a68Docs: add details to -rpcclienttimeout doc (ian-kelling) - #9910
53c300fDocs: correct and elaborate -rpcbind doc (ian-kelling) - #9905
01b7cda[contrib] gh-merge: Move second sha512 check to the end (MarcoFalke) - #9880
4df8213Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (TheBlueMatt) - #9932
00c13eaFix verify-commits on travis and always check top commit’s tree (TheBlueMatt) - #9952
6996e06Add historical release notes for 0.14.0 (laanwj) - #9940
fa99663Fix verify-commits on OSX, update for new bad Tree-SHA512, point travis to different keyservers (TheBlueMatt) - #9963
8040ae6util: Properly handle errors during log message formatting (laanwj) - #9984
cce056ddevtools: Make github-merge compute SHA512 from git, instead of worktree (laanwj) - #9995
8bcf934[doc] clarify blockchain size and pruning (askmike) - #9734
0c17afcAdd updating of chainTxData to release process (sipa) - #10063
530fcbdadd missing spaces so that markdown recognizes headline (flack) - #10085
db1ae54Docs: remove ‘noconnect’ option (jlopp) - #10090
8e4f7e7Update aixcoin.conf with example for pruning (coinables) - #9424
1a5aaabChange LogAcceptCategory to use uint32_t rather than sets of strings (gmaxwell) - #10036
fbf36caFix init README format to render correctly on github (jlopp) - #10058
a2cd0b0No need to use OpenSSL malloc/free (tjps) - #10123
471ed00Allow debug logs to be excluded from specified component (jnewbery) - #10104
fadf078linearize script: Option to use RPC cookie (achow101) - #10162
a3a2160[trivial] Log calls to getblocktemplate (jnewbery) - #10155
928695bbuild: Deduplicate version numbers (laanwj) - #10211
a86255b[doc] Contributor fixes & new “finding reviewers” section (kallewoof) - #10250
1428f30Fix some empty vector references (sipa) - #10270
95f5e44Remove Clang workaround for Boost 1.46 (fanquake) - #10263
cb007e4Trivial: fix fee estimate write error log message (CryptAxe) - #9670
bd9ec0econtrib: github-merge improvements (laanwj) - #10260
1d75597[doc] Minor corrections to osx dependencies (fanquake) - #10189
750c5a5devtools/net: add a verifier for scriptable changes. Use it to make CNode::id private (theuni) - #10322
bc64b5aUse hardware timestamps in RNG seeding (sipa) - #10381
7f2b9e0Shadowing 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
b45a52adoc: Add logging to FinalizeNode() (sdaftuar) - #10388
526e839Output line to debug.log when IsInitialBlockDownload latches to false (morcos) - #10372
15254e9Add perf counter data to GetStrongRandBytes state in scheduler (TheBlueMatt) - #10461
55b72f3Update style guide (sipa) - #10486
10e8c0adevtools: Retry after signing fails in github-merge (laanwj) - #10447
f259263Make aixcoind invalid argument error message specific (laanwj) - #10495
6a38b79contrib: Update location of seeds.txt (laanwj) - #10469
b6b150bFixing typo in rpcdump.cpp help message (keystrike) - #10451
27b9931contrib/init/aixcoind.openrcconf: Don’t disable wallet by default (luke-jr) - #10323
00d3692Update to latest libsecp256k1 master (sipa) - #10422
cec9e1eFix timestamp in fee estimate debug message (morcos) - #10566
5d034ee[docs] Use the “domain name setup” image (previously unused) in the gitian docs (practicalswift) - #10534
a514ac3Clarify prevector::erase and avoid swap-to-clear (sipa) - #10575
22ec768Header include guideline (sipa) - #10480
fbf5d3bImprove commit-check-script.sh (sipa) - #10502
1ad3d4escripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE (jtimon) - #10377
b63be2cUse rdrand as entropy source on supported platforms (sipa) - #9895
228c319Turn TryCreateDirectory() into TryCreateDirectories() (benma) - #10602
d76e84aMake clang-format use C++11 features (e.g.A<A<int>>instead ofA<A<int> >) (practicalswift) - #10623
c38f540doc: Add 0.14.2 release notes (MarcoFalke) - #10276
b750b33contrib/verifybinaries: allow filtering by platform (knocte) - #10248
01c4b14Rewrite addrdb with less duplication using CHashVerifier (sipa) - #10577
232508fAdd an explanation of quickly hashing onto a non-power of two range (gmaxwell) - #10608
eee398fAdd a comment explaining the use of MAX_BLOCK_BASE_SIZE (gmaxwell) - #10728
7397af9fix typo in help text for removeprunedfunds (AkioNak) - #10193
6dbcc74scripted-diff: Remove #include <boost/foreach.hpp> (jtimon) - #10676
379aed0document script-based return fields for validateaddress (instagibbs) - #10651
cef4b5cVerify binaries from aixcoin-core.github.io and aixcoin.org (TheBlueMatt) - #10786
ca4c545Add PR description to merge commit in github-merge.py (sipa) - #10812
c5904e8[utils] Allow aixcoin-cli’s -rpcconnect option to be used with square brackets (jnewbery) - #10842
3895e25Fix incorrect Doxygen tag (@ince → @since). Doxygen parameter name matching (practicalswift) - #10681
df0793fadd gdb attach process to test README (instagibbs) - #10789
1124328Punctuation/grammer fixes in rpcwallet.cpp (stevendlander) - #10655
78f307bProperly document target_confirmations in listsinceblock (RHavar) - #10917
5c003cbdeveloper-notes: add reference to snake_case and PascalCase (benma) - #11003
4b5a7ceDocs: Capitalize bullet points in CONTRIBUTING guide (eklitzke) - #10968
98aa3f6Add instructions for parallel gitian builds (coblee) - #11076
1c4b9b30.15 release-notes nits: fix redundancy, remove accidental parenthesis & fix range style (practicalswift) - #11090
8f0121cUpdate contributor names in release-notes.md (Derek701) - #11056
cbdd338disable jni in builds (instagibbs) - #11080
2b59cfbdoc: Update build-openbsd for 6.1 (laanwj) - #11119
0a6af47[doc] build-windows: Mention that only trusty works (MarcoFalke) - #11108
e8ad101Changing -txindex requires -reindex, not -reindex-chainstate (TheBlueMatt) - #9792
342b9bcFastRandomContext improvements and switch to ChaCha20 (sipa) - #9505
67ed40ePrevector Quick Destruct (JeremyRubin) - #10820
ef37f20Use cpuid intrinsics instead of asm code (sipa) - #9999
a328904[LevelDB] Plug leveldb logs to aixcoin logs (NicolasDorier) - #9693
c5e9e42Prevent integer overflow in ReadVarInt (gmaxwell) - #10129
351d0adscheduler: fix sub-second precision with boost < 1.50 (theuni) - #10153
fade788logging: Fix off-by-one for shrinkdebugfile default (MarcoFalke) - #10305
c45da32Fix potential NPD introduced in b297426c (TheBlueMatt) - #10338
daf3e7dMaintain state across GetStrongRandBytes calls (sipa) - #10544
a4fe077Update to LevelDB 1.20 (sipa) - #10614
cafe24frandom: fix crash on some 64bit platforms (theuni) - #10714
2a09a38Avoid printing incorrect block indexing time due to uninitialized variable (practicalswift) - #10837
8bc6d1fFix resource leak on error in GetDevURandom (corebob) - #10832
89bb036init: Factor out AppInitLockDataDirectory and fix startup core dump issue (laanwj) - #10914
b995a37Add missing lock in CScheduler::AreThreadsServicingQueue() (TheBlueMatt) - #10958
659c096Update to latest Aixcoin patches for LevelDB (sipa) - #10919
c1c671fFix 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
- AixDrak
- 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での翻訳を手伝ってくれたみなさんもありがとうございます。
