版本迭代-长安链·ChainMaker ChangeLog

v2.3.1

新增TBFT共识并行签名加速功能
新增共识模块启动条件增加区块高度校验功能
新增共识选举跳过落后节点功能
新增多签成功后可手动触发功能
新增已冻结合约可以升级功能
修复合约接口返回值错误:其他虚拟机跨合约调用docker合约时,sender接口未能正常返回发起调用的合约地址
修复快速同步节点query go合约,出现bad contract问题
修复vm-engine在合约安装过多lru错误问题
修复vm-engine手动重启问题
修复通过多签进行合约安装,未扣gas费的问题
修复安装合约失败不可再次安装问题
修复系统合约中含有随机性问题
修复PK模式下相关权限问题
修复go19版本兼容问题
修复高并发时pb反序列化问题
修复TBFT节点退出时未Unregister导致msgbus消息堆积问题
修复TBFT对某节点反复添加、移除共识节点导致共识列表查不到该节点信息问题
优化增量DB响应速度
优化批量交易池过期时间检查
优化高性能模式下网络连接
优化网络发送效率
优化添加某些模块的慢日志功能
优化日志输出级别及数量
完善EVM预编译合约

v2.3.0

新增流水线共识算法:MaxBFT正式版
新增SDF接口硬件加密机支持
新增liquid中继功能
新增liquid NAT穿透(NAT traversal)功能
新增SDK-Go提供Gas预估功能
新增交易池模式:normal、batch
新增交易池新特性(Dump、Recover、Query、Retry机制、Clean机制)
新增native合约添加地址功能,可通过地址可查询系统合约
新增合约批量getState接口
新增同步模块提供主动关闭/重启请求服务的功能
新增查询接口:查询当前权限列表
新增整个区块在一笔交易中统一扣费
新增各模块日志可独立配置
新增国密TLS双证书体系
新增跨不同语言的合约调用
新增docker go合约SDK支持StoreMap
新增创建合约时除使用name进行存储合约外,同时生成合约地址并按地址存储
新增各合约语言的示例合约
新增CMC工具执行结果可选择显示为utf-8格式字符串(默认是base64编码字符串)
重构TBFT,独立TBFT共识仓库,优化TBFT消息机制
重构docker-go虚拟机引擎
重构内部模块回调机制
重构项目结构调整,所有个人Fork的第三方包迁移到工蜂上
优化同步模块性能,默认快速同步并且不需要进行交易查重
优化共识verify阶段增加多交易时间戳的超时校验
优化默认地址格式兼容以太坊
优化solidity合约revert时可携带合约预定义的错误message
优化取消solidtiy合约的method检查
优化TBFT可去除含随机函数合约交易
优化SDK和cmc查询区块和交易时支持截断长度太长的Value
优化docker-vm-go初始化函数扣费计算改为固定值
优化docker go合约内日志输出接口增加级别功能
优化docker go容器支持重启
优化vm-engine合约虚拟机引擎性能
优化跨合约调用进程复用
优化sdk-go、sdk-java同步获取交易结果方式,从轮询改为订阅
优化存储模块增加Slow Log
优化getstate时间的统计
优化flower节点验证DAG一致性逻辑
修复交易失败不扣除gas费问题
修复ac模块自定义权限删除不生效问题
修复wasmer不支持windows问题
修复跨合约调用循环调用时,导致阻塞的问题
修复创建合约报合约名非十六进制字符串问题
修复TBFT重启,导致共识状态不对,共识卡住的问题
修复TBFT删除节点可能导致panic的问题
修复查询不到带读写集区块的问题
修复windows启用文件系统存储失败问题
修复部署合约与跨合约调用的事件丢失问题
修复CA模式下gas充值问题
修复rust合约重复升级一个合约1000次以上,会有一定概率出现panic异常的问题
修复tbft在round为1时,若重启节点可能会导致卡住,无法出块
调整3种模式,默认配置文件中安装合约改为any,任何组织的任何角色均可安装。可根据业务需求自行修改