2. 版本迭代说明

2.1. 版本及特性

以下为各个版本及其发布的主要内容: 其中v1.2.xv2.x均为LTS(Long Term Support,长期支持)版本。

2.1.1. v2.x版本及特性

版本 时间点 主要内容
v2.2.1_private_contract(当前文档) 2022.06.07 1.支持基于Graphene-Libos框架以wasm为合约引擎的隐私计算(Rust合约);
2.其他功能基于v2.2.1版本。
v2.2.1 2022.05.16 1. 支持docker-go虚拟机引擎独立部署,适配容器(docker、k8s)启动节点场景;
2. 优化txId防重校验,提供布谷鸟过滤器和bigfilter两种防重组件,大幅提升大数据下的校验效率;
3. 优化tbft共识算法round机制,提升无交易时节点round同步效率;
4. 其他已知问题修复。
v2.2.0 2022.03.15 1. 支持文件存储区块数据模式,减小数据库负荷,提升查询效率
2. docker go虚拟机多进程重构,提升合约执行效率
3. 公钥模式支持TBFT共识算法
4. 底层国密算法支持tjfoc、gmssl、tencentsm可切换
5. 支持证书别名方式发送交易,进一步压缩交易体积
6. 同步模块支持快速同步模式,同步节点可无需再次执行交易
7. 推出流水线共识算法MaxBFT alpha版
v2.1.0 2021.12.22 1. 发布自研P2P网络Liquid
2. 发布新的合约引擎docker-go,支持golang语言
3. 支持更丰富的身份权限控制机制:permissionedWithCert, permissionedWithKey(新), public(新)
4. 支持java sdk国密通信,grpc支持国密tls通信
5. 支持数据落盘透明加密
6. 支持badger数据库
7. 支持节点、go sdk等硬件密码机&KMS
8. 支持更丰富的RPC Server限流功能
9. 支持2.x版本的跨链
10. 新增系统合约启用开关
11. 新增合约管理线上多签
12. 虚拟机、数据存储、交易池等模块从主项目拆出作为独立项目
13. 共识等模块代码优化调整
v2.0.0 2021.08.30 1. 区块、交易等数据结构重构
2. 系统合约、身份权限等模块代码重构
3. 拆分部分模块为独立项目,并启用go mod代替原有的git submodule
4. 增加外部证书兼容 (见身份权限管理/外部证书兼容章节)

2.1.2. v1.x版本及特性

