2016-12-01 IRC 会议摘要
概述
笔记 / 简短主题
- 由于 segwit 改变了 JSON-RPC API 中数据的格式,因此提出了一个拉取请求,以添加一个选项来返回非 segwit 序列化,这样那些尚未及时升级其库的用户仍然可以使用 RPC 接口。
- JeremyRubin 的 更好的 SigCache 实现 已经准备就绪,但缺少一些审查。
主要主题
- Main.cpp 拆分
- 钱包中的 vchDefaultKey
- HD 恢复
Main.cpp 拆分
背景
TheBlueMatt 正在重构 main.cpp。这应该使代码更容易被新开发者访问,并改进代码审查和测试。
会议评论
PR #9183(main.cpp 拆分的最终准备)已准备好合并,它已经有很多 ACK 了。
在 main 拆分之后,反向移植会变得更加复杂。仍然需要反向移植到 0.13.2 的 PR 是
- #9253(修复用于计算绑定套接字数量的计算)
- #9229(删除对 getaddrinfo_a 的调用)
- #9194(添加选项通过 rpc 返回非 segwit 序列化)
- #9188(使孤儿父级获取请求见证人)
- #9239(禁用 1 块目标的费用估算)
- #9252(在调用 ProcessNewBlock 或处理头文件(cmpctblock 处理)之前释放 cs_main)
会议结论
- 合并 #9183(main.cpp 拆分的最终准备)
- 专注于审查带有“需要反向移植”标签的内容
- 在完成反向移植后拆分 main
钱包中的 vchDefaultKey
背景
vchDefaultKey 是“默认地址”概念的遗留物,该概念在古老的 0.4.0 版本中被移除。Wumpus 为此行为打开了一个问题。
目前它仅用于确定是否刚刚创建了一个新钱包。
会议评论
Sipa 希望摆脱它,但是如果我们这样做,降级到旧的钱包版本会导致无法重新扫描。
鉴于这不是很紧急,所以不需要像虚拟密钥等 hack。0.14 可以停止依赖 vchDefaultKey,但仍然写入它,然后在 0.15 中删除 vchDefaultKey 并将最小版本提升到 0.14,这样 0.15 钱包将永远无法用 0.13 打开。
会议结论
- 使用版本控制在 0.15 中摆脱 vchDefaultKey
HD 恢复
背景
从 0.13 开始,新创建的钱包将根据BIP32 使用分层确定性密钥生成。钱包转储将包含 HD 种子,但目前无法导入该种子。
会议评论
Jonasschnelli 认为它应该是一个单独的工具来恢复 HD 种子。该工具将创建一个新的 wallet.dat,并在之后运行重新扫描。该工具可以与 RPC 和 UTXO 集交互,以检测间隙限制。
Wumpus 建议先审查并合并当前的钱包 PR,然后再进行额外的工作。PR #9143(重构 ZapWalletTxes 以避免层级违规)、#9256(修复更多 CWallet/CWalletDB 层级违规)和 #8723(添加对灵活 BIP32/HD 密钥路径方案的支持)可能需要一些审查。
Gmaxwell 认为我们应该避免在修复密钥路径拆分问题之前向 HD 支持添加更多复杂性。问题是更改输出与接收密钥在同一条链上,因此你最终可能会将更改密钥作为地址发出去让人们支付(将他们的付款隐藏起来),或者如果你从 hd 数据中恢复了钱包,更改可能会显示为付款。
低垂的果实可能是为密钥池添加一个“已使用”标记,并将 HD 钱包的默认密钥池增加到 1000,因为目前的 100 实在太小了。
会议结论
- 审查 #9143(重构 ZapWalletTxes 以避免层级违规)、#9256(修复更多 CWallet/CWalletDB 层级违规)和 #8723(添加对灵活 BIP32/HD 密钥路径方案的支持)
- 专注于拆分密钥路径
幽默解嘲
gmaxwell I just noticed #9188 isn't merged.
gmaxwell looks to see if he's the delay on that one
gmaxwell is not the delay
参与者
IRC 昵称 | 姓名/匿名 |
---|---|
sipa | Pieter Wuille |
gmaxwell | Gregory Maxwell |
wumpus | Wladimir van der Laan |
morcos | Alex Morcos |
jtimon | Jorge Timón |
BlueMatt | Matt Corallo |
Chris_Stewart_5 | Chris Stewart |
jonasschnelli | Jonas Schnelli |
Michagogo | Michagogo |
achow101 | Andrew Chow |
cfields | Cory Fields |
jcorgan | Johnathan Corgan |
petertodd | Peter Todd |
instagibbs | Gregory Sanders |
sdaftuar | Suhas Daftuar |
paveljanik | Pavel Janik |
kanzure | Bryan Bishop |
luke-jr | Luke Dashjr |
btcdrak | BtcDrak |
免责声明
此摘要是在未经任何讨论参与者同意的情况下编写的,因此任何错误都是摘要作者的责任,而不是讨论参与者的责任。