polkadot-java / api

Java APIs around Polkadot and any Substrate-based chain RPC calls. It is dynamically generated based on what the Substrate runtime provides in terms of metadata.Full documentation & examples available.
https://polkadot-java.github.io/
Apache License 2.0
61 stars 28 forks source link

Polkadot/Substrate Java Api

This library provides a Java wrapper around all the methods exposed by a Polkadot/Subtrate network client and defines all the types exposed by a node.

JDK

Java 1.8

Based JS code version

The Java version is based on JS commit ff25a85ac20687de241a84e0f3ebab4c2920df7e.

Substrate version

The working substrate version is 1.0.0-41ccb19c-x86_64-macos. Newer substrate may be not supported.

overview

The API is split up into a number of internal packages

Document

Integrate the API into your projects

The project uses Gradle as build tool. You need to install Gradle.

Build the library with Gradle then link to the JAR

  1. git clone https://github.com/polkadot-java/api.git
  2. cd api
  3. gradle build
  4. Get the JARs in folder build/libs/
  5. Add the JARs into your projects.

Link to the source code directly,

  1. git clone https://github.com/polkadot-java/api.git
  2. Import the gradle project in folder api/packages to your workspace.
  3. Add links or dependencies in the IDE. This is different in different IDEs, please reference to your IDE document.

How to build and use sr25591 JNI

  1. See polkadot-java/sr25519/readme.md to compile sr25591 library (Rust and C++).
  2. See polkadot-java/sr25519/cpp/compile.sh how to compile the JNI shared library.
  3. See polkadot-java/sr25519/libs/readme.md how to use the JNI in the Java API.

How to run examples

  1. Install substrate local node:
    https://github.com/paritytech/substrate

  2. Running the samples:
    There are several runnable samples. To run the samples, go to folder examples_runnable/LastestDate (such as examples_runnable/20190525), then run each shell script.

  3. To change the Substrate address, change the endPoint variable in each demo main file.