版本 时间点 主要内容
v1.2.6 2021.12.09 优化以下问题:
1. 新增BadgerDB(状态数据库为badgerdb时,暂不支持合约内迭代器功能)
2. 优化对rsa证书的兼容性
3. 优化tbft共识活性问题
4. 优化raft共识存储wal
5. 优化网络模块启动顺序
6. tjfoc国密版本库升级至1.4.1
7. go sdk、java sdk支持按照高度订阅历史合约事件
8. go sdk增加证书管理交易接口
9. java sdk支持国密tls
v1.2.5 2021.09.23 优化以下问题:
1. wasmer内存回收
2. kv迭代器执行调度逻辑
3. 完善证书冻结/解冻功能
4. tbft异常处理机制
5. raft wal存储
6. go sdk对arm兼容性
7. 基础模块开放sm2的加解密接口
v1.2.4 2021.08.13 优化以下问题:
1. RAFT:单组织多节点配置时处理异常
2. WAL:存储和共识模块使用的WAL在断电损坏下的初始化加载异常
3. 合约引擎:wasmer内存管理异常修复、gasm虚拟机在某些场景下的内存越界问题
4. 合约事件:优化事件表索引
5. rocksdb:增加迭代器兼容
6. java-sdk:增加windows编译支持
v1.2.3 2021.07.16 优化以下问题:
1. 权限校验:证书管理类系统合约的权限校验调整
2. 同态加密:更换底层依赖库,优化对不同长度私钥的兼容性
3. 零知识证明:解决在某些较低的系统版本上编译时,需指定依赖库路径问题
4. DAG:高并发下合约业务逻辑依赖其他交易写集而主动返回失败时,记录读集
5. 隐私合约:增加并发限制配置,提升并发压力过大时系统的稳定性
6. SPV节点:增加对系统合约和管理用户合约类型交易的有效性验证
7. 升级:v1.1.0版本升级到v1.2.3适配
8. 升级:java sdk支持通过配置文件创建chainClient
9. 升级:nodejs sdk支持通过配置文件创建chainClient
10. 命令行工具:dpos增加cmc命令行工具
v1.2.0 2021.06.30 1. 支持spv轻节点
2. 支持跨链
3. 合约支持基于paillier的半同态运算
4. 合约支持基于bulletproofs的范围证明
5. 合约支持kv前缀查询
6. 支持历史数据归档、恢复、查询功能
7. 新增nodejs语言的SDK
8. 共识算法支持dPoS
9.支持隐私计算
v1.1.1 2021.05.21 1. 合约引擎(GASM&WASMER)支持SQL操作状态数据;
2. 新增区块链浏览器;
3. 网络模块修复动态创建新链时数据同步问题。
v1.1.0 2021.05.12 1. 支持EVM合约引擎,兼容以太坊合约生态;
2. 支持各类合约引擎的事件订阅机制和查询机制,增加智能合约易用性;
3. 支持Maxbft流水线共识,当前支持在多链、存证交易场景下提供更高效的共识能力;
4. 支持层级身份加密方案,满足联盟链数据层级可见性需求;
5. 优化网络模块配置,增加本地配置种子节点和信任根,共识节点IP变更无需链上配置更新;
6. 优化新旧版本兼容问题。
v1.0.0 2021.01.27 1. 可装配、高性能整体框架;
2. 支持GASM、WASMER、WXVM等三种合约引擎,golang、rust、c++等三种合约语言;
3. 支持SOLO、RAFT、TBFT等三种共识算法;
4. 支持基于冲突检测的块内智能合约交易并行执行;
5. 支持LevelDB、RocksDB、MySQL等存储引擎;
6. 存储模块支持内存加速,支持故障恢复;

2.2. Docker 镜像地址

长安链·ChainMaker Docker Hub主页:

https://hub.docker.com/r/chainmakerofficial/chainmaker

ChainMaker镜像列表:

版本 镜像地址
v2.2.0 docker pull chainmakerofficial/chainmaker:v2.2.0_alpha
v2.1.0 docker pull chainmakerofficial/chainmaker:v2.1.0
v2.0.0 docker pull chainmakerofficial/chainmaker:v2.0.0
v1.2.6 docker pull chainmakerofficial/chainmaker:v1.2.6
v1.2.5 docker pull chainmakerofficial/chainmaker:v1.2.5
v1.2.4 docker pull chainmakerofficial/chainmaker:v1.2.4
v1.2.3 docker pull chainmakerofficial/chainmaker:v1.2.3
v1.2.0 docker pull chainmakerofficial/chainmaker:v1.2.0
v1.1.1 docker pull chainmakerofficial/chainmaker:v1.1.1
v1.1.0 docker pull chainmakerofficial/chainmaker:v1.1.0
v1.0.0 docker pull chainmakerofficial/chainmaker:v1.0.0_r

2.3. 版本兼容一览

