From c2b8cff25b629d6c6463d8a65f8fee54532e03e5 Mon Sep 17 00:00:00 2001 From: Peter Todd Date: Mon, 21 Oct 2013 01:07:09 -0400 Subject: Archive Revision as of 19:50, 9 March 2012 https://en.bitcoin.it/w/index.php?title=BIP_0016_QA&oldid=24555 --- bip-0016/qa.mediawiki | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 bip-0016/qa.mediawiki (limited to 'bip-0016') diff --git a/bip-0016/qa.mediawiki b/bip-0016/qa.mediawiki new file mode 100644 index 0000000..6a8a08d --- /dev/null +++ b/bip-0016/qa.mediawiki @@ -0,0 +1,190 @@ +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. + +{| class="wikitable" +|- +! Done !! Test Procedure !! Tested by + +|- style="color:green;" +| ✓ +| Run BIP-16-capable Bitcoin 0.6 on testnet and main net
+Send coins using GUI, RCP sendtoaddress, and RCP sendmany commands
+Result: coins sent in all cases +| Gavin Andresen + +|- style="color:green;" +| ✓ +| Test multisig 1-of-1
+Run 0.6 bitcoind, get a public key with: ./bitcoind -testnet validateaddress $(./bitcoind -testnet getnewaddress)
+Generate a multisig 1-of-1 address: ./bitcoind addmultisigaddress 1 {public key from above}
+Send-to-self some bitcoins using that address
+Result: transaction is confirmed by network, displays properly in listtransactions. +Result: balance is unaffected +| Gavin Andresen; see transactions in [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f testnet block 44989] + + +|- style="color:green;" +| ✓ +| Test multisig 1-of-2
+Run 0.6 bitcoind, get 2 new bitcoin addresses
+Generate a multisig 1-of-2 address: ./bitcoind addmultisigaddress 1 {address1} {address2}
+Send-to-self some bitcoins using that address
+Result: transaction is confirmed by network, displays properly in listtransactions. +Result: bitcoin balance is unaffected. +| Gavin Andresen; see transactions in [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f testnet block 44989] + + +|- style="color:green;" +| ✓ +| Test multisig 1-of-3, 2-of-3, 3-of-3
+Repeat test procedures above, with the other new multisignature transaction types +| Gavin Andresen; see transactions in [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f testnet block 44989] + +|- style="color:green;" +| ✓ +| Test multisig send-to-other
+Repeat test procedures above, but use two bitcoinds, prepared as follows:
+bitcoind 1 : Run getnewaddress and addmultisigaddress
+bitcoind 2 : Just addmultisigaddress
+Send coins from 2 to 1 using the address
+Result: transaction is accepted/confirmed by network
+Result: balance for 2 goes down, listtransactions for 2 displays correct result
+Result: balance for 1 goes up, listtransactions for 1 displays correct result
+| Gavin Andresen; see transactions in [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f testnet block 44989] + + +|- style="color:green;" +| ✓ +| Test redeeming multisignature transactions
+Fund a new, empty wallet entirely with multisig transactions
+Wait for transactions to confirm
+Use sendtoaddress and sendmany to generate spend-from-multisig transactions
+Spend to both single-address and multisig address, and test send-to-other and send-to-self
+Result: transactions are accepted/confirmed by network
+Result: balance decreases, listtransactions displays correct information
+| Gavin Andresen; see transactions in [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f testnet block 44989] + + +|- style="color:green;" +| ✓ +| Run 0.6 Bitcoin-Qt GUI on one of the test wallets from above
+Result: balance and transactions displayed correctly +| Gavin Andresen + +|- style="color:orange;" +| ✓ +| 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
+Result: coins sent in all cases +| Gavin Andresen (tested 0.3.19, 0.3.24 and 0.5.1) + +|- style="color:green;" +| ✓ +| Run BIP-16-capable Bitcoin 0.6.0 on testnet
+Mine coins using built-in miner
+Result: blocks accepted, show up on blockexplorer.com/testnet
+Result: mined blocks' coinbase contains /P2SH/ string +| Gavin Andresen + +|- style="color:green;" +| ✓ +| Run BIP-16-capable Bitcoin 0.6.0 on testnet
+Mine coins using getwork interface
+Result: blocks accepted, show up on blockexplorer.com/testnet
+Result: mined blocks' coinbase contains /P2SH/ string +| Gavin Andresen + +|- style="color:green;" +| +| Run BIP-16-capable Bitcoin 0.6.0 on testnet
+Mine coins using getmemorypool interface
+Result: blocks accepted, show up on blockexplorer.com/testnet
+Result: mined blocks' coinbase contains /P2SH/ string +| Gregory Maxwell; Using p2pool see [https://blockexplorer.com/testnet/rawblock/00000000040367fcb750b6f064db6955b6c7c6218fb625e3dfed6b5c19c97107 testnet block 45400] (and many others, also tested on mainnet) + +|- style="color:green;" +| ✓ +| Run BIP-16-capable Bitcoin 0.3.19 through 0.5.1 backports on testnet
+Mine coins using built-in miner
+Result: blocks accepted, show up on blockexplorer.com/testnet
+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
+Mine coins using getwork interface
+Result: blocks accepted, show up on blockexplorer.com/testnet
+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 0.3.19 through 0.5.1 backports on testnet
+Mine coins using built-in miner
+Result: blocks accepted, show up on blockexplorer.com/testnet
+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
+Mine coins using getwork interface
+Result: blocks accepted, show up on blockexplorer.com/testnet
+Result: mined blocks' coinbase contains /P2SH/ string +| Gavin Andresen (tested all on a testnet-in-a-box) +|- style="color:red;" + +|- style="color:red;" +| +| Run BIP-16-capable Bitcoin 3.19 through 0.5.1 backports on testnet
+Mine coins using getmemorypool interface
+Result: blocks accepted, show up on blockexplorer.com/testnet
+Result: mined blocks' coinbase contains /P2SH/ string +| + +|- style="color:green;" +| ✓ +| Create/run unit tests for:
+multisignature signing/verification
+multisignature invalid signature failure
+multisignature IsStandard() success/failure
+extraction of addresses from multisignature transactions
+BIP 16 IsStandard() success/failure (including failure with OP_PUSHDATA1/2/4)
+BIP 16 AreInputsStandard() success/failure
+BIP 16 compatibility with other 3 standard transaction types
+BIP 16 no-recursion test
+BIP 16 switchover date logic
+OP_CHECKMULTISIG counting of signature operations inside BIP 16 transactions
+| 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:green;" +| ✓ +| 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) Valid fuzzed transactions appeared in (for example) [http://blockexplorer.com/testnet/block/000000001587c859649cea954e921ba4efd77707fb327dd53e122fd7b89636c4 testnet block 44987] + +|- style="color:green;" +| ✓ +| Run Bitcoin 0.6 on main net
+Result: blocks created properly +Result: blocks include /P2SH/ string in their coinbase +| various mining pools + +|- style="color:green;" +| ✓ +| 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)
+ +|- style="color:green;" +| ✓ +| Test chain-split handling on testnet-in-a-box
+Create two valid hash, invalid signature transactions in two blocks separated in time on a testnet-in-a-box chain
+Run a bitcoind to synchronize with the chain, with -paytoscripthashtime set in between the two blocks
+Result: first transaction/block accepted, second causes a chain split
+Re-run bitcoind with -paytoscripthashtime in the future
+Result: entire chain accepted +| 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)
+ +|} -- cgit v1.2.3