flow-jvm-sdk
flow-jvm-sdk copied to clipboard
Flow JVM SDK
Flow JVM SDK
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