该页面是关于 BIP16 的质量保证测试计划,记录了在比特币网络上进行 BIP16(Pay-to-Script-Hash)相关功能测试的步骤和结果,包括使用不同版本的 Bitcoin 客户端在测试网络和主网络上进行各种交易测试,以及单元测试和模糊测试,以确保 BIP16 功能的正确性和兼容性。
此页面是 [[BIP 16]] 的质量保证测试计划。如果你发现缺少测试,请添加它。 如果你可以帮助测试,请编辑此页面以进行签署。
{ | class="wikitable" |
---|
! 完成 !! 测试程序 !! 测试者
|- style="color:green;" | ✓ | 在测试网络和主网络上运行支持 BIP-16 的 Bitcoin 0.6<br /> 使用 GUI、RCP sendtoaddress 和 RCP sendmany 命令发送币<br /> 结果:在所有情况下都发送了币 | Gavin Andresen
|- style="color:green;" | ✓ | 测试 multisig 1-of-1<br /> 运行 0.6 bitcoind,使用以下命令获取公钥:./bitcoind -testnet validateaddress $(./bitcoind -testnet getnewaddress)<br /> 生成一个 multisig 1-of-1 地址:./bitcoind addmultisigaddress 1 {来自上面的公钥}<br /> 使用该地址向自己发送一些比特币<br /> 结果:交易被网络确认,在 listtransactions 中正确显示。 结果:余额不受影响 | Gavin Andresen;参见 [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f 测试网络区块 44989] 中的交易
|- style="color:green;" | ✓ | 测试 multisig 1-of-2<br /> 运行 0.6 bitcoind,获取 2 个新的比特币地址<br /> 生成一个 multisig 1-of-2 地址:./bitcoind addmultisigaddress 1 {address1} {address2}<br /> 使用该地址向自己发送一些比特币<br /> 结果:交易被网络确认,在 listtransactions 中正确显示。 结果:比特币余额不受影响。 | Gavin Andresen;参见 [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f 测试网络区块 44989] 中的交易
|- style="color:green;" | ✓ | 测试 multisig 1-of-3、2-of-3、3-of-3<br /> 使用其他新的多重签名交易类型重复上述测试程序 | Gavin Andresen;参见 [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f 测试网络区块 44989] 中的交易
|- style="color:green;" | ✓ | 测试 multisig send-to-other<br /> 重复上述测试程序,但使用两个 bitcoind,按如下方式准备:<br /> bitcoind 1:运行 getnewaddress 和 addmultisigaddress<br /> bitcoind 2:仅 addmultisigaddress<br /> 使用该地址从 2 向 1 发送币<br /> 结果:交易被网络接受/确认<br /> 结果:2 的余额减少,2 的 listtransactions 显示正确结果<br /> 结果:1 的余额增加,1 的 listtransactions 显示正确结果<br /> | Gavin Andresen;参见 [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f 测试网络区块 44989] 中的交易
|- style="color:green;" | ✓ | 测试赎回多重签名交易<br /> 完全使用多重签名交易为新的空钱包提供资金<br /> 等待交易确认<br /> 使用 sendtoaddress 和 sendmany 生成 spend-from-multisig 交易<br /> 花费到单地址和 multisig 地址,并测试 send-to-other 和 send-to-self<br /> 结果:交易被网络接受/确认<br /> 结果:余额减少,listtransactions 显示正确信息<br /> | Gavin Andresen;参见 [http://blockexplorer.com/testnet/block/000000001bdceba3936f2ea6a55311ac7b6030e327f1960e892620fcde6abf5f 测试网络区块 44989] 中的交易
|- style="color:green;" | ✓ | 在上述测试钱包之一上运行 0.6 Bitcoin-Qt GUI<br /> 结果:余额和交易显示正确 | Gavin Andresen
|- style="color:orange;" | ✓ | 在测试网络和主网络上运行支持 BIP-16 的反向移植 Bitcoin 0.3.19 到 0.5.1<br /> 使用 GUI、RCP sendtoaddress 和 RCP sendmany 命令发送币<br /> 结果:在所有情况下都发送了币 | Gavin Andresen(已测试 0.3.19、0.3.24 和 0.5.1)
|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 0.6.0<br /> 使用内置矿工挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen
|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 0.6.0<br /> 使用 getwork 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen
- style="color:green;" |
---|
在测试网络上运行支持 BIP-16 的 Bitcoin 0.6.0<br /> |
使用 getmemorypool 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gregory Maxwell;使用 p2pool 参见 [https://blockexplorer.com/testnet/rawblock/00000000040367fcb750b6f064db6955b6c7c6218fb625e3dfed6b5c19c97107 测试网络区块 45400](以及许多其他区块,也在主网上进行了测试)
|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 0.3.19 到 0.5.1 反向移植<br /> 使用内置矿工挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen(在 box 中的测试网络上测试了所有版本)
|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 3.19 到 0.5.1 反向移植<br /> 使用 getwork 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen(在 box 中的测试网络上测试了所有版本)
|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 0.3.19 到 0.5.1 反向移植<br /> 使用内置矿工挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen(在 box 中的测试网络上测试了所有版本)
|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 3.19 到 0.5.1 反向移植<br /> 使用 getwork 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen(在 box 中的测试网络上测试了所有版本) |- style="color:red;"
- style="color:red;" |
---|
在测试网络上运行支持 BIP-16 的 Bitcoin 3.19 到 0.5.1 反向移植<br /> |
使用 getmemorypool 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 |
|- style="color:green;" | ✓ | 为以下内容创建/运行单元测试:<br /> multisignature 签名/验证<br /> multisignature 无效签名失败<br /> multisignature IsStandard() 成功/失败<br /> 从多重签名交易中提取地址<br /> BIP 16 IsStandard() 成功/失败(包括 OP_PUSHDATA1/2/4 失败)<br /> BIP 16 AreInputsStandard() 成功/失败<br /> BIP 16 与其他 3 种标准交易类型的兼容性<br /> BIP 16 no-recursion 测试<br /> BIP 16 切换日期逻辑<br /> OP_CHECKMULTISIG 计算 BIP 16 交易中的签名操作<br /> | Gavin Andresen(请参阅 bitcoin 源代码树中的 test/multisig_tests.cpp、test/script_tests.cpp、test/script_P2SH_tests.cpp、test/sigopcount_tests.cpp;在 src/ 目录中运行 'make test_bitcoin' 进行编译)
|- style="color:green;" | ✓ | 创建/运行“交易模糊器”以压力测试 BIP 16 交易 | Gavin Andresen(https://github.com/gavinandresen/bitcoin-git/tree/fuzzer,在 box 中的测试网络和测试网络上各运行两次,每次测试运行 100,000 个“模糊”交易)有效的模糊交易出现在(例如)[http://blockexplorer.com/testnet/block/000000001587c859649cea954e921ba4efd77707fb327dd53e122fd7b89636c4 测试网络区块 44987]
|- style="color:green;" | ✓ | 在主网上运行 Bitcoin 0.6<br /> 结果:正确创建区块 结果:区块在其 coinbase 中包含 /P2SH/ 字符串 | 各种矿池
|- style="color:green;" | ✓ | 在主网上运行 BIP 16 vinced_mergedmine 反向移植<br /> 结果:正确创建区块 结果:区块在其 coinbase 中包含 /P2SH/ 字符串 |(Gavin 为 slush:在修复错误后,运行没有问题)<br />
|- style="color:green;" | ✓ | 在 box 中的测试网络上测试链拆分处理<br /> 在 box 中的测试网络链上的两个区块中创建两个有效哈希、无效签名交易,这两个区块在时间上是分开的<br /> 运行一个 bitcoind 与链同步,并在两个区块之间设置 -paytoscripthashtime<br/> 结果:第一个交易/区块被接受,第二个导致链拆分<br/> 在将来重新运行带有 -paytoscripthashtime 的 bitcoind<br/> 结果:整个链被接受 | Gavin Andresen:box 中的测试网络文件位于:http://www.skypaint.com/bitcoin/bip16chain.tar.gz 第一个半有效的 BIP16 交易位于区块 2431(时间 1328202835)第二个位于区块 2436(时间 1328204241)<br />
|}
- 原文链接: github.com/jl2012/bips/r...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!