全部产品
Search
文档中心

Java SDK 说明

更新时间: 2021-01-06

蚂蚁区块链合约平台 Java SDK 是通过服务(Service)的形式对外提供功能,具体包括账户服务(Account Service)、合约服务(Contract Service)、事件服务(Event Service)、查询服务(Query Service)和本地服务(Local Service)。SDK 提供以同步或异步方式发送交易、查询交易、订阅事件等的接口。无论以同步或异步的方式发送交易,SDK 封装了发送交易后查询收据的逻辑,以便您查看交易的执行结果。

Java SDK 的 Jar 包依赖 Netty,不同的运行系统需要选择不同的 Netty 依赖包配置到 Maven 文件中。

Java SDK 版本说明

版本号 更新功能 对应链版本 下载链接
0.10.2.12 - 支持 SDK 侧合约的 ABI 功能;提供发送交易查询 receipt 的全局开关;支持通过区块号查询交易收据。
- 增加可靠的消息监听机制,添加 WASM 合约的 addInt8 类似方法时,会对 value 进行范围校验;增加更新证书吊销列表接口,提供证书吊销热更新功能。
V2.19.1
V0.10.2.12.5
V0.10.2.9.3
V0.10.2.9.2
V0.10.2.9.1
V0.10.2.7.1
点击下载 SDK

Netty 依赖包说明

文件 说明 下载链接
netty-tcnative-openssl-static-2.0.17-Final-mychain-all.jar CentOS/Mac/Windows x64 操作系统下 SDK 所依赖的运行库,支持 k1 曲线/RSA。 点击下载 Netty 依赖包

运行环境说明

  • JDK 7 及以上版本在终端运行 java -version 查看当前 Java 版本。

  • Maven 3.5.4 及以上版本在终端运行 mvn -v 查看当前 Maven 版本。

  • 在 Linux 下使用 SDK,要求 GLIBC 版本高于 2.14。

在 Maven 文件中引入 SDK 包

  1. 安装下载的 Jar 包到本地仓库。
  2. 从命令终端进入到下载的文件根目录,执行以下命令:
  1. //安装 SDK 到本地仓库
  2. mvn install:install-file -Dfile=mychainx-sdk-0.10.2.12.jar -DgroupId=com.alipay.mychainx -DartifactId=mychainx-sdk -Dversion=0.10.2.12 -Dpackaging=jar
  3. //如需使用 K1,则需安装 Netty 依赖到本地仓库,注意请选择对应平台 netty-tcnative-openssl-static 版本,并修改相应的 classifier,macOS:osx-x86_64,Linux:linux-x86_64,Windows:windows-x86_64
  4. mvn install:install-file -Dfile=netty-tcnative-openssl-static-2.0.17-Final-mychain-all.jar -DgroupId=io.netty -DartifactId=netty-tcnative-openssl-static -Dversion=2.0.17-Final-mychain-all -Dpackaging=jar

注意:Netty 的版本必须为下面的版本。

  1. <dependencies>
  2. <dependency>
  3. <groupId>com.alipay.mychainx</groupId>
  4. <artifactId>mychainx-sdk</artifactId>
  5. <!--请使用最新 SDK 版本 -->
  6. <version>0.10.2.12</version>
  7. </dependency>
  8. <dependency>
  9. <groupId>org.bouncycastle</groupId>
  10. <artifactId>bcpkix-jdk15on</artifactId>
  11. <version>1.60</version>
  12. </dependency>
  13. <dependency>
  14. <groupId>io.netty</groupId>
  15. <artifactId>netty-all</artifactId>
  16. <version>4.1.29.Final</version>
  17. </dependency>
  18. <dependency>
  19. <groupId>io.netty</groupId>
  20. <artifactId>netty-tcnative-boringssl-static</artifactId>
  21. <version>2.0.17.Final</version>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.slf4j</groupId>
  25. <artifactId>slf4j-api</artifactId>
  26. <version>1.7.25</version>
  27. </dependency>
  28. <dependency>
  29. <groupId>commons-io</groupId>
  30. <artifactId>commons-io</artifactId>
  31. <version>2.6</version>
  32. </dependency>
  33. <dependency>
  34. <groupId>com.alibaba</groupId>
  35. <artifactId>fastjson</artifactId>
  36. <version>1.2.60</version>
  37. </dependency>
  38. <dependency>
  39. <groupId>com.google.guava</groupId>
  40. <artifactId>guava</artifactId>
  41. <version>20.0</version>
  42. </dependency>
  43. <dependency>
  44. <groupId>org.apache.commons</groupId>
  45. <artifactId>commons-collections4</artifactId>
  46. <version>4.2</version>
  47. </dependency>
  48. <dependency>
  49. <groupId>org.apache.commons</groupId>
  50. <artifactId>commons-lang3</artifactId>
  51. <version>3.5</version>
  52. </dependency>
  53. </dependencies>