生态活动-新闻详情

JDChain1.4.2新特性

发布时间:2021.2.4   作者:IT鲁班

本次发布版本包括修复缺陷、优化功能和新增功能等方面的改进,如下:

新增功能

  • 新增:基于BFT-SMaRt共识协议环境下的一致性时间戳。
  • 新增:BFT-SMaRT共识协议支持不停机进行动态成员准入准出,以及节点共识IP和端口变更。
  • 新增:新增网关动态感知共识节点管理地址的网络拓扑,支持网关从初始配置节点获取整个共识网络拓扑信息,可根据账本和区块高度信息自动切换节点连接。
  • 新增:调整utils/httpservices/binary-proto为独立子项目。

修复缺陷

  • 修复:交易operation反序列化后类型不匹配问题;
  • 修复:Base58Utils逻辑缺陷导致某些特殊数据内容解析异常;
  • 修复:合约方法包含bool参数,调用时解析异常;
  • 修复:一笔交易中同时包含有返回值和无返回值合约调用时,交易结果列表与返回值处理器不匹配;
  • 修复:查询API多处NullPointerException异常,查询不存在数据时由报错改为返回空值;
  • 修复:浏览器多处展示缺陷。

优化功能

  • 优化:默克尔树算法升级为二进制多叉排序树:
  • 优化:改进交易集合实现顺序结构;
  • 优化:BFT-SMaRt共识客户端ID分配策略,解决潜在的ID冲突时导致的异常;
  • 优化:优化BFT-SMaRT领导者选举协议,支持在任意节点重启、断网等原因造成的领导者执政期分化、多领导者情形下的重新选举问题:
  • 优化:优化RocksDB配置,提升基于RocksDB存储实现的JD Chain网络整体性能;
  • 优化:KVDB支持WAL保证数据可靠写入;
  • 优化:重写示例代码,提供可直接运行的基于内存的测试网络和用户/数据账户/事件/合约/查询相关的用例。

    最新示例代码参照:https://github.com/blockchain-jd-com/jdchain/tree/master/samples;

  • 优化:浏览器支持事件账户搜索;
  • 优化:合约开发 API 增加新接口支持访问当前交易上下文的已执行未提交数据;
  • 优化:优化 SDK 的 KV 写入接口,修正了对 0 长度字符串不合理处理,对所有空数据都统一标记为 NIL:
  • 优化:修正控制台 keygen 工具生成的密钥文件的内容格式,密钥文件中的公钥记录格式去掉了特殊前缀,保持与区块链浏览器显示的格式一致;
  • 优化:重构加解密框架,增强其可扩展性。

其他

  • 开源穿透式检索代码,并发布适配1.4.2版本的0.8.6版本。源码地址:https://github.com/blockchain-jd-com/jdchain-indexer