项目 \ 链版本 描述 v2.2.1 v2.2.0 v2.1.0 v2.0.0 v1.2.6 v1.2.5 v1.2.4 v1.2.3 v1.2.0 v1.1.1 v1.1.0 v1.0.0
contract-sdk-rust rust合约sdk v2.1.0, v2.0.0 v2.1.0, v2.0.0 v2.1.0, v2.0.0 v2.0.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.1.1 v1.1.0 v1.0.0
contract-sdk-cpp cpp合约sdk v2.1.0, v2.0.0 v2.1.0, v2.0.0 v2.1.0, v2.0.0 v2.0.0 v1.2.5 v1.2.5 v1.2.4 v1.2.3 \ \ \ \
contract-sdk-tinygo tinygo合约sdk v2.1.0, v2.0.0 v2.1.0, v2.0.0 v2.1.0, v2.0.0 v2.0.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.0.0 v1.0.0 v1.0.0
contract-sdk-solidity solidity合约sdk \ \ \ \ \ \ \ \ \ \ \ \
contract-sdk-docker-go docker-go合约sdk 2.2.0, 2.1.0, 2.0.0 2.2.0, 2.1.0, 2.0.0 2.1.0, 2.0.0 2.0.0 \ \ \ \ \ \ \ \
vm-docker-go docker-go虚拟机引擎 v2.2.1 v2.2.0.1 v2.1.0 \ \ \ \ \ \ \ \ \
sdk-java java sdk v2.1.0, v2.2.0 v2.1.0, v2.2.0 v2.1.0, v2.2.0 v2.0.0 v1.2.0, v1.2.3, v1.2.4, v1.2.6 v1.2.0, v1.2.3, v1.2.4 v1.2.0, v1.2.3, v1.2.4 v1.2.0, v1.2.3, v1.2.0 v1.1.0 v1.1.0 v1.0.0
sdk-go go sdk v2.2.1,v2.2.0, v2.1.0,v2.0.0 v2.2.0, v2.1.0,v2.0.0 v2.1.0,v2.0.0 v2.0.0 v1.2.4, v1.2.5,v1.2.6 v1.2.4, v1.2.5 v1.2.4 v1.2.0, v1.2.3 v1.2.0 v1.1.1 v1.1.0 v1.0.0
chainmaker-explorer 长安链浏览器后端 v2.1.0, v2.0.0 v2.1.0, v2.0.0 v2.1.0, v2.0.0 v2.0.0 v1.1.1 v1.1.1 v1.1.1 v1.1.1 v1.1.1 v1.1.1 v1.1.1 \
chainmaker-explorer-web 长安链浏览器前端 v2.1.0 v2.1.0 v2.1.0 v2.1.0 v1.1.1 v1.1.1 v1.1.1 v1.1.1 v1.1.1 v1.1.1 v1.1.1 \
chainmaker-cryptogen 证书工具 v2.2.0,v2.1.1,v2.1.0,v2.0.0 v2.2.0,v2.1.1,v2.1.0,v2.0.0 v2.1.1,v2.1.0,v2.0.0 v2.0.0 v1.2.6 v1.2.6 v1.2.6 v1.2.0 v1.2.0 v1.0.0 v1.0.0 v1.0.0
chainmaker-tee 隐私计算 \ \ \ v2.0.0 v1.2.6 v1.2.5 v1.2.4 v1.2.0 \ \ \ \
chainmaker-ca CA服务 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 v1.2.0 \
chainmaker-cross 跨链 \ \ v2.1.0 v2.1.0 \ \ v1.2.4 \ v1.2.0 \ \ \
management-web 管理台前端 \ v2.2.0 v2.1.0 v2.0.0 v1.2.4 v1.2.4 v1.2.4 \ \ \ \ \
management-backend 管理台后端 \ v2.2.0 v2.1.0 v2.0.0 v1.2.6 v1.2.5 v1.2.4 \ \ \ \ \
chainmaker-spv 轻节点 \ \ v2.1.0 v2.1.0 \ \ \ v1.2.3 v1.2.0 \ \ \
chainmaker-smartplugin web插件 v1.0.0 v1.0.0 v1.0.0 v1.0.0 \ \ \ \ \ \ \ \
chainmaker-oracle 长安链预言机 v2.2.1 \ \ \ \ \ \ \ \ \ \ \

2.4. 版本项目映射关系表

v2.x: v2.2.0v2.1.0v2.0.0

v1.x: v1.2.6v1.2.5v1.2.4v1.2.3v1.2.0v1.1.0v1.0.0

v2.2.0 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v2.2.0 主项目 -
sdk-go v2.2.0 sdk
sdk-java v2.2.0 sdk
sdk-nodejs v2.0.0 sdk -
chainmaker-explorer v2.1.0 区块链浏览器后端 -
chainmaker-explorer-web v2.1.0 区块链浏览器前端 -
chainmaker-cryptogen v2.2.0 证书工具
chainmaker-tee v2.0.0 隐私计算 -
chainmaker-ca v1.2.0 证书CA服务 -
docker: chainmaker-docker-go-contract v2.2.0 合约golang
docker: chainmaker-rust-contract v2.1.0 合约rust -
docker: chainmaker-go-contract v2.2.0 合约tinygo -
docker: chainmaker-cpp-contract v2.1.0 合约cpp -
docker: chainmaker-solidity-contract v2.0.0 合约solidity -
chainmaker-cross v2.0.0 长安链跨链组件 -

