BIP 0016 QA: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
This page is a Quality Assurance test plan for | This page is a Quality Assurance test plan for BIP 16. If you see a test missing, please add it. | ||
If you can help test, please edit this page to sign-off on it. | If you can help test, please edit this page to sign-off on it. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Done !! Test Procedure !! Tested by | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Run BIP- | | Run BIP-16-capable Bitcoin 0.6 on testnet and main net<br /> | ||
Send coins using GUI, | Send coins using GUI, RCP sendtoaddress, and RCP sendmany commands<br /> | ||
Result: coins sent in all cases | Result: coins sent in all cases | ||
| | | Gavin Andresen | ||
|- style="color: | |- style="color:green;" | ||
| ✓ | |||
| Test multisig 1-of-1<br /> | | Test multisig 1-of-1<br /> | ||
Run 0.6 bitcoind, get a public key with: ./bitcoind -testnet validateaddress $(./bitcoind -testnet getnewaddress)<br /> | Run 0.6 bitcoind, get a public key with: ./bitcoind -testnet validateaddress $(./bitcoind -testnet getnewaddress)<br /> | ||
Line 21: | Line 21: | ||
Result: transaction is confirmed by network, displays properly in listtransactions. | Result: transaction is confirmed by network, displays properly in listtransactions. | ||
Result: balance is unaffected | Result: balance is unaffected | ||
| | | Gavin Andresen | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Test multisig 1-of-2<br /> | | Test multisig 1-of-2<br /> | ||
Run 0.6 bitcoind, get 2 new bitcoin addresses<br /> | Run 0.6 bitcoind, get 2 new bitcoin addresses<br /> | ||
Line 31: | Line 31: | ||
Result: transaction is confirmed by network, displays properly in listtransactions. | Result: transaction is confirmed by network, displays properly in listtransactions. | ||
Result: bitcoin balance is unaffected. | Result: bitcoin balance is unaffected. | ||
| | | Gavin Andresen | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Test multisig 1-of-3, 2-of-3, 3-of-3<br /> | | Test multisig 1-of-3, 2-of-3, 3-of-3<br /> | ||
Repeat test procedures above, with the other new multisignature transaction types | Repeat test procedures above, with the other new multisignature transaction types | ||
| | | Gavin Andresen | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Test multisig send-to-other<br /> | | Test multisig send-to-other<br /> | ||
Repeat test procedures above, but use two bitcoinds, prepared as follows:<br /> | Repeat test procedures above, but use two bitcoinds, prepared as follows:<br /> | ||
Line 49: | Line 49: | ||
Result: balance for 2 goes down, listtransactions for 2 displays correct result<br /> | Result: balance for 2 goes down, listtransactions for 2 displays correct result<br /> | ||
Result: balance for 1 goes up, listtransactions for 1 displays correct result<br /> | Result: balance for 1 goes up, listtransactions for 1 displays correct result<br /> | ||
| | | Gavin Andresen | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Test redeeming multisignature transactions<br /> | | Test redeeming multisignature transactions<br /> | ||
Fund a new, empty wallet entirely with multisig transactions<br /> | Fund a new, empty wallet entirely with multisig transactions<br /> | ||
Line 60: | Line 60: | ||
Result: transactions are accepted/confirmed by network<br /> | Result: transactions are accepted/confirmed by network<br /> | ||
Result: balance decreases, listtransactions displays correct information<br /> | Result: balance decreases, listtransactions displays correct information<br /> | ||
| | | Gavin Andresen | ||
|- style="color:red;" | |- style="color:red;" | ||
| | |||
| Run 0.6 Bitcoin-Qt GUI on one of the test wallets from above<br /> | | Run 0.6 Bitcoin-Qt GUI on one of the test wallets from above<br /> | ||
Result: balance and transactions displayed correctly | Result: balance and transactions displayed correctly | ||
| | | | ||
|- style="color: | |- style="color:orange;" | ||
| | | ✓ | ||
| Run BIP- | | Run BIP-16-capable backport Bitcoin 0.3.19 through 0.5.1 on testnet and main net<br /> | ||
Send coins using GUI, | Send coins using GUI, RCP sendtoaddress, and RCP sendmany commands<br /> | ||
Result: coins sent in all cases | Result: coins sent in all cases | ||
| | | Gavin Andresen (tested 0.3.19, 0.3.24 and 0.5.1) | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Run BIP- | | Run BIP-16-capable Bitcoin 0.6.0 on testnet<br /> | ||
Mine coins using built-in miner<br /> | Mine coins using built-in miner<br /> | ||
Result: blocks accepted, show up on | Result: blocks accepted, show up on blockexplorer.com/testnet<br /> | ||
Result: mined blocks' coinbase contains | Result: mined blocks' coinbase contains /P2SH/ string | ||
| | | Gavin Andresen | ||
|- style="color: | |- style="color:green;" | ||
| ✓ | | ✓ | ||
| Run BIP- | | Run BIP-16-capable Bitcoin 0.6.0 on testnet<br /> | ||
Mine coins using getwork interface<br /> | Mine coins using getwork interface<br /> | ||
Result: blocks accepted, show up on | Result: blocks accepted, show up on blockexplorer.com/testnet<br /> | ||
Result: mined blocks' coinbase contains | Result: mined blocks' coinbase contains /P2SH/ string | ||
| | | Gavin Andresen | ||
|- style="color:red;" | |- style="color:red;" | ||
| | |||
| Run BIP- | | Run BIP-16-capable Bitcoin 0.6.0 on testnet<br /> | ||
Mine coins using getmemorypool interface<br /> | Mine coins using getmemorypool interface<br /> | ||
Result: blocks accepted, show up on | Result: blocks accepted, show up on blockexplorer.com/testnet<br /> | ||
Result: mined blocks' coinbase contains | Result: mined blocks' coinbase contains /P2SH/ string | ||
| | | | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Run BIP- | | Run BIP-16-capable Bitcoin 0.3.19 through 0.5.1 backports on testnet<br /> | ||
Mine coins using built-in miner<br /> | Mine coins using built-in miner<br /> | ||
Result: blocks accepted, show up on | Result: blocks accepted, show up on blockexplorer.com/testnet<br /> | ||
Result: mined blocks' coinbase contains | Result: mined blocks' coinbase contains /P2SH/ string | ||
| | | Gavin Andresen (tested all on a testnet-in-a-box) | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Run BIP- | | Run BIP-16-capable Bitcoin 3.19 through 0.5.1 backports on testnet<br /> | ||
Mine coins using getwork interface<br /> | Mine coins using getwork interface<br /> | ||
Result: blocks accepted, show up on | Result: blocks accepted, show up on blockexplorer.com/testnet<br /> | ||
Result: mined blocks' coinbase contains | Result: mined blocks' coinbase contains /P2SH/ string | ||
| | | Gavin Andresen (tested all on a testnet-in-a-box) | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Run BIP- | | Run BIP-16-capable Bitcoin 0.3.19 through 0.5.1 backports on testnet<br /> | ||
Mine coins using built-in miner<br /> | Mine coins using built-in miner<br /> | ||
Result: blocks accepted, show up on | Result: blocks accepted, show up on blockexplorer.com/testnet<br /> | ||
Result: mined blocks' coinbase contains | Result: mined blocks' coinbase contains /P2SH/ string | ||
| | | Gavin Andresen (tested all on a testnet-in-a-box) | ||
|- style="color:green;" | |||
| ✓ | |||
| Run BIP-16-capable Bitcoin 3.19 through 0.5.1 backports on testnet<br /> | |||
Mine coins using getwork interface<br /> | |||
Result: blocks accepted, show up on blockexplorer.com/testnet<br /> | |||
Result: mined blocks' coinbase contains /P2SH/ string | |||
| Gavin Andresen (tested all on a testnet-in-a-box) | |||
|- style="color:red;" | |- style="color:red;" | ||
|- style="color:red;" | |- style="color:red;" | ||
| | |||
| Run BIP- | | Run BIP-16-capable Bitcoin 3.19 through 0.5.1 backports on testnet<br /> | ||
Mine coins using getmemorypool interface<br /> | Mine coins using getmemorypool interface<br /> | ||
Result: blocks accepted, show up on | Result: blocks accepted, show up on blockexplorer.com/testnet<br /> | ||
Result: mined blocks' coinbase contains | Result: mined blocks' coinbase contains /P2SH/ string | ||
| | | | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Create/run unit tests for:<br /> | | Create/run unit tests for:<br /> | ||
multisignature signing/verification<br /> | multisignature signing/verification<br /> | ||
Line 146: | Line 147: | ||
multisignature IsStandard() success/failure<br /> | multisignature IsStandard() success/failure<br /> | ||
extraction of addresses from multisignature transactions<br /> | extraction of addresses from multisignature transactions<br /> | ||
BIP | BIP 16 IsStandard() success/failure (including failure with OP_PUSHDATA1/2/4)<br /> | ||
BIP | BIP 16 AreInputsStandard() success/failure<br /> | ||
BIP | BIP 16 compatibility with other 3 standard transaction types<br /> | ||
BIP | BIP 16 no-recursion test<br /> | ||
| | BIP 16 switchover date logic<br /> | ||
OP_CHECKMULTISIG counting of signature operations inside BIP 16 transactions<br /> | |||
| 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) | |||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Create/run 'transaction fuzzer' to stress-test BIP | | Create/run 'transaction fuzzer' to stress-test BIP 16 transactions | ||
| | | Gavin Andresen (https://github.com/gavinandresen/bitcoin-git/tree/fuzzer , run twice on both testnet-in-a-box and testnet with 100,000 'fuzzed' transactions each test run) | ||
|- style="color:red;" | |- style="color:red;" | ||
| | |||
| Run Bitcoin 0.6 on main net <br /> | | Run Bitcoin 0.6 on main net <br /> | ||
Result: blocks created properly | Result: blocks created properly | ||
Result: blocks include | Result: blocks include /P2SH/ string in their coinbase | ||
| | | | ||
|- style="color: | |- style="color:green;" | ||
| | | ✓ | ||
| Run BIP | | Run BIP 16 vinced_mergedmine backport on main net <br /> | ||
Result: blocks created properly | Result: blocks created properly | ||
Result: blocks include | Result: blocks include /P2SH/ string in their coinbase | ||
| | | (Gavin for slush: after bug fixes, running with no issues)<br /> | ||
|} | |} |
Revision as of 17:48, 30 January 2012
This page is a Quality Assurance test plan for BIP 16. If you see a test missing, please add it. If you can help test, please edit this page to sign-off on it.
Done | Test Procedure | Tested by |
---|---|---|
✓ | Run BIP-16-capable Bitcoin 0.6 on testnet and main net Send coins using GUI, RCP sendtoaddress, and RCP sendmany commands |
Gavin Andresen |
✓ | Test multisig 1-of-1 Run 0.6 bitcoind, get a public key with: ./bitcoind -testnet validateaddress $(./bitcoind -testnet getnewaddress) |
Gavin Andresen |
✓ | Test multisig 1-of-2 Run 0.6 bitcoind, get 2 new bitcoin addresses |
Gavin Andresen |
✓ | Test multisig 1-of-3, 2-of-3, 3-of-3 Repeat test procedures above, with the other new multisignature transaction types |
Gavin Andresen |
✓ | Test multisig send-to-other Repeat test procedures above, but use two bitcoinds, prepared as follows: |
Gavin Andresen |
✓ | Test redeeming multisignature transactions Fund a new, empty wallet entirely with multisig transactions |
Gavin Andresen |
Run 0.6 Bitcoin-Qt GUI on one of the test wallets from above Result: balance and transactions displayed correctly |
||
✓ | Run BIP-16-capable backport Bitcoin 0.3.19 through 0.5.1 on testnet and main net Send coins using GUI, RCP sendtoaddress, and RCP sendmany commands |
Gavin Andresen (tested 0.3.19, 0.3.24 and 0.5.1) |
✓ | Run BIP-16-capable Bitcoin 0.6.0 on testnet Mine coins using built-in miner |
Gavin Andresen |
✓ | Run BIP-16-capable Bitcoin 0.6.0 on testnet Mine coins using getwork interface |
Gavin Andresen |
Run BIP-16-capable Bitcoin 0.6.0 on testnet Mine coins using getmemorypool interface |
||
✓ | Run BIP-16-capable Bitcoin 0.3.19 through 0.5.1 backports on testnet Mine coins using built-in miner |
Gavin Andresen (tested all on a testnet-in-a-box) |
✓ | Run BIP-16-capable Bitcoin 3.19 through 0.5.1 backports on testnet Mine coins using getwork interface |
Gavin Andresen (tested all on a testnet-in-a-box) |
✓ | Run BIP-16-capable Bitcoin 0.3.19 through 0.5.1 backports on testnet Mine coins using built-in miner |
Gavin Andresen (tested all on a testnet-in-a-box) |
✓ | Run BIP-16-capable Bitcoin 3.19 through 0.5.1 backports on testnet Mine coins using getwork interface |
Gavin Andresen (tested all on a testnet-in-a-box) |
Run BIP-16-capable Bitcoin 3.19 through 0.5.1 backports on testnet Mine coins using getmemorypool interface |
||
✓ | Create/run unit tests for: multisignature signing/verification |
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) |
✓ | Create/run 'transaction fuzzer' to stress-test BIP 16 transactions | Gavin Andresen (https://github.com/gavinandresen/bitcoin-git/tree/fuzzer , run twice on both testnet-in-a-box and testnet with 100,000 'fuzzed' transactions each test run) |
Run Bitcoin 0.6 on main net Result: blocks created properly Result: blocks include /P2SH/ string in their coinbase |
||
✓ | Run BIP 16 vinced_mergedmine backport on main net Result: blocks created properly Result: blocks include /P2SH/ string in their coinbase |
(Gavin for slush: after bug fixes, running with no issues) |