BCHN客户端首席维护者的工作汇报 (2020-03-14)

Logo
by freetrader
17 March 2020

比特币现金社区和BCHN客户端的用户,大家好!

两周前,我们发布了BCHN节点的初始版本v0.21.0。现在我想向大家汇报下进展,同步我们过去、现在和未来要做的事情。

目前社区围绕IFP计划的争议逐渐平静下来了,希望我的这些汇报文章不要被过分解读。BCHN项目正在加速开发之中。

项目应用

发布至今,至少有以下3家矿池标志他们支持BCHN客户端(这也暗示着他们不认可IFP):

  • pool.bitcoin.com

  • ASICseer

  • SBI Crypto

出现了以下几家网站来监测使用BCHN的用户、矿工和矿池:

这表明支持BCHN的算力正在稳步提高。

财务概述

以下是BCHN接收捐赠的地址,是个多签地址。

bitcoincash:prnc2exht3zxlrqqcat690tc85cvfuypngh7szx6mk

来源: bitcoincashnode.org

截止到发文日期,该地址共持有141.0527805个BCH。除了以下一笔支出,这笔资金还没有动过:

  • -0.00000535 BCH : 注册cashaccount账户 BitcoinCashNode#59780; 🎈

多签钱包的地址1收到过一笔1.13385917BCH的转账(bitcoincash:pp03e95qz7yene7v4vdx2vfsqx4qsq4wfvw8z3pkjf)。这笔资金是Coin.dance以BCHN的名义收到的捐赠。该地址是特意为BCHN接收捐款使用的。

使用BCHN的矿池也志愿给BCHN项目捐赠了一些资金。

项目工作明细

以下是BCHN Gitlab 代码库的一些数据:

上线至今:

  • 问题: 提出51个,解决18个,33个待解决。

  • 合并请求:提出100个,已合并86个,关闭10个(包括被拒或取消的), 4个待合并。

提示:我们代码更新在Gitlab上,Github只做同步功能。