v2.1.0 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v2.1.0 主项目 -
sdk-go v2.1.0 sdk
sdk-java v2.1.0 sdk
sdk-nodejs v2.0.0 sdk -
chainmaker-explorer v2.1.0 区块链浏览器后端
chainmaker-explorer-web v2.1.0 区块链浏览器前端 -
chainmaker-cryptogen v2.1.0 证书工具
chainmaker-tee v2.0.0 隐私计算 -
chainmaker-ca v1.2.0 证书CA服务 -
docker: chainmaker-docker-go-contract v2.2.0 合约golang
docker: chainmaker-rust-contract v2.1.0 合约rust
docker: chainmaker-go-contract v2.1.0 合约tinygo
docker: chainmaker-cpp-contract v2.1.0 合约cpp
docker: chainmaker-solidity-contract v2.0.0 合约solidity -
management-web v2.1.0 长安链管理平台前端项目 -
management-backend v2.1.0 长安链管理平台后端项目
chainmaker-cross v2.0.0 长安链跨链组件

v2.0.0 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v2.0.0 主项目 -
sdk-go v2.0.0 sdk
sdk-nodejs v2.0.0 sdk
chainmaker-explorer v2.0.0 区块链浏览器
chainmaker-explorer-web v1.1.1 区块链浏览器前端 -
chainmaker-cryptogen v2.0.0 证书工具
chainmaker-tee v2.0.0 隐私计算
chainmaker-ca v1.2.0 证书CA服务 -
docker: chainmaker-rust-contract v2.0.0 合约rust
docker: chainmaker-go-contract v2.0.0 合约tinygo
docker: chainmaker-cpp-contract v2.0.0 合约cpp
docker: chainmaker-solidity-contract v2.0.0 合约solidity
management-web v2.0.0 长安链管理平台前端项目 -
management-backend v2.0.0 长安链管理平台后端项目 -

V 1.2.6 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v1.2.6 主项目 -
chainmaker-sdk-go v1.2.6 sdk
chainmaker-sdk-java v1.2.6 sdk
chainmaker-sdk-nodejs v1.2.3 sdk -
chainmaker-cryptogen v1.2.6 证书工具
docker: chainmaker-rust-contract v1.2.0 合约rust -
docker: chainmaker-go-contract v1.2.0 合约tinygo -
docker: chainmaker-cpp-contract v1.2.5 合约cpp -
docker: chainmaker-solidity-contract v1.2.0 合约solidity -
chainmaker-ca v1.2.0 证书CA服务 -
chainmaker-spv v1.2.3 轻节点 -
chainmaker-cross v1.2.4 跨链服务 -
chainmaker-tee v1.2.3 隐私计算 -
chainmaker-explorer v1.1.1 区块链浏览器 -
chainmaker-explorer-web v1.1.1 区块链浏览器 -
management-web v1.2.4 长安链管理平台前端项目 -
management-backend v1.2.4 长安链管理平台后端项目 -

V 1.2.5 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v1.2.5 主项目 -
chainmaker-sdk-go v1.2.5 sdk
chainmaker-sdk-java v1.2.4 sdk -
chainmaker-sdk-nodejs v1.2.3 sdk -
chainmaker-cryptogen v1.2.0 证书工具 -
docker: chainmaker-rust-contract v1.2.0 合约rust -
docker: chainmaker-go-contract v1.2.0 合约tinygo -
docker: chainmaker-cpp-contract v1.2.5 合约cpp
docker: chainmaker-solidity-contract v1.2.0 合约solidity -
chainmaker-ca v1.2.0 证书CA服务 -
chainmaker-spv v1.2.3 轻节点 -
chainmaker-cross v1.2.4 跨链服务 -
chainmaker-tee v1.2.3 隐私计算 -
chainmaker-explorer v1.1.1 区块链浏览器 -
chainmaker-explorer-web v1.1.1 区块链浏览器 -
management-web v1.2.4 长安链管理平台前端项目 -
management-backend v1.2.4 长安链管理平台后端项目 -

