neodix42 / ton4j

Java libraries for interacting with TON blockchain.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Java SDK for The Open Network (TON)

License: GPL v3 Based on TON GitHub last commit

Java libraries for interacting with TON blockchain. Do not forget to place tonlibjson library to your project. Latest Tonlib libraries can be found here.

Maven Maven Central

<dependency>
    <groupId>io.github.neodix42</groupId>
    <artifactId>smartcontract</artifactId>
    <version>0.3.2</version>
</dependency>

Jitpack JitPack

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>
<dependency>
    <groupId>io.github.neodix42</groupId>
    <artifactId>ton4j</artifactId>
    <version>0.3.2</version>
</dependency>

You can use each submodule individually. Click the module below to get more details.

  • Tonlib - use external Tonlib shared library to communicate with TON blockchain.
  • SmartContract - create and deploy custom and predefined smart-contracts.
  • Cell - create, read and manipulate Bag of Cells.
  • BitString - construct bit-strings.
  • Address - create and parse TON wallet addresses.
  • Mnemonic - helpful methods for generating deterministic keys for TON blockchain.
  • Emulator - wrapper for using with external precompiled emulator shared library.
  • Liteclient - wrapper for using with external precompiled lite-client binary.
  • Utils - create private and public keys, convert data, etc.

Features

  • ✅ BitString manipulations
  • ✅ Cells serialization / deserialization
  • ✅ TL-B serialization / deserialization
  • ✅ Cell builder and cell slicer (reader)
  • ✅ Tonlib wrapper
  • ✅ Support num, cell and slice as arguments for runMethod
  • ✅ Render List, Tuple, Slice, Cell and Number results from runMethod
  • ✅ Generate or import private key, sign, encrypt and decrypt using Tonlib
  • ✅ Encrypt/decrypt with mnemonic
  • ✅ Send external message
  • ✅ Get block transactions
  • ✅ Deploy contracts and send external messages using Tonlib
  • ✅ Wallets - Simple (V1), V2, V3, V4 (plugins), Lockup, Highload/Highload-V3, DNS, Jetton, NFT, Payment-channels, Multisig
  • ✅ HashMap, HashMapE, PfxHashMap, PfxHashMapE, HashMapAug, HashMapAugE serialization / deserialization

Todo

  • Support tuple and list as arguments for runMethod
  • Improve code coverage and add more integration tests
  • Add methods to store jettons metadata onchain
  • BinTree serialization / deserialization

About

Java libraries for interacting with TON blockchain.

License:GNU General Public License v3.0


Languages

Language:Java 100.0%