33cn / chain33-sdk-java

chain33 java sdk
BSD 2-Clause "Simplified" License
22 stars 20 forks source link

chain33-sdk-java

Chain33的Java SDK提供交易构造、交易签名、数据加密、发送交易、查询交易、区块链查询等能力,以便于应用层更容易的接入区块链。

支持离线生成助记词,私钥,公钥,地址。
支持查询区块链信息,如区块高度、交易、节点信息、同步状态。
支持部署EVM和WASM合智能合约,并调用。
支持JSON-RPC和gRPC调用。
兼容国密标准SM2、SM3和SM4。
支持原生存证、积分发行和转账等能力。
支持EVM合约部署,调用能力 支持web3j abi库与chain33的适配工作

使用

1.下载最新的JAVA-SDK版本
下载地址:https://github.com/33cn/chain33-sdk-java/releases/download/1.0.18/chain33-sdk-java-1.0.18.zip

2.将SDK压缩包中的JAR包安装到本地仓库。 在JAR包所在目录,执行以下命令:

mvn install:install-file -Dfile=chain33-sdk-java.jar -DgroupId=cn.chain33 -DartifactId=chain33-sdk-java -Dversion=1.0.18 -Dpackaging=jar

执行结果中打印BUILD SUCCESS,表明添加成功。 如果time out导致构建失败,可以再次执行以上命令,直至构建成功。

3.通过pom.xml导入依赖的jar包 如果导入依赖缓慢,或出现Connection timed out的报错信息,则可能是因为默认中央仓库下载超时,可以切换成阿里云镜像重试。

<!—阿里云镜像 -->
  <mirror> 
    <id>alimaven</id> 
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
    <mirrorOf>central</mirrorOf>         
</mirror>

4.准备好环境,使用RpcClient调用接口

// JSONRPC调用方式:初始化,设置Ip端口
RpcClient client = new RpcClient("x.x.x.x",8801);
调用接口
client.接口();
// GRPC调用方式
GrpcClient client = new GrpcClient(host);
调用接口
client.run(o->o.method(builder));

功能介绍

包名 功能 测试用例
CoinsUtil coins主币积分交易构造 CoinsTest
EvmUtil evm相关交易构造 EvmTest
AddressUtil 地址相关操作工具
TransactionUtil 交易相关操作工具
http http日志订阅服务 httpTest
Transaction 交易包装类,交易签名重构等一系列方法
Transactions 交易组的包装类,交易组签名重构等一系列方法
abi 兼容chain33系统的abi库

接口列表

下面罗列的是java sdk提供的接口,具体调用可以参考测试代码里的例子