区块链 · 数字资产知识 · 行业资讯
文章库关于本站

资料与核验

区块链BIP资料怎样整理关联|编号日期、依赖与文档版本分别记录

摘要

BIP头部的Assigned、Requires、Replaces与Version回答不同问题。依据BIP3的字段和修订规则,并对照语义化版本规范,整理不会混淆依赖、替代建议和软件发布的资料卡。

区块链开源码的科技主题配图

编号日期不是每次修订的日期

检索区块链bip资料时,先给编号、日期与版本各留一栏。BIP3把Assigned定义为提案获分配编号的日期;编号分配前使用问号。它并不是文章首次出现的日期,也不会因为后来补充了某个测试向量,就自动成为那次修订的日期。

旧截图还可能使用Created字段。BIP3的兼容说明解释,将它改名为Assigned,是为明确其值对应编号分配。整理历史材料时,应保留原字段名和当时文档版本,再注明当前字段含义,不能把旧名中的创建二字直接翻译成客户端发布或网络启用。

依赖与替代建议是不同方向的关系

Requires列出新提案依赖的已有BIP;Replaces则供作者列出希望由本提案接替、取代或使之过时的旧提案。二者都可能写着数字列表,但不能合并成一栏相关提案。依赖意味着阅读当前规则还需要对应的基础说明,替代建议则指向另一种文档关系。

Proposed-Replacement从旧提案一侧记录潜在后继:当后来提案表示想取代旧提案,其编号可写进旧文档的这个字段。因此,两份资料出现相互指向的替代字段,可以帮助沿关系查阅,却不能仅凭数字较大就认定所有内容已经替换。BIP3自身的头部就分别列有Requires和Replaces,应按各自字段解释。

区块链 硬分叉的科技主题配图

文档版本要与自身变更记录配套

BIP3要求,提案达到Complete后发生的变化,以版本、日期和说明记录在Changelog中,较新版本排在前面;引入变更记录后,头部Version应指向最新文档版本。这里描述的是提案文本的修订,不能把它当成Bitcoin Core客户端的版本号,更不能据此判断本地节点已经运行了哪份代码。

它借鉴主版本、次版本、修订版本的三段结构:规范出现不兼容变化对应主版本,兼容的规范变化或扩展对应次版本,重要澄清、测试向量等其他值得记录的修改对应修订版本。正文还对成熟提案的重大变化另有限制。因此,读到版本提升,应接着看变更说明,不能从第一位数字增加直接推出一次网络分叉。

相同三段数字仍要先确定被编号对象

独立的Semantic Versioning 2.0.0规范针对声明了公共API的软件,按API兼容性解释三段版本,并要求已发布版本的内容不被原地改写。BIP3说的是借鉴这种结构,再按提案规范的变化给出自己的规则。软件包版本与提案文档版本即使恰好相同,仍不能据此认定二者有实现对应关系。

设两张虚构资料卡,一张记录某提案文档1.2.0,另一张记录某软件包1.2.0。数字相同只说明标签相同,还缺少软件实现与文档的关联证据。实际归档时,可一起保存原文件、读取日期、Assigned、关系字段及变更记录;若讨论的是客户端兼容性,再单独补其版本与实现说明,不用提案编号代替。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验