flow-jvm-sdk icon indicating copy to clipboard operation
flow-jvm-sdk copied to clipboard

Flow JVM SDK

Flow JVM SDK

Maven Central Sonatype OSS

The Flow JVM SDK is a library for JVM languages (e.g. Java, Kotlin, Scala, Groovy) that provides utilities to interact with the Flow blockchain.

For a summary of the breaking changes introduced in the lastest release, please refer to BREAKING_CHANGES.md.

At the moment, this SDK includes the following features:

  • [x] Communication with the Flow Access API over gRPC
  • [x] Transaction preparation and signing
  • [x] Cryptographic key generation, parsing, and signing
  • [x] Marshalling & unmarshalling of JSON-Cadence
  • [x] DSL for creating, signing, and sending transactions and scripts

Repository modules

This repository is organized as a multi-module project, consisting of the following modules:

SDK

The core module that includes all the necessary tools and libraries to interact with the Flow blockchain. This module provides the main functionalities such as transaction preparation, signing, and interaction with the Flow Access API. It also implements and tests use of the SDK via Java Anotations or Kotlin Extensions which can optionally be used when integrating.

Java Example

This module contains example implementations demonstrating how to use the Flow JVM SDK in a Java application. It includes sample code for various use cases, making it easier for developers to understand and integrate the SDK into their Java projects.

Kotlin Example

Similar to the Java Example module, this module provides sample implementations in Kotlin. It showcases how to leverage the SDK's capabilities in a Kotlin environment.

Contribute to this SDK

We welcome all community contributions and will gladly review improvements and other proposals as PRs.

Read the contributing guide to get started.

Dependencies

This SDK requires Java Developer Kit (JDK) 8 or newer.

Credit

The Flow JVM SDK maintainers have included