(2022-9-26)
请阅读Java SDK v3.x+文档:
TransactionProcessor
新增asyncExecuteCall
的异步读接口- 增加WASM的集成测试,补充UT,增加代码覆盖率
- 重构项目结构,不再分子模块
- 修复decodeABI时负数报错的问题
- 修复Client类
getBlockByHashAsync
接口不可用的问题
- 不兼容 FISCO BCOS 2.0+ 版本
- 兼容java-sdk v3.0+的历史版本
- 支持FISCO BCOS 3.0.1版本
Please read documentation of Java SDK v3.x.
- English User Handbook:Working in progress...
- Chinese User Handbook
TransactionProcessor
adds the asynchronous read interface ofasyncExecuteCall
- Increase the integration test of WASM, supplement UT, and increase code coverage
- Refactored project structure, no more sub-modules
- Fixed the problem of negative number error when decodeABI
- Fixed the problem that the
getBlockByHashAsync
interface of the Client class was unavailable
- Not compatible with FISCO BCOS version 2.0+
- Compatible with the historical version of java-sdk v3.0+
- Support FISCO BCOS 3.0.1 version
(2022-8-23)
请阅读Java SDK v3.x+文档:
- 新增
Curve25519VRF
的VRF功能接口 - 新增
TransactionProcessor
使用自定KeyPair发交易的接口,方便切换用户密钥 - 新增
disableSSL
配置选项,支持与节点无SSL通信
- 重构
sdk-codegen
模块,代码抽出作为单独项目:https://github.com/FISCO-BCOS/code-generator - 更新Logger等的Java依赖
sdk-codec
更新128定长的静态数组类型
- 修复Crypto KeyPair公钥带前缀的问题
- 修复向游离节点发送
getGroupPeers
请求导致空指针异常的问题 - 修复ABI字符串JSON反序列化异常的问题
- 不兼容 FISCO BCOS 2.0+ 版本
- 兼容java-sdk v3.0+的历史版本
- 支持FISCO BCOS 3.0.0版本
Please read documentation of Java SDK v3.x.
- English User Handbook:Working in progress...
- Chinese User Handbook
- Added VRF function interface of
Curve25519VRF
- Added
TransactionProcessor
to send transactions using a custom KeyPair interface, which is convenient for switching user keys - Added
disableSSL
configuration option to support communication with nodes without SSL
- Refactor the
sdk-codegen
module to extract the code as a separate project: https://github.com/FISCO-BCOS/code-generator - Update Java dependencies for Logger etc.
sdk-codec
update 128 fixed-length static array types
- Fixed the issue that Crypto KeyPair public key was prefixed
- Fixed the issue that sending
getGroupPeers
request to free node caused null pointer exception - Fixed ABI string JSON deserialization exception
- Not compatible with FISCO BCOS version 2.0+
- Compatible with the historical version of java-sdk v3.0+
- Support FISCO BCOS 3.0.0 version
(2022-7-1)
请阅读Java SDK v3.x+文档:
- 新增
TableCRUDService
,适配v3.0.0-rc4节点的CRUD Table的接口 AuthManger
- 新增共识节点变更提案、系统配置变更提案、升级计算逻辑提案等的接口
- 新增冻结、解冻合约功能接口
- 新增创建提案、修改合约ACL状态的异步接口
- 新增批量获取提案的接口
- 新增提案执行结果的事件监听接口
- 使用密码库
webank-blockchain-java-crypto
替代key-mini-toolkit
- 升级
bcos-sdk-jni
到3.0.0-rc4
- 修复合约编解码相关的bug
- 修复ReceiptParser获取预编译合约返回值时出现的编码问题
- 增加单测覆盖率,修复大部分不合理的代码
- 不兼容 FISCO BCOS 2.0+ 版本
- 兼容java-sdk v3.x的历史版本
- 支持3.0.0-rc4版本
Please read documentation of Java SDK v3.x.
- English User Handbook:Working in progress...
- Chinese User Handbook
- Added
TableCRUDService
to adapt the interface of CRUD Table of FISCO BCOS v3.0.0-rc4 AuthManger
- Add consensus node changes and system configuration changes to the governance contract system, upgrade calculation logic of governance contract, etc.
- Added contract freeze/unfreeze contract interface
- Added interface for creating proposals and modifying contract ACL status
- Added interface to get proposals in batches
- Added event listener interface for proposal execution result
- Use the cryptographic library
webank-blockchain-java-crypto
instead ofkey-mini-toolkit
- Upgrade
bcos-sdk-jni
to3.0.0-rc4
- Fix bugs related to contract encoding and decoding
- Fix the encoding bug of ReceiptParser for the getting return value of precompiled contracts
- Increase single test coverage and fix unreasonable codes
- Not compatible with FISCO BCOS version 2.0+
- Compatible with the historical version of java-sdk v3.x
- Support 3.0.0-rc4
(2022-03-31)
请阅读Java SDK v3.x+文档:
- 支持Solidity合约并行冲突字段解析
- 添加getABI接口
- 调用
bcos-c-sdk
的接口实现交易编解码功能 - 调用
bcos-c-sdk
的接口实现密码算法 - 升级
bcos-sdk-jni
到3.0.0-rc3
org.fisco.bcos.sdk
包路径修改为org.fisco.bcos.sdk.v3
- sdk-abi代码重构
- BFS link取代CNS
- 修复AMOP
getTopics
返回null导致的异常 - 修复#issue 510,解决windows环境无法找不到
libbcos-sdk-jni.dll
动态库的问题 - 修复ABI/Scale编解码相关的bug
- 不兼容 FISCO BCOS 2.0+ 版本
- 兼容java-sdk v3.x的历史版本
- 支持3.0.0-rc3版本和3.0.0-rc2版本的FISCO BCOS区块链
- 不支持3.0.0-rc1版本的FISCO BCOS区块链
Please read documentation of Java SDK v3.x.
- English User Handbook:Working in progress...
- Chinese User Handbook
- Support Solidity contract parallel conflict field analyze
- support getABI interface
- Call the interface of
bcos-c-sdk
to implement transaction encoding and decoding functions - Call the interface of
bcos-c-sdk
to implement the cryptographic algorithm - Upgrade
bcos-sdk-jni
to3.0.0-rc3
org.fisco.bcos.sdk
package path is modified toorg.fisco.bcos.sdk.v3
- sdk-abi code refactor
- use BFS link to replace CNS
- Fix exception caused by AMOP
getTopics
returning null - Fix #issue 510 to solve the problem that
libbcos-sdk-jni.dll
dynamic library cannot be found in windows environment - Fix bugs related to ABI/Scale codec
- Not compatible with FISCO BCOS version 2.0+
- Incompatible with the historical version of java-sdk v3.x
- Support 3.0.0-rc3 version and [3.0.0-rc2](https://github .com/FISCO-BCOS/FISCO-BCOS/releases/tag/v3.0.0-rc2) FISCO BCOS
- 3.0.0-rc1 FISCO BCOS blockchain is not supported
(2022-02-23)
请阅读Java SDK v3.x+文档:
- 升级
bcos-sdk-jni
到3.0.0-rc2
- 修改SDK的默认群组为
group0
- 交易由
Base64
编码修改为十六进制编码 - 对齐WBC-Liquid,修改
bytesN
类型数据的Scale编码
- 修复Scale编码 struct数组编码丢失泛型类型数据的问题
- 不兼容 FISCO BCOS 2.0+ 版本
- 兼容java-sdk v3.x的历史版本
- 支持3.0.0-rc2版本的FISCO BCOS区块链
- 不支持3.0.0-rc1版本的FISCO BCOS区块链
Please read documentation of Java SDK v3.x.
- English User Handbook:Working in progress...
- Chinese User Handbook
- Upgrade
bcos-sdk-jni
to3.0.0-rc2
- Modify the default group of the SDK to
group0
- Transaction modified from
Base64
encoding to hexadecimal encoding - Align with WBC-Liquid, modify the Scale encoding of
bytesN
- Fix the problem that Scale encoding struct array loses generic type data
- Not compatible with FISCO BCOS version 2.0+
- Compatible with historical versions of
java-sdk v3.x
- Support 3.0.0-rc2 version of FISCO BCOS blockchain
- 3.0.0-rc1 version of FISCO BCOS blockchain is not supported
(2021-12-10)
请阅读Java SDK文档:
Java SDK包含如下几个新特性:
- 完全支持 FISCO BCOS 3.0+,不兼容 FISCO BCOS 2.0+ 版本。FISCO BCOS 2.0+ 版本请使用对应版本的Java SDK。
- 支持Liquid合约使用,包含部署Liquid合约,发起Liquid合约交易。
- 支持Scale的编解码解析。
- 使用JNI封装后的FISCO BCOS C SDK接口与区块链交互。
- 提供合约编译功能,将Solidity合约文件转换成Java合约文件。
- 支持Liquid合约使用,包含部署Liquid合约,发起Liquid合约交易。
- 提供Java SDK API,提供访问FISCO BCOS JSON-RPC 的功能,并支持预编译(Precompiled)合约调用。
- 提供自定义构造和发送交易功能。
- 提供AMOP功能。
- 支持合约事件推送。
- 支持ABI和Scale的编解码解析。
- 提供账户和权限管理接口。
- 不兼容 FISCO BCOS 2.0+ 版本
- 支持3.0.0-rc1版本的FISCO BCOS区块链
Please read documentation of Java SDK.
- English User Handbook:Working in progress...
- Chinese User Handbook
Java SDK includes the following new features:
- Support FISCO BCOS 3.0+. No longer support for FISCO BCOS 2.0+, if you want to use Java SDK to connect FISCO BCOS 2.0+, please use Java SDK in 2.0+ versions.
- Support Liquid usage, including deploy contracts, sending transactions.
- Support Scale encoding and decoding data.
- Use JNI wrapper of FISCO BCOS C SDK interface, which connecting blockchain nodes.
- Solidity contract compiling.
- Liquid contract support, including deploy contracts, sending transactions.
- Interacting with FISCO BCOS JSON-RPC interface.
- Constructing and sending transactions.
- Advanced Messages Onchain Protocol(AMOP) functions.
- Contract event subscription.
- Encoding and decoding data with ABI and Scale.
- Account Management.
- Authority Management.
- Not compatible with FISCO BCOS version 2.0+.
- Support 3.0.0-rc1 version of FISCO BCOS blockchain.
(2021-07-27) Added:
- Add Hardware Secure Module(HSM), use hardware protect your private key, speed up crypto procedure.
- Support use PCI crypto card or crypto machine to make SM2 SM3 calculation.
- Support use HSM internal key to make TLS connection with FISCO BCOS nodes.
- Support use HSM internal key to sign transaction.
Update:
- Update crypto dependency version of sdk-crypto module.
- Support to read the certificate from the jar package.
- The interface that sent the transaction returns the transaction hash.
- Add VRF random number generation and random number verification interface.
添加:
- 新增硬件加密模块,使用硬件保护您的私钥,提升密码运算速度。
- 支持使用PCI加密卡/加密机进行SM2,SM3运算。
- 支持使用密码卡/密码机内部密钥与FISCO BCOS节点建立连接。
- 支持使用密码卡/密码机内部密钥进行交易签名。
更新:
- 更新sdk-crypto模块所使用的密码算法库版本。
- 支持从jar包中读取证书。
- 发送交易的接口返回交易哈希。
- 添加VRF随机数生成和随机数验证接口。
(2021-03-24) Please read documentation of Java SDK.
Added:
- Add an interface that supports remotely calling signature services to assemble and send transactions(AssembleTransactionWithRemoteSignProcessor, RemoteSignProviderInterface)
Fixed:
- Fix the problem that the ContractLoader of the java sdk is loaded incorrectly in some scenarios, which causes the deployment and call of the contract to fail #264
- Fix the problem of errors when loading certificates and private keys from the classpath path in the windows environment #260
- Fix the problem that the FromBlock of EventLogParams does not take effect #253
- Fix the problem that the Java SDK can only read the private key generated by openssl with the -key name parameter added #249
Compatibility
- FISCO BCOS v2.0+
- AMOP Not compatible with Web3SDK
请参考文档:
添加:
- 增加支持远程调用签名服务来组装并发送交易的接口(AssembleTransactionWithRemoteSignProcessor, RemoteSignProviderInterface)
修复:
- 修复某些场景下Java SDK的ContractLoader加载出错,导致部署和调用合约失败的问题 #264
- 修复windows环境下从classpath路径下加载证书和私钥出错的问题 #260
- 修复EventLogParams的FromBlock不生效的问题 #253
- 修复Java SDK只能读取openssl添加-key name参数的生成的私钥的问题 #249
适配性:
- 适配FISCO BCOS v2.0+
- AMOP功能不兼容Web3SDK
(2020-12-24) Please read documentation of Java SDK.
Added:
- Support JDK 15
- AMOP module supports hexadecimal public key and private key as parameters
- Support constructing
AssembleTransactionProcessor
through the contents ofbin
andabi
AssembleTransactionProcessor
supports the construction of signed transactions
Changed:
- Rename the jar package of Java SDK to
fisco-bcos-java-sdk
- Support loading certificates and account private keys from the
resources
path ABICodecJsonWrapper
supports the representation ofbytes
type parameters in Base64 and hexadecimal encoding, and distinguishes encoding types with prefixes ofbase64://
andhex://
Compatibility
- FISCO BCOS v2.0+
- AMOP Not compatible with Web3SDK
请参考文档:
添加:
- 支持JDK 15
- AMOP模块支持传入十六进制的公钥和私钥
- 支持通过
bin
和abi
的内容构造AssembleTransactionProcessor
AssembleTransactionProcessor
支持构造带有签名的交易
修改:
- Java SDK的jar包重命名为
fisco-bcos-java-sdk
- 支持从
resources
路径加载证书和账户私钥 ABICodecJsonWrapper
支持以Base64、十六进制编码形式表示bytes
类型参数,并以base64://
、hex://
前缀区分编码类型
适配性:
- 适配FISCO BCOS v2.0+
- AMOP功能不兼容Web3SDK
(2020-11-20) Please read documentation of Java SDK.
Added:
- Added
getBatchReceiptsByBlockNumberAndRange
andgetBatchReceiptsByBlockHashAndRange
interfaces to support batch pull block transaction receipts - Added the
getNodeInfo
interface to obtain subscribed topics information - Added
revokeManager
interface to revoke contract life cycle management authority ChainGovernanceService
addsqueryVotesOfMember
andqueryVotesOfThreshold
interfaces to support query voting status
Changed:
- Separate
sdk-demo
as ajava-sdk-demo
project
Fixed:
- Fix the exception of contract receipt parsing null pointer exception when deploying constructor with event
Compatibility
- FISCO BCOS v2.0+
- AMOP Not compatible with Web3SDK
请参考文档:
添加:
- 添加
getBatchReceiptsByBlockNumberAndRange
和getBatchReceiptsByBlockHashAndRange
接口,支持批量拉取区块交易回执 - 添加
getNodeInfo
接口,获取订阅的topics信息 - 添加
revokeManager
接口,撤销合约生命周期管理权限 ChainGovernanceService
添加queryVotesOfMember
和queryVotesOfThreshold
接口,支持查询投票情况
修改:
- 将
sdk-demo
独立为java-sdk-demo
项目
修复:
- 修复部署构造函数带有event的合约异常时,合约回执解析空指针异常
适配性:
- 适配FISCO BCOS v2.0+
- AMOP功能不兼容Web3SDK
(2020-10-29) Please read documentation of Java SDK.
Changed:
- Hidden the amop private topic suffix in the callback function.
- Added amop demo required resources.
- Upgraded two dependencies that netty-sm-ssl-context to version v1.2.0 and netty to version v4.1.53.Final.
- Improved the documentation of send transaction without bin file.
- Removed unused arguments(abi file) in the functions like encodeMethodByInterface of ABI module.
Fixed:
- Solved the problem of crypto module cannot call by multiple tasks.
- Solved invalid block limit problem, when console delete data and restart.
- Fixed an event decode bug that cannot decode multiple events of one transaction.
- Fixed the AMOP message data truncated bug.
Compatibility
- FISCO BCOS v2.0+
- AMOP Not compatible with Web3SDK
请参考文档:
修改:
- 隐藏AMOP私有话题的话题前缀。
- 添加AMOP Demo所需的资源文件。
- 升级两个依赖版本,netty-sm-ssl-context到v1.2.0,netty 到 v4.1.53.Final.
- 完善不使用bin文件构造交易的方法文档。
- 在ABI模块中的encodeMethodByInterface等方法中删除无用的参数(abi文件)。
修复:
- 解决加密模块无法被多进程访问的问题。
- 解决控制台删除数据后重启会出现block limit不合法异常的问题。
- 解决同一个交易中如果有多个Event,只能解析一个无法解析多个的问题。
- 解决AMOP消息数据被截断的问题。
适配性:
- 适配FISCO BCOS v2.0+。
- 不适配Web3SDK。意思是,如果两个用户想使用AMOP功能进行通信,他们必须要么同时使用Java SDK,要么同时使用Web3SDK。
(2020-09-30) Please read documentation of Java SDK.
Support functions are:
- Contract compiling.
- Interacting with FISCO BCOS JSON-RPC interface.
- constructing and sending transactions.
- Advanced Messages Onchain Protocol(AMOP) functions.
- Contract event subscription.
- Encoding and decoding data with ABI.
- Account Management.
This java sdk is a code refactoring version base on Web3SDK 2.6.1. It includes the following new features:
- Support Toml config file, simplify configuration options.
- Support connecting with nodes of different groups.
- Support AMOP subscription and unsubscription at any time instead of just before start service.
- ABI module add support of encode and decode of struct type data.
- Use the common crypto tools of WeBank.
- Add a new module called group management to help applications manage nodes which java SDK connecting with.
- Use modular design, each module can use independently. For example, you can create crypto.jar file if only crypto module is needed.
Compatibility
- FISCO BCOS v2.0+.
- Not compatible with Web3SDK. When two users want to use AMOP functions to talk with each other, they should either both use Java SDK, or both use Web3SDK.
请参考文档:
支持功能:
- 合约编译。
- FISCO BCOS JSON-RPC 调用。
- 构造和发送交易。
- AMOP功能。
- 合约事件订阅。
- ABI 数据编解码。
- 账户管理。
Java SDK是基于Web3SDK重构的,它包含的新特性有:
- 支持Toml文件配置,简化配置项。
- 支持同时连接不同群组的节点。
- 支持动态订阅和取消订阅AMOP话题。
- ABI模块支持对结构体的编解码。
- 使用WeBank的通用加密工具。
- 新增群组管理模块,帮助用户管理不同群组的节点,简化应用代码。
- 使用模块化设计,便于组装再造。用户可以根据需要下载和使用必要的模块。
适配性:
- 适配FISCO BCOS v2.0+。
- 不适配Web3SDK。意思是,如果两个用户想使用AMOP功能进行通信,他们必须要么同时使用Java SDK,要么同时使用Web3SDK。