根据此前宣布的计划,我们围绕以下事项展开工作:

  • 文档更新

    • 开发者 / 构建相关文件 (gitian编译, CONTRIBUTING, ninja构建文档,在Doxygen文档中进行重命名,链接:https://bitcoindoxygen.art/)

    • 创建新文件描述Gitlab的运行规则和标签等含义

    • 更新了安全披露政策

    • 在RPC接口帮助输出中移除已作废的项目(如Segwit, BIP9, BIP145)

  • "实施一种完全开放的开发流程,吸引新的开发者、测试者、专业人员和业务爱好者参与BCHN的发展。" :

    • 感谢ASICseer的Alexander Levin给予了慷慨的帮助, 我们的开发slack小组和电报群、IRC都建立起了联系渠道,公众可获取更多关于我们的项目信息。

      Alexander还帮忙建立了slack小组的记录日志(http://logs.bchnode.org/)。未来我们会对记录日志做一些改善,比如显示被记录信息的来源。 不过这需要得到第三方软件的支持。

    • 通过以下Slack小组可以与社区互动:

      • #dev-general <-我们的主开发小组,开放给所有人。

      • #dev-newbie <- 新手开发者小组,我们的高级开发者会定期访问,回答成员问题。

      • #support-general <- 除Gitlab上的问题外,需要寻求更多互动支持的,请进这个小组。

      • #testing <- 测试组是项目自身使用的。我们欢迎软件测试人员加入、参与并监督。

      • #quality <- 主要的答疑小组。所有人都可加入,提问并讨论任何与项目质量保证相关的问题。

      • #general-discuss <- 普通讨论群组。不适合在其他小组讨论的话题都可以在这里讨论。请尽情提出任何疑问。

      • #introduction <- 成员自我介绍小组。

  • "意识到现有软件之间的差异,各种验证工具和方法之间的缺陷,来制定恰当的计划提升软件质量。" :

    • 我正在着手一个软件验证和确认计划 (VVP) 。该计划能够识别与V&V流程相关的角色和活动,并在审核后充当项目库的活档案。

    • 在该计划问世后,可能会出现其他计划负责软件的其他部分,如开发,维护,问答等。把这些都形成文档可能会耗时数月时间,因为我们还要同时着手其他工作。我们不能因小失大,搁置手头的开发工作,来美化其他各种计划和流程等。

    • 我正在收集审核清单,并以此构建问答清单数据库用于不同项目活动(包括提出请求、测试计划、代码审核、封面设计、部署、结构/发布管理等)

  • "构建高效的、可重复创建和发布流程"

    • 在初始版本发布后,我们得到了很多反馈意见,如改善通用哈希构建格式。我们计划在未来一两周执行一个小版本升级,改善我们的发布流程。
  • "修改项目基础设施如 (seeders, seeds),来改善发布软件包的档案存储。"

    • 在下个小版本升级发布前我会进行seeds/seeders。
  • "为项目设立持续部署,通过我们的Gitlab / Docker整合Gitlab之外的测试。"

    • Docker部署工具还不能通过Gitlab自动实现。Josh Ellithorpe一直在协助我们为初始版本的Docker部署做准备。我们已经注册了Docker账户,还需要整合Gitlab和Docker。在下个小版本发布前可能还无法完成这项工作,需要看开发者资源。
  • "建立支持和联系流程"

    • 我们更新了安全披露政策文档,联系了其他几个项目来互相监督,相互披露安全问题。
      目前,与我们建立了互相监督关系的有BCHD,Flowee和Knuth。今后还会有更多团队加入其中。
  • "建立可问责、透明的流程,为BCHN的持续维护和开发进行资助。"

    • 我在文章开头提到了财务报告,方便大家了解项目融资的现状、收入、花销和相关计划。我们接下来要借助Flipstarter工具发起融资活动,并需要在2020年3月30号之前提交融资计划。随着项目的进展,我们会披露更多详细信息。感谢@imaginary_username在这件事情上给予我的帮助。
  • "确认更多角色,如专业的联络员来维护与BCHN核心用户和广大BCH用户的关系。"

    • @emergent_reasons已经提出了这一角色,但是我还没有公开这一信息。我计划在发起Flipstarter募资计划时与其他角色一并公开。
  • "评估完成规划的任务需要多少人手,评估接下来募资活动的预算。"

    • 我需要在3月30号之前完成这部分的起草工作。这离不开项目成员的协助。

联系与其他客户端团队,进行相关功能部署

Xversion (Bitcoin Unlimited团队开发者Greg Griffith)

BCHN团队收到BU开发者Greg Griffith的请求,要求在BCHN中部署xversion 协议信息。在我们团队内部和Gitlab的公开问题追踪器上进行过相关讨论(https://gitlab.com/bitcoin-cash-node/bitcoin-cash-node/-/issues/45)。从讨论结果上看,大家并不反对这一请求。我们还需要进行更多的技术讨论,改进软件参数等。针对其他客户端的类似请求,我制定了一份粗略的指导方针:

BCHN首席维护者对其他客户端合并请求的通用要求:

(BCHN的项目文档中并没有这一通用要求,还有待审核。这里列出来是基础要求部分。)

  1. 符合我们的代码风格(我们的代码风格与Bitcoin ABC团队相似)。但是我们内部决定对C/C++ 代码有80(代码长度)的软长度限制和132的硬长度限制。其余部分与ABC类似,如Python代码等。

  2. 需要进行覆盖测试,提供合适的文档资料。

  3. 先在其他客户端上进行合并和测试。之后我们会在BCHN上进行验证,并进行必要的技术调整。

  4. 用户必须支持合并过程中涉及的技术特征。在Gitlab问题追踪器中提出相应的跨端口提案,所有用户都可以看见请求,发起讨论,进行评估,选择优先项。

Xthinner (独立开发者Jonathan Toomim)

BCHN收到Jonathan Toomim询问能否合并Xthinner和其相关的压力测试工具组件。

这件事情尚处于早期讨论阶段,不过Jonathan指出了BCHN客户端可以改善的地方:可以用一种更快的算法代替目前处理速度慢的coin selection算法(注:coin selection是在进行转账时,一种寻找UTXO的算法)来改善大区块压力测试等场景。

我认为BCHN和Jonathan存在潜在合作空间。

BCH的规范库和IFP共识

你们应该知道,我和其他一些开发者反对江卓尔提出的IFP融资计划。Bitcoin ABC不顾社区反对,要激活IFP,并将IFP合并到bitcoincash.org的Github代码库中。

这一技术合并不仅违背了社区的意愿,而且:

  1. 违背了社区的广泛共识:在一年两次的硬分叉升级中不能把极具争议性的共识改变合并到通用代码库中。

  2. 该规范有18天的功能冻结阶段!(注:“功能冻结feature freeze是指选定一个日期,在这个日期后就不可以再添加新的功能。但Bitcoin ABC团队依然在该规范上进行了大的改动)

因此,我在Github上反对把IFP合并到代码中。

但是该Gitbub组织的维护者冻结并最终关闭了相关讨论。尽管我多次要求披露是谁做的决定,维护者并没有进行信息公开。

不仅如此,我在3月3号收到邮箱提示,称我的Github账号(ftrader)被移除了Bitcoin Cash组织。我在Github上提出质疑。5天过去了,仍没有人回应我。

BCHN两次提出申请,要求bitcoincash.org网站把BCHN列为全节点名单都被拒绝了,且理由荒诞。

我们所遭受的不公平对待,和bitcoincash.org域名持有人引发的社区担忧会促使我和其他支持BCHN、反对在2020年5月份的升级中激活IFP的人们积极寻找替代方案,为5月份的升级兼容的讯息和规格找个新家。

未来展望

欢迎留言,一起参与到BCHN项目的建设之中。欢迎参加2020年BCHN3月份的社区调查,这也是我们首次使用BCHN公开咨询系统