# 版本迭代-长安链·ChainMaker ChangeLog ## v2.3.2 ```sh 新增底链支持归档中心功能 新增Gas代扣功能 #(交易新增payer字段,扣除payer的gas) 新增Gas费用可配置功能 #(可通过bc.yml配置文件或发生交易修改) 新增EVM新指令支持 新增vm-engine GRPC消息大小可调整功能 #(从固定4M调整成可配置,包括链和合约SDKv2.3.4分支) 新增EVM国密验签功能 新增查询多签状态返回值截断功能 #(安装合约多签可不返回合约源码,减少查询结果大小) 新增TBFT一致性引擎广播时间间隔可配置功能 新增网络断开后重试机制调整,最多间隔10分钟,最长90days功能 新增升级合约的权限支持只有合约创建者可升级功能 #(可通过bc.yml配置文件或发生交易修改) 新增恶意交易黑名单功能 #(加入黑名单的交易,被查询时,某些字段将被屏蔽。可通过bc.yml配置文件或发生交易修改) 修复双花问题 # (多节点中重复交易检查失败) 修复EVM跨合约调用失败问题 #(跨合约调用时读写集没有传递,跨合约调用失败结果没有压栈的bug) 修复多链高并发情况下vm-native生并发问题 修复同步模块时间配置,时间单位错误问题 修复节点投票达到quorum进入到新的共识阶段,仍然广播本节点生成的投票 修复Raft换主后不发交易,再换回原来主节点后,有一定几率不出块的问题 修复PK和PWK下批量交易池对批次签名只验签不校验principal的问题 # (未识别同步节点) 修复提交block时并发修改导致存储marshal报错的问题 修复存储区块时断电并发写原子性的问题 修复断电/崩溃后,恢复最新状态时recover跨bf读的问题 修复高并发时订阅协程泄漏导致OOM问题 优化docker-go跨合约调用性能 #(取消跨合约调用时加载被调用合约) 优化读Wal超时控制,读区块超时控制 #(磁盘性能较差时) 优化Net模块在节点启动时同步速度 优化Net模块goroutine数量管理 优化快速同步交易校验速度 优化存储写时交易防重检查 ``` ## 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,任何组织的任何角色均可安装。可根据业务需求自行修改 ```