Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

JLibra

GitHub Actions - Build Codacy Badge Known Vulnerabilities Maven Central javadoc

A Java library for building applications on Diem

The project previously know as Libra has been renamed to Diem. Read more about it from here: Announcing the name Diem.

The API for creating transactions and querying the database of Diem uses json-rpc - a simple remote procedure call protocol utilizing JSON for encoding data. Sending new transactions to the Diem network requires also another type of serialization - the Object Canonical Serialization. JLibra implements both of these and provides a simple api for Java applications to integrate to Diem.

JLibra simplifies integration to Diem but does not hide any features of the Diem api, this makes it possible to implement anything supported by Diem with Java.

Prerequisites

  • JDK 11+
  • Maven 3+

Setup

  • Clone this repo
  • Build project with mvn install (this is important because the project contains classes that will be created during the Maven build and simply checking the project out is not enough)

Try the examples

Start sample Main classes in dev.jlibra.example package for examples (for a complete example with creating accounts to moving coins between them check the how to)

AsyncExample

BatchRequestExample

CreateChildVaspAccountExample

DualAttestationExample

GenerateKeysExample

GetAccountStateExample

GetAccountTransactionsExample

GetAccountTransactionBySequenceNumberExample

GetEventsByEventKeyExample

GetStateProofExample

GetTransactionsExample

ImportAccountMnemonicExample

KeyRotationExample

MintExample

TransferExample

TransferMultisigExample

Use JLibra in your project

Versions of JLibra are deployed to the Central Maven repository, you can add JLibra as a dependency to your project:

Maven:

<dependency>
  <groupId>dev.jlibra</groupId>
  <artifactId>jlibra-core</artifactId>
  <version>0.19.0</version>
</dependency>

Gradle:

compile("dev.jlibra:jlibra-core:0.19.0")

How-Tos & Step-by-Step Guides

How-Tos and Step-by-Step Guides are gathered in a separate document.

Known Issues

Transaction is not executed, but without errors (no events, no transaction in librabrowser.io)

  1. You might have specified too few gas.
  • Try increasing maxGasAmount.

Contributors

Projects using JLibra