11月第四周
copernicus weekly report/哥白尼项目周报(fourth week of November/11月第四周)
copernicus项目说明
哥白尼项目提供给大家一个Go语言版本的Bitcoin Cash客户端,并对原来的客户端软件结构做了重新梳理和设计,期望结构简洁,降低后面开发者进入时的学习成本,增加客户端多样性以此来保证整个Bitcoin Cash网络的安全。
The Copernicus project provides a Golang version of Bitcoin Cashclient, which reorganizes and redesigns the software structure for the originalclient in order to make the structure more concise, reduce the learningdifficulty for developers and increase diversity of clients to ensure safety of the entire BCH network.
What we did last week
- Add the sliding window stall check that can be downloaded concurrently for Headers-first branch in case the single peer speed will affect the whole speed
- Reconstruct some branch codes of headers-first so that the code structure can be optimized
- Add support for the Skip pointer function of BlockIndex so that the processing speed of GetAncestor can be optimized
- The supplementary coverage rate of unit testing has been up to 80% for syncmanager of headers-first branch
- Transfer the modification of mining logic for BitcoinABC v0.18.4
- Improve the loading logic of blockindex so that the synchronized block of headerfirst model can be in sync after interruption
- Add the MinChainWork check to improve the security of clients when the unsolicited block messages are processed
- Complete the relevant functional exploration of OP_CHECKDATASIG and OP_CHECKDATASIGVERIFY, complete the unit testing and integrate testing for new features
- Add the function test for rawtransaction and modify the codes according to test result
上周完成的工作
- headers-first分支增加并发下载滑动窗口stall检测,避免因单一peer速度影响整体速度
- 重构部分headers-first的分支代码,以使其代码结构更加合理
- 增加对BlockIndex的Skip指针功能的支持,以此来优化GetAncestor处理速度
- 对headers-first分支syncmanager进行单元测试补充覆盖率已达80%
- 迁移BitcoinABC v0.18.4关于挖矿相关逻辑的改动
- 改进blockIndex加载逻辑,以便使headerfirst模式同步块可中断后继续同步
- 对未请求过的块消息处理时,增加MinChainWork检查以此增强客户端的安全性
- 完成OP_CHECKDATASIG以及OP_CHECKDATASIGVERIFY相关功能开发,并完成新增功能的单元测试和集成测试
- 增加对rawtransaction的功能性测试,并根据测试结果改进相关代码