本文是关于BIP16(Pay-to-Script-Hash)的质量保证测试计划,旨在确保BIP16在比特币网络中的正确实施和功能。测试内容包括在测试网络和主网络上运行支持BIP16的 Bitcoin 版本,测试多重签名交易的各种情况,以及创建单元测试和交易模糊器来验证 BIP16 的兼容性和安全性。
forked from bitcoin/bips
bip-anyprevout
在此仓库中搜索
/
复制路径
Blame更多文件操作
Blame更多文件操作
2018年9月28日
433283d · 2018年9月28日
打开提交详情
190 行 (163 loc) · 8.58 KB
/
顶部
预览
代码
Blame
190 行 (163 loc) · 8.58 KB
复制原始文件
下载原始文件
编辑和原始操作
此页面是 BIP 16 的质量保证测试计划。如果你发现缺少测试,请添加它。 如果你可以帮助测试,请编辑此页面以签署它。
完成 | 测试流程 | 测试者 |
---|---|---|
✓ | 在测试网络和主网络上运行支持 BIP-16 的 Bitcoin 0.6<br>使用 GUI、RCP sendtoaddress 和 RCP sendmany 命令发送币<br>结果:在所有情况下都发送了币 | Gavin Andresen |
✓ | 测试 multisig 1-of-1<br>运行 0.6 bitcoind,使用以下命令获取公钥:./bitcoind -testnet validateaddress $(./bitcoind -testnet getnewaddress)<br>生成 multisig 1-of-1 地址:./bitcoind addmultisigaddress 1 {public key from above}<br>使用该地址给自己发送一些比特币<br>结果:交易已由网络确认,在 listtransactions 中正确显示。<br>结果:余额不受影响 | Gavin Andresen; 参见 测试网区块 44989 中的交易 |
✓ | 测试 multisig 1-of-2<br>运行 0.6 bitcoind,获取 2 个新的比特币地址<br>生成 multisig 1-of-2 地址:./bitcoind addmultisigaddress 1 {address1} {address2}<br>使用该地址给自己发送一些比特币<br>结果:交易已由网络确认,在 listtransactions 中正确显示。<br>结果:比特币余额不受影响。 | Gavin Andresen; 参见 测试网区块 44989 中的交易 |
✓ | 测试 multisig 1-of-3、2-of-3、3-of-3<br>使用其他新的多重签名交易类型重复上述测试流程 | Gavin Andresen; 参见 测试网区块 44989 中的交易 |
✓ | 测试 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 显示正确结果 | Gavin Andresen; 参见 测试网区块 44989 中的交易 |
✓ | 测试赎回多重签名交易<br>完全使用多重签名交易为一个新的空钱包充值<br>等待交易确认<br>使用 sendtoaddress 和 sendmany 生成从多重签名中支出的交易<br>支出到单地址和多重签名地址,并测试 send-to-other 和 send-to-self<br>结果:交易被网络接受/确认<br>结果:余额减少,listtransactions 显示正确信息 | Gavin Andresen; 参见 测试网区块 44989 中的交易 |
✓ | 在上述测试钱包之一上运行 0.6 Bitcoin-Qt GUI<br>结果:余额和交易正确显示 | Gavin Andresen |
✓ | 在测试网和主网上运行支持 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) |
✓ | 在测试网上运行支持 BIP-16 的 Bitcoin 0.6.0<br>使用内置矿工挖矿<br>结果:区块被接受,显示在 blockexplorer.com/testnet 上<br>结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen |
✓ | 在测试网上运行支持 BIP-16 的 Bitcoin 0.6.0<br>使用 getwork 接口挖矿<br>结果:区块被接受,显示在 blockexplorer.com/testnet 上<br>结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen |
在测试网上运行支持 BIP-16 的 Bitcoin 0.6.0<br>使用 getmemorypool 接口挖矿<br>结果:区块被接受,显示在 blockexplorer.com/testnet 上<br>结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gregory Maxwell; 使用 p2pool 参见 测试网区块 45400(以及许多其他区块,也在主网上进行了测试) | |
✓ | 在测试网上运行支持 BIP-16 的向后移植 Bitcoin 0.3.19 到 0.5.1<br>使用内置矿工挖矿<br>结果:区块被接受,显示在 blockexplorer.com/testnet 上<br>结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen(在盒中测试网上测试了所有版本) |
✓ | 在测试网上运行支持 BIP-16 的向后移植 Bitcoin 3.19 到 0.5.1<br>使用 getwork 接口挖矿<br>结果:区块被接受,显示在 blockexplorer.com/testnet 上<br>结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen(在盒中测试网上测试了所有版本) |
✓ | 在测试网上运行支持 BIP-16 的向后移植 Bitcoin 0.3.19 到 0.5.1<br>使用内置矿工挖矿<br>结果:区块被接受,显示在 blockexplorer.com/testnet 上<br>结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen(在盒中测试网上测试了所有版本) |
✓ | 在测试网上运行支持 BIP-16 的向后移植 Bitcoin 3.19 到 0.5.1<br>使用 getwork 接口挖矿<br>结果:区块被接受,显示在 blockexplorer.com/testnet 上<br>结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | Gavin Andresen(在盒中测试网上测试了所有版本) |
在测试网上运行支持 BIP-16 的向后移植 Bitcoin 3.19 到 0.5.1<br>使用 getmemorypool 接口挖矿<br>结果:区块被接受,显示在 blockexplorer.com/testnet 上<br>结果:挖出的区块的 coinbase 包含 /P2SH/ 字符串 | ||
✓ | 为以下内容创建/运行单元测试:<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 交易中的签名操作 | Gavin Andresen(参见 bitcoin 源代码树中的 test/multisig_tests.cpp、test/script_tests.cpp、test/script_P2SH_tests.cpp、test/sigopcount_tests.cpp;在 src/ 目录中 'make test_bitcoin' 进行编译) |
✓ | 创建/运行“交易模糊器”以压力测试 BIP 16 交易 | Gavin Andresen ( https://github.com/gavinandresen/bitcoin-git/tree/fuzzer , 在盒中测试网和测试网上各运行两次,每次测试运行 100,000 个“模糊”交易) 有效的模糊交易出现在(例如)测试网区块 44987 中 |
✓ | 在主网上运行 Bitcoin 0.6<br>结果:区块创建正确<br>结果:区块在其 coinbase 中包含 /P2SH/ 字符串 | 各种矿池 |
✓ | 在主网上运行 BIP 16 vinced_mergedmine 向后移植<br>结果:区块创建正确<br>结果:区块在其 coinbase 中包含 /P2SH/ 字符串 | (Gavin 为 slush:在修复错误后,运行没有问题) |
✓ | 在盒中测试网上测试链分裂处理<br>在盒中测试网链上,在时间上相隔的两个区块中创建两个有效的哈希、无效签名交易<br>运行一个 bitcoind 与链同步,在两个区块之间设置 -paytoscripthashtime<br>结果:第一个交易/区块被接受,第二个导致链分裂<br>重新运行 bitcoind,并将 -paytoscripthashtime 设置在未来<br>结果:整个链被接受 | Gavin Andresen:盒中测试网文件位于:http://www.skypaint.com/bitcoin/bip16chain.tar.gz 第一个半有效 BIP16 交易位于区块 2431(时间 1328202835),第二个位于区块 2436(时间 1328204241) |
- 原文链接: github.com/ajtowns/bips/...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!