/java-sdk

Primary LanguageJavaApache License 2.0Apache-2.0

BNB Beacon Chain Java SDK

The BNB Beacon Chain Java SDK works as a lightweight Java library for interacting with the BNB Beacon Chain. It provides a complete API coverage, and supports synchronous and asynchronous requests. It includes the following core components:

  • crypto - core cryptographic functions.
  • amino encoding - amino (protobuf-like) encoding and decoding of transactions.
  • client - implementations of API rest client, supporting synchronous and asynchronous access to BNB Beacon Chain's REST APIs.
  • wallet - management of accounts, including seed and encrypted mnemonic generation.

How to get

  1. Add the JitPack repository to your project's pom.xml:
        <repositories>
            <repository>
                <id>jitpack.io</id>
                <url>https://jitpack.io</url>
            </repository>
        </repositories>
    
  2. Add the dependency:
    <dependency>
        <groupId>com.github.bnb-chain</groupId>
        <artifactId>java-sdk</artifactId>
        <version>Tag</version>
    </dependency>
    

Protobuf

The protobuf-maven-plugin is used in this SDK. It is a plugin that integrates protocol buffers compiler (protoc) into Maven lifecycle. The Plugin generates Java source files from .proto (protocol buffer definition) files for this project by running mvn compile.

These Java source files will be packaged into the final artifact and referenced as imports from the dependent projects or modules by running mvn clean package.

More details please refer to https://github.com/xolstice/protobuf-maven-plugin

API

For examples, please check the wiki.

Testing

All new code changes should be covered with unit tests. You can see the existing test cases here.

Contributing

Contributions to the BNB Beacon Chain Java SDK are welcome. Please ensure that you have tested the changes with a local client and have added unit test coverage for your code.