BIP 0016 QA

提供: tezos-wiki
2018年4月23日 (月) 17:16時点における240f:e2:7d6a:1:b9b6:75e6:e5f5:78ca (トーク)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

このページは、BIP 16の品質保証テスト計画です。テストが見つからない場合は追加してください。
テストを手伝うことができる方は、このページを編集してサインオフしてください。

Done 試験手順 テスト者
テストネットとメインネットでBIP-16対応Bitcoin 0.6を実行する

GUI、RCP sendtoaddress、およびRCP sendmanyコマンドを使用してコインを送信する
結果:すべてのケースで送られたコイン

Gavin Andresen
Test multisig 1-of-1

0.6ビットコインを実行し、公開鍵を取得する:./bitcoind -testnet validateaddress $(./bitcoind -testnet getnewaddress)
multisig 1対1アドレスを生成する:./bitcoind addmultisigaddress 1 {上の公開鍵}
そのアドレスを使っていくつかのバットコインを送信する
結果:トランザクションはネットワークによって確認され、リストラザクローンは適切に表示されます。 結果:バランは影響を受けない

Gavin Andresen; 参照 testnet block 44989


Test multisig 1-of-2

0.6ビットコインを実行し、2つの新しいビットコインアドレスを取得する
multisig 1-of-2アドレスを生成します。./bitcoind addmultisigaddress 1 {address1} {address2}
そのアドレスを使っていくつかのビットコインを送信する
結果:トランザクションはネットワークによって確認され、リストトランザクションで適切に表示されます。 結果:ビットコインのバランスは影響を受けません。

Gavin Andresen; 参照 testnet block 44989


Test multisig 1-of-3, 2-of-3, 3-of-3

上記のテスト手順を再度、他の新しいマルチシグネチャトランザクションタイプで

Gavin Andresen; 参照 testnet block 44989
Test multisig send-to-other

上記の手順を繰り返しますが、次のように準備された2つのビットコンドを使用します。
bitcoind 1:getnewaddressとaddmultisigaddressを実行する
ビットコイン2:ちょうどaddmultisigaddress

アドレスを使用してコインを2から1に送る 結果:取引はネットワークによって承認/確認されます。
結果:2のバランスが落ち、2のリストトランザクションは正しい結果を表示します。
結果:1のバランスが上がり、1のlisttransactionsが正しい結果を表示する

Gavin Andresen; 参照 testnet block 44989


Test redeeming multisignature transactions

新しい、空の財布を完全にmultisigトランザクションで資金調達する
トランザクションが確認するのを待つ
sendtoaddressとsendmanyを使用して、multisigからの支出トランザクションを生成する
シングルアドレスとマルチサインアドレスの両方に費やし、send-to-otherとsend-to-selfをテストする
結果:取引はネットワークによって承認/確認されます。
結果:残高が減少し、リスト取引で正しい情報が表示される

Gavin Andresen; 参照 testnet block 44989


Run 0.6 Bitcoin-Qt GUI on one of the test wallets from above

結果:残高と取引が正しく表示されます

Gavin Andresen
テストネットとメインネットでBIP-16対応バックポートBitcoin 0.3.19〜0.5.1を実行

GUI、RCP sendtoaddress、およびRCP sendmanyコマンドを使用してコインを送信する
結果:すべてのケースで送られたコイン

Gavin Andresen (tested 0.3.19, 0.3.24 and 0.5.1)
テストネットでBIP-16対応Bitcoin 0.6.0を実行

ビルトインの鉱夫を使った鉱山のコイン
結果:受け入れられたブロックは、blockexplorer.com/testnetに表示されます。
結果:採掘ブロックのコインベースに/ P2SH / stringが含まれています。

Gavin Andresen
テストネットでBIP-16対応Bitcoin 0.6.0を実行

ネットワークインターフェイスを使用した鉱山のコイン
結果:受け入れられたブロックは、blockexplorer.com/testnetに表示されます。
結果:採掘ブロックのコインベースに/ P2SH / stringが含まれています。

Gavin Andresen
テストネットでBIP-16対応Bitcoin 0.6.0を実行

getmemorypoolインターフェースを使った鉱山のコイン
結果:受け入れられたブロックは、blockexplorer.com/testnetに表示されます。
結果:採掘ブロックのコインベースに/ P2SH / stringが含まれています。

