v2.5.0¶
标签:v2.5.0
版本特性
v2.4.x升级到v2.5.0
变更描述¶
新增
新增预编译合约,地址0x5,实现模指数运算
新增预编译合约,地址0x6,实现椭圆曲线alt_bn128的加法
新增预编译合约,地址0x7,实现椭圆曲线alt_bn128的乘法
新增预编译合约,地址0x8,实现椭圆曲线配对操作用于zkSNARK验证
新增预编译合约,地址0x9,实现blake2哈希函数
更改
MySQL存储模式下,合约表的字段类型修改为mediumblob
默认开启Paillier同态加密和群签名功能
build_chain脚本使用私钥为secp256k1的根证书和机构证书
PBFTBackup的存储由LevelDB修改为RocksDB
重构libdevcrypto模块,优化代码结构,使用TASSL实现国密和非国密TLS连接
优化存储模块openTable的锁实现
优化区块数据编码为并行
优化大对象析构耗时为异步
优化日志输出机制,降低日志输出对性能的影响
优化MHD和交易池模块的线程数,减少内存占用
优化MySQL存储适配器实现,优化ZdbStorage的代码实现
修复
修复同一个区块内修改Entry,后续交易查询该Entry结果出错的问题
修复raft共识下,非leader节点交易池中的交易不能被打包的问题
修复CachedStorage的一个死锁问题
修复开启Binlog情况下,极端情况下,从Binlog恢复出错的问题
修复特定情况下节点重启后Viewchange被拒,无法快速恢复视图的问题
兼容性
向前兼容,旧版本可以直接替换程序升级
推荐版本 | 最低版本 | 说明 | |
---|---|---|---|
控制台 | 1.0.10 | 1.0.4 | |
SDK | 2.5.0 | 2.0.4 | |
generator | 1.5.0 | 1.1.0 | 搭建新链需要使用该版本 |
浏览器 | 2.0.2 | 2.0.0-rc2 | |
Solidity | 最高支持 solidity 0.5.2 | 0.4.11 |
兼容模式回滚至v2.4.x方法
当节点采用兼容模式从v2.4.x升级至v2.5.0后,可直接通过将节点二进制替换回v2.4.x完成回滚。