sdk

Hedera™ Hashgraph SDK for Java

License

License

GroupId

GroupId

com.hedera.hashgraph
ArtifactId

ArtifactId

sdk-corda
Last Version

Last Version

2.0.0-beta.1
Release Date

Release Date

Type

Type

jar
Description

Description

sdk
Hedera™ Hashgraph SDK for Java
Project URL

Project URL

https://github.com/hashgraph/hedera-sdk-java
Project Organization

Project Organization

Hedera Hashgraph
Source Code Management

Source Code Management

https://github.com/hashgraph/hedera-sdk-java

Download sdk-corda

How to add to project

<!-- https://jarcasting.com/artifacts/com.hedera.hashgraph/sdk-corda/ -->
<dependency>
    <groupId>com.hedera.hashgraph</groupId>
    <artifactId>sdk-corda</artifactId>
    <version>2.0.0-beta.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.hedera.hashgraph/sdk-corda/
implementation 'com.hedera.hashgraph:sdk-corda:2.0.0-beta.1'
// https://jarcasting.com/artifacts/com.hedera.hashgraph/sdk-corda/
implementation ("com.hedera.hashgraph:sdk-corda:2.0.0-beta.1")
'com.hedera.hashgraph:sdk-corda:jar:2.0.0-beta.1'
<dependency org="com.hedera.hashgraph" name="sdk-corda" rev="2.0.0-beta.1">
  <artifact name="sdk-corda" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.hedera.hashgraph', module='sdk-corda', version='2.0.0-beta.1')
)
libraryDependencies += "com.hedera.hashgraph" % "sdk-corda" % "2.0.0-beta.1"
[com.hedera.hashgraph/sdk-corda "2.0.0-beta.1"]

Dependencies

compile (4)

Group / Artifact Type Version
com.google.protobuf : protobuf-javalite jar 3.11.4
net.sourceforge.streamsupport : streamsupport jar 1.7.2
net.sourceforge.streamsupport : streamsupport-cfuture jar 1.7.2
org.threeten : threetenbp jar 1.4.3

runtime (7)

Group / Artifact Type Version
jakarta.annotation : jakarta.annotation-api jar 2.0.0-RC1
org.bouncycastle : bcprov-jdk15on jar 1.60
org.slf4j : slf4j-api jar 2.0.0-alpha1
io.grpc : grpc-api jar 1.29.0
io.grpc : grpc-protobuf-lite jar 1.29.0
io.grpc : grpc-stub jar 1.29.0
com.google.code.gson : gson jar 2.8.6

test (2)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-engine jar 5.6.1
org.junit.jupiter : junit-jupiter-params jar 5.6.1

Project Modules

There are no modules declared in this project.

Hedera™ Hashgraph Java SDK

The Java SDK for interacting with Hedera Hashgraph: the official distributed consensus platform built using the hashgraph consensus algorithm for fast, fair and secure transactions. Hedera enables and empowers developers to build an entirely new class of decentralized applications.

Install

Gradle

Select one of the following depending on your target platform.

// Android, Corda DJVM, Java 7+
implementation 'com.hedera.hashgraph:sdk-jdk7:2.0.1'

// Java 9+, Kotlin
implementation 'com.hedera.hashgraph:sdk:2.0.1'

Select one of the following to provide the gRPC implementation.

// netty transport (for high throughput applications)
implementation 'io.grpc:grpc-netty-shaded:1.24.0'

// netty transport, unshaded (if you have a matching Netty dependency already)
implementation 'io.grpc:grpc-netty:1.24.0'

// okhttp transport (for lighter-weight applications or Android)
implementation 'io.grpc:grpc-okhttp:1.24.0'

Maven

Select one of the following depending on your target platform.

<!-- Android, Corda DJVM, Java 7+ -->
<dependency>
  <groupId>com.hedera.hashgraph</groupId>
  <artifactId>sdk-jdk7</artifactId>
  <version>2.0.0-beta.3</version>
</dependency>

<!-- Java 9+, Kotlin -->
<dependency>
  <groupId>com.hedera.hashgraph</groupId>
  <artifactId>sdk</artifactId>
  <version>2.0.0-beta.3</version>
</dependency>

Select one of the following to provide the gRPC implementation.

<!-- netty transport (for server or desktop applications) -->
<dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-netty-shaded</artifactId>
  <version>1.24.0</version>
</dependency>

<!-- netty transport, unshaded (if you have a matching Netty dependency already) -->
<dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-netty</artifactId>
  <version>1.24.0</version>
</dependency>

<!-- okhttp transport (for lighter-weight applications or Android) -->
<dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-okhttp</artifactId>
  <version>1.24.0</version>
</dependency>

Usage

Examples of several potential use cases and workflows are available within the repository in examples/.

Development

Dependencies

Compile

$ ./gradlew compileJava

Unit Test

$ ./gradlew test

Integration Test

The easiest way to run integration tests is by providing network and operator information in a configuration file. This configuration file is passed into system properties.

$ ./gradlew integrationTest -PCONFIG_FILE="<ConfigurationFilePath>"

An example configuration file can be found in the repo here:

sdk/src/test/resources/client-config-with-operator.json

The format of the configuration file should be as follows:

{
    "network": {
        "<NodeAddress>": "<NodeAccountId>",
        ...
    },
    "operator": {
        "accountId": "<shard.realm.num>",
        "privateKey": "<PrivateKey>"
    }
}

If a configuration file is not provided, OPERATOR_ID and OPERATOR_KEY must be passed into system properties and integration tests will run against the Hedera test network.

$ ./gradlew integrationTest -POPERATOR_ID="<shard.realm.num>" -POPERATOR_KEY="<PrivateKey>"

HEDERA_NETWORK can optionally be used to use previewnet. This System Property can only be set to previewnet.

$ ./gradlew integrationTest -POPERATOR_ID="<shard.realm.num>" -POPERATOR_KEY="<PrivateKey>" -PHEDERA_NETWORK="previewnet"

Note: It is also possible to use a custom network in a configuration file and pass OPERATOR_ID and OPERATOR_KEY into system properties.

An example configuration file containing only network information can be found in the repo here:

sdk/src/test/resources/client-config.json

Examples

Requires OPERATOR_ID and OPERATOR_KEY to be in a .env file in the examples directory. Many examples run against the Hedera test network.

$ ./gradlew -q example:run<NameOfExample>
$ ./gradlew -q example:runGenerateKey

Contributing to this Project

We welcome participation from all developers! For instructions on how to contribute to this repo, please review the Contributing Guide.

License Information

Licensed under Apache License, Version 2.0 – see LICENSE in this repo or apache.org/licenses/LICENSE-2.0.

com.hedera.hashgraph

Hedera Hashgraph LLC

Versions

Version
2.0.0-beta.1