BIP 16 质量保证测试计划

这是一份关于 BIP 16(Pay to Script Hash)的质量保证测试计划。该计划详细列出了需要测试的各种场景,包括在测试网络和主网络上运行不同版本的 Bitcoin 软件、测试多重签名交易、测试挖矿以及创建单元测试等,以确保 BIP 16 功能的正确实施和兼容性。

此页面是 [[../bip-0016.mediawiki|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 /> 花费到单地址和多重签名地址,并测试 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 /> 结果:挖出的区块的 coin base 包含 /P2SH/ 字符串 | Gavin Andresen

|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 0.6.0<br /> 使用 getwork 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coin base 包含 /P2SH/ 字符串 | Gavin Andresen

- style="color:green;"
在测试网络上运行支持 BIP-16 的 Bitcoin 0.6.0<br />

使用 getmemorypool 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coin base 包含 /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 /> 结果:挖出的区块的 coin base 包含 /P2SH/ 字符串 | Gavin Andresen(在一个盒中测试网络上测试了所有版本)

|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 3.19 到 0.5.1 的反向移植<br /> 使用 getwork 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coin base 包含 /P2SH/ 字符串 | Gavin Andresen(在一个盒中测试网络上测试了所有版本)

|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 0.3.19 到 0.5.1 的反向移植<br /> 使用内置矿工挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coin base 包含 /P2SH/ 字符串 | Gavin Andresen(在一个盒中测试网络上测试了所有版本)

|- style="color:green;" | ✓ | 在测试网络上运行支持 BIP-16 的 Bitcoin 3.19 到 0.5.1 的反向移植<br /> 使用 getwork 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coin base 包含 /P2SH/ 字符串 | Gavin Andresen(在一个盒中测试网络上测试了所有版本) |- style="color:red;"

- style="color:red;"
在测试网络上运行支持 BIP-16 的 Bitcoin 3.19 到 0.5.1 的反向移植<br />

使用 getmemorypool 接口挖矿<br /> 结果:区块被接受,显示在 blockexplorer.com/testnet 上<br /> 结果:挖出的区块的 coin base 包含 /P2SH/ 字符串 |

|- style="color:green;" | ✓ | 为以下内容创建/运行单元测试:<br /> 多重签名签名/验证<br /> 多重签名无效签名失败<br /> 多重签名 IsStandard() 成功/失败<br /> 从多重签名交易中提取地址<br /> BIP 16 IsStandard() 成功/失败(包括 OP_PUSHDATA1/2/4 失败)<br /> BIP 16 AreInputsStandard() 成功/失败<br /> BIP 16 与其他 3 种标准交易类型的兼容性<br /> BIP 16 无递归测试<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 , 在盒中测试网络和测试网络上各运行两次,每次测试运行 100,000 个“模糊”交易)有效的模糊交易出现在(例如)[http://blockexplorer.com/testnet/block/000000001587c859649cea954e921ba4efd77707fb327dd53e122fd7b89636c4 测试网络区块 44987]

|- style="color:green;" | ✓ | 在主网上运行 Bitcoin 0.6<br /> 结果:区块创建正确 结果:区块在其 coin base 中包含 /P2SH/ 字符串 | 各种矿池

|- style="color:green;" | ✓ | 在主网上运行 BIP 16 vinced_mergedmine 反向移植<br /> 结果:区块创建正确 结果:区块在其 coin base 中包含 /P2SH/ 字符串 | (Gavin 为 slush:在修复错误后,运行没有问题)<br />

|- style="color:green;" | ✓ | 在盒中测试网络上测试链拆分处理<br /> 在盒中测试网络链上的两个区块中创建两个有效哈希、无效签名交易,这两个区块在时间上是分离的<br /> 运行一个 bitcoind 以与链同步,并在两个区块之间设置 -paytoscripthashtime<br/> 结果:第一个交易/区块被接受,第二个导致链拆分<br/> 在未来重新运行带有 -paytoscripthashtime 的 bitcoind<br/> 结果:整个链被接受 | Gavin Andresen:盒中测试网络文件位于:http://www.skypaint.com/bitcoin/bip16chain.tar.gz 第一个半有效 BIP16 交易位于区块 2431(时间 1328202835)第二个位于区块 2436(时间 1328204241)<br />

|}

  • 原文链接: github.com/ajtowns/bips/...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
raw.githubusercontent
raw.githubusercontent
江湖只有他的大名,没有他的介绍。