Skip to content

neodix42/ton4j

Repository files navigation

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.7.1</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.7.1</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.
  • Fift - wrapper for using with external precompiled fift binary.
  • Func - wrapper for using with external precompiled func binary.
  • TonConnect - implementation of Ton Connect standard.
  • 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
  • ✅ Lite-client wrapper
  • ✅ Fift wrapper
  • ✅ Func wrapper
  • ✅ TVM emulator wrapper
  • ✅ Transaction emulator wrapper
  • ✅ TonConnect
  • ✅ 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), V5, Lockup, Highload/Highload-V3, DNS, Jetton, StableCoin, NFT, Payment-channels, Multisig V1
  • ✅ HashMap, HashMapE, PfxHashMap, PfxHashMapE, HashMapAug, HashMapAugE serialization / deserialization

Support ton4j development

If you want to speed up ton4j development and thus change its priority in my backlog, you are welcome to donate some toncoins:

UQBguBMWc_wUA8pJjC-A9JbTJFzb7lbFbbkiFYajA33-U9YU

Star History

Star History Chart