R3 Corda: 版本

原文地址:https://docs.corda.net/versioning.html

随着 Corda 平台的演进以及更多的功能被添加,拥有一个版本管理系统变得越来越重要,它需要能够允许用户很容易地在不同版本间进行比较。Corda 的每个 Release 都会使用有语义的版本名称,例如 major.minor.patch。这对于在公共域中发布时很有用的,但对于在这个平台上工作的开发者来说可能不是很友好。首先它需要被解析然后这会被分解成三个部分,以此来确定 API 具有的差异。 Release 版本还是很有用的,为了 debug 的目的,节点所发送的每个 MQ 的消息都会将这个版本信息附加到 release-version 的 header 属性中。

使用一个自增长的数值来表示 Corda 平台的 API 版本会更容易一些,这被称为平台版本(Platform Version)。这个跟 Android 的 API Level 类似。它从1 开始,对于在整个平台中修改任何的公有 APIs 的每个新的 release 会加1。这包括节点自身的共有 APIs,RPC 系统,消息系统,序列化等。API 的向后兼容性一直都是被考虑和维护的,这样就不要从老的 APIs 向新版本迁移。仅仅在很少的情况下 APIs 可能会被移除,比如为了一些安全问题。在平台版本和 release version 之间是没有关系的,对于 major,minor 或者 patch 值的变化可能会也可能不会增加平台的版本。

平台版本是节点的 NodeInfo 对象中的一部分,它可以从 ServiceHub 中获取到。这个允许一个 CorDapp 能够找到它正在运行的是那个版本,并且确定一个指定的功能是不是可用。当一个节点在网络地图服务中注册的时候,它会使用节点的平台版本来强制网络使用一个最低版本的要求。

未来的版本中可能会引入一个目标平台版本的概念,这个会跟 Android 的 targetSdkVersion 类似,这对于平台的行为变动提供了一个可维护的兼容性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,211评论 3 119
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,645评论 19 139
  • 再观《暖春》有感 『文』水金时 我想我是抽了风,大过年的没事翻出来《暖春》这部老电视剧来看。最后落得个痛哭流涕、稀...
    水金时阅读 370评论 0 1
  • 存在即合理从另一个角度解读就是“市场的刚需即是发展的趋势”。尽管各国政府还在为虚拟货币的合法性和各种监管措施找借口...
    什么神箭阅读 291评论 0 0
  • 一、登穹窿山记 峨巍兮,雄乎壮哉!揽胜无难,今登穹窿山。敬神尊孙武,恭虔尽慨然!修文讲武二千岁①,西滨太湖渺云烟。...
    邵冬辰阅读 632评论 0 4

友情链接更多精彩内容