V 1.2.4 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v1.2.4 主项目 -
chainmaker-sdk-go v1.2.4 sdk
chainmaker-sdk-java v1.2.4 sdk
chainmaker-sdk-nodejs v1.2.3 sdk -
chainmaker-cryptogen v1.2.0 证书工具 -
docker: chainmaker-rust-contract v1.2.0 合约rust -
docker: chainmaker-go-contract v1.2.0 合约tinygo -
docker: chainmaker-cpp-contract v1.2.0 合约cpp -
docker: chainmaker-solidity-contract v1.2.0 合约solidity -
chainmaker-ca v1.2.0 证书CA服务 -
chainmaker-spv v1.2.3 轻节点 -
chainmaker-cross v1.2.4 跨链服务
chainmaker-tee v1.2.3 隐私计算 -
chainmaker-explorer v1.1.1 区块链浏览器 -
chainmaker-explorer-web v1.1.1 区块链浏览器 -

V 1.2.3 项目映射表

项目名称 版本号 说明
chainmaker-go v1.2.3 主项目
chainmaker-sdk-go v1.2.3
chainmaker-sdk-java v1.2.3
chainmaker-sdk-nodejs v1.2.3
chainmaker-cryptogen v1.2.0 -
docker: chainmaker-rust-contract v1.2.0 -
docker: chainmaker-go-contract v1.2.0 -
docker: chainmaker-cpp-contract v1.2.0 -
docker: chainmaker-solidity-contract v1.2.0 -
chainmaker-ca v1.2.0 -
chainmaker-spv v1.2.3
chainmaker-cross v1.2.0 -
chainmaker-tee v1.2.3
chainmaker-explorer v1.1.1 -
chainmaker-explorer-web v1.1.1 -

V 1.2.0 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v1.2.0 主项目 -
chainmaker-sdk-go v1.2.0 sdk
chainmaker-sdk-java v1.2.0 sdk
chainmaker-cryptogen v1.2.0 证书工具
docker: chainmaker-rust-contract v1.2.0 合约rust
docker: chainmaker-go-contract v1.2.0 合约tinygo
docker: chainmaker-cpp-contract v1.2.0 合约cpp
docker: chainmaker-solidity-contract v1.2.0 合约solidity
chainmaker-ca v1.2.0 证书CA服务
chainmaker-spv v1.2.0 轻节点
chainmaker-cross v1.2.0 跨链服务
chainmaker-tee v1.2.0 隐私计算
chainmaker-explorer v1.1.1 区块链浏览器 -
chainmaker-explorer-web v1.1.1 区块链浏览器 -

V 1.1.1 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v1.1.1 主项目 -
chainmaker-sdk-go v1.1.1 sdk
chainmaker-sdk-java v1.1.1 sdk
chainmaker-cryptogen v1.1.0 证书工具 -
docker: chainmaker-rust-contract v1.1.1 合约rust
docker: chainmaker-go-contract v1.1.1 合约tinygo
docker: chainmaker-cpp-contract v1.1.1 合约cpp
docker: chainmaker-solidity-contract v1.1.1 合约solidity
chainmaker-explorer v1.1.1 区块链浏览器
chainmaker-explorer-web v1.1.1 区块链浏览器

V 1.1.0 项目映射表

项目名称 版本号 说明
chainmaker-go v1.1.0 主项目 -
chainmaker-sdk-go v1.1.0 sdk
chainmaker-sdk-java v1.1.0 sdk
chainmaker-cryptogen v1.1.0 证书工具
docker: chainmaker-rust-contract v1.1.0 合约rust
docker: chainmaker-go-contract v1.1.0 合约tinygo
docker: chainmaker-cpp-contract v1.1.0 合约cpp
docker: chainmaker-solidity-contract v1.1.0 合约solidity

V 1.0.0 项目映射表

项目名称 版本号 说明 描述
chainmaker-go v1.0.0 主项目
chainmaker-sdk-go v1.0.0 sdk
chainmaker-sdk-java v1.0.0 sdk
chainmaker-cryptogen v1.0.0 证书工具