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.
- packages -- Polkadot/substrate api Java implementation.
- examples -- Demo projects (Gradle).
- examples_runnable -- Demo executable JARs.
Java 1.8
The Java version is based on JS commit ff25a85ac20687de241a84e0f3ebab4c2920df7e.
The working substrate version is 1.0.0-41ccb19c-x86_64-macos. Newer substrate may be not supported.
The API is split up into a number of internal packages
- @polkadot/api The API library, providing both Promise and RxJS Observable-based interfaces. This is the main user-facing entry point.
- @polkadot/rpc RPC library.
- @polkadot/type Basic types such as extrinsics and storage.
- @polkadot/types Codecs for all Polkadot primitives.
- See the generated JavaDoc in /doc folder. Or visit the document site
- To generate JavaDoc by yourself, reference
gendoc.sh
in the root folder - To understand how the system works, you may reference Substrate and Polkadot Network
The project uses Gradle as build tool. You need to install Gradle.
git clone https://github.com/polkadot-java/api.git
cd api
gradle build
- Get the JARs in folder
build/libs/
- Add the JARs into your projects.
git clone https://github.com/polkadot-java/api.git
- Import the gradle project in folder api/packages to your workspace.
- Add links or dependencies in the IDE. This is different in different IDEs, please reference to your IDE document.
- See polkadot-java/sr25519/readme.md to compile sr25591 library (Rust and C++).
- See polkadot-java/sr25519/cpp/compile.sh how to compile the JNI shared library.
- See polkadot-java/sr25519/libs/readme.md how to use the JNI in the Java API.
-
Install substrate local node:
https://github.com/paritytech/substrate
-
Running the samples:
There are several runnable samples. To run the samples, go to folderexamples_runnable/LastestDate
(such as examples_runnable/20190525), then run each shell script. -
To change the Substrate address, change the
endPoint
variable in each demo main file.