Gregory Maxwell; Using p2pool see testnet block 45400 (他にもメインネットでたくさんテストされています)
テストネットでBIP-16対応Bitcoin 0.3.19〜0.5.1バックポートを実行

ビルトインの鉱夫を使った鉱山のコイン
結果:受け入れられたブロックは、blockexplorer.com/testnetに表示されます。
結果:採掘ブロックのコインベースに/ P2SH / stringが含まれています。

Gavin Andresen (tested all on a testnet-in-a-box)
テストネット上でBIP-16対応Bitcoin 3.19から0.5.1バックポートを実行

ネットワークインターフェイスを使用した鉱山のコイン
結果:受け入れられたブロックは、blockexplorer.com/testnetに表示されます。
結果:採掘ブロックのコインベースに/ P2SH / stringが含まれています。

Gavin Andresen (tested all on a testnet-in-a-box)
テストネットでBIP-16対応Bitcoin 0.3.19〜0.5.1バックポートを実行

ビルトインの鉱夫を使った鉱山のコイン
結果:受け入れられたブロックは、blockexplorer.com/testnetに表示されます。
結果:採掘ブロックのコインベースに/ P2SH / stringが含まれています。

Gavin Andresen (tested all on a testnet-in-a-box)
テストネット上でBIP-16対応Bitcoin 3.19から0.5.1バックポートを実行

ネットワークインターフェイスを使用した鉱山のコイン
結果:受け入れられたブロックは、blockexplorer.com/testnetに表示されます。
結果:採掘ブロックのコインベースに/ P2SH / stringが含まれています。

Gavin Andresen (tested all on a testnet-in-a-box)
テストネット上でBIP-16対応Bitcoin 3.19から0.5.1バックポートを実行

getmemorypoolインターフェースを使った鉱山のコイン
結果:受け入れられたブロックは、blockexplorer.com/testnetに表示されます。
結果:採掘ブロックのコインベースに/ P2SH / stringが含まれています。

ユニットテストの作成/実行:

マルチ署名署名/検証
マルチシグネチャ無効な署名エラー
マルチシグネチャIsStandard()の成功/失敗
マルチシグネチャトランザクションからのアドレス抽出
BIP 16 IsStandard()の成功/失敗(OP_PUSHDATA1 / 2/4での失敗を含む)
BIP 16 AreInputsStandard()の成功/失敗
他の3つの標準トランザクションタイプとのBIP 16互換性
BIP 16無再帰テスト
BIP 16切り替え日付のロジック
BIP 16トランザクション内の署名操作のOP_CHECKMULTISIGカウント

Gavin Andresen (see test/multisig_tests.cpp, test/script_tests.cpp, test/script_P2SH_tests.cpp, test/sigopcount_tests.cpp in the bitcoin source tree; 'make test_bitcoin' in src/ directory to compile)
BIP 16トランザクションのストレステストを行うための「トランザクションファジー」の作成/実行 Gavin Andresen(https://github.com/gavinandresen/bitcoin-git/tree/fuzzer、testnet-in-a-boxとtestnetの両方で2回実行、100,000回の「ファジー化された」トランザクションでテストを実行)有効なファジートランザクション(例) testnet block 44987
Bitcoin 0.6をメインネットで実行

結果:適切に作成されたブロック 結果:ブロックには/ P2SH / stringがコインベースに含まれています

various mining pools
メインネット上のBIP 16 vinced_mergedmineバックポートを実行する

結果:適切に作成されたブロック 結果:ブロックには/ P2SH / stringがコインベースに含まれています

(Gavin for slush: after bug fixes, running with no issues)
testnet-in-a-boxでのチェーン分割処理のテスト

testnet-in-a-boxチェーンで時間的に分離された2つのブロックに2つの有効なハッシュ、無効な署名トランザクションを作成する
2つのブロックの間に-paytoscripthashtimeを設定して、チェーンと同期するビットコンドを実行します。
結果:最初のトランザクション/ブロックが受け入れられ、2番目にチェーンが分割される
将来的に-paytoscripthashtimeでビットコインを再実行する
結果:チェーン全体が承認されました

Gavin Andresen: testnet-in-a-box files at: http://www.skypaint.com/bitcoin/bip16chain.tar.gz first half-valid BIP16 transaction at block 2431 (time 1328202835) second at block 2436 (time 1328204241)