bip-anyprevout项目中的bips/bip-0016/qa.mediawiki文件

  • ajtowns
  • 发布于 2025-03-15 22:20
  • 阅读 24

本文是关于BIP16(Pay-to-Script-Hash)的质量保证测试计划,旨在确保BIP16在比特币网络中的正确实施和功能。测试内容包括在测试网络和主网络上运行支持BIP16的 Bitcoin 版本,测试多重签名交易的各种情况,以及创建单元测试和交易模糊器来验证 BIP16 的兼容性和安全性。

跳至内容

ajtowns/ bips 公开

forked from bitcoin/bips

折叠文件树

文件

bip-anyprevout

在此仓库中搜索

/

qa.mediawiki

复制路径

Blame更多文件操作

Blame更多文件操作

最近提交

kaidirenkaidiren

修复 bip-0016 链接 404

2018年9月28日

433283d · 2018年9月28日

历史

历史

打开提交详情

查看此文件的提交历史。

190 行 (163 loc) · 8.58 KB

/

qa.mediawiki

顶部

文件元数据和控件

  • 预览

  • 代码

  • Blame

190 行 (163 loc) · 8.58 KB

Raw

复制原始文件

下载原始文件

编辑和原始操作

此页面是 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 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

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