Skip to content
/ ton4j Public

Java libraries for interacting with TON blockchain.

License

Notifications You must be signed in to change notification settings

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.4.7</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.4.7</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
  • ✅ Lite-client 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, StableCoin, NFT, Payment-channels, Multisig V1
  • ✅ 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
  • BinTree 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