neodix42 / MyLocalTon

Personal local TON blockchain
GNU General Public License v3.0
119 stars 21 forks source link
blockchain java telegram ton ton4j

License: GPL v3 Telegram Foundation Group Based on TON GitHub last commit

What is it

This is your personal local TON blockchain (www.ton.org) in a shape of cross-platform desktop application. It comes in a form of uber-jar with all dependencies and binaries. Please notice this an alpha version and cannot be treated as production ready.

MyLocalton gif demo

Matrix of supported OS & Java

OS \ Java 11 13 15 17 19
Linux x86_64 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Linux arm64/aarch64 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
MacOS x86_64 (12+) :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
MacOS arm64/aarch64 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Windows x86_64 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

Please make sure you are not using headless (no GUI) Java and OS/Java combination matches as per table above.

For MacOS users

In case you are using MacPorts instead of Homebrew on Mac please execute the following command:

mkdir -p /usr/local/opt/readline/lib; ln -s /opt/local/lib/libreadline.8.dylib /usr/local/opt/readline/lib/

Java installation

Linux MacOS Windows
sudo apt install openjdk-17-jdk | brew install openjdk@17 | choco install openjdk --version=17.0.2

Microsoft Visual C++ Redistributable installation (for Windows only)

Please install Microsoft Visual C++ Redistributable 2015 (and above) x64. https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

MyLocalTon installation

Archicture Linux / MacOS Windows
x86-64 wget https://github.com/neodix42/MyLocalTon/releases/latest/download/MyLocalTon-x86-64.jar download
arm64 wget https://github.com/neodix42/MyLocalTon/releases/latest/download/MyLocalTon-arm64.jar download

MyLocalTon usage

java -jar MyLocalTon-x86-64.jar [nogui] [ton-http-api] [explorer] [ip.addr.xxx.xxx] [test-binaries] [test-tonlib ] [with-validators-N] [custom-binaries=] [debug]

for ARM64 architecture use:

java -jar MyLocalTon-arm64.jar

Parameters

Lite-client

MyLocalTon uses deterministic (permanent) private and public keys for lite-server and validator-engine-console access. These keys can be found here. Once MyLocalTon is ready, you can use lite-client with the base64 key:

lite-client -a 127.0.0.1:4443 -b E7XwFSQzNkcRepUC23J2nRpASXpnsEKmyyHYV4u/FZY= -c last

or validator-engine-console in this way:

validator-engine-console -a 127.0.0.1:4441 -k <absolute-path>/myLocalTon/genesis/bin/certs/client -p <absolute-path>/myLocalTon/genesis/bin/certs/server.pub

Log files

Reporting an issue

Upgrade

Today upgrade is not supported, that means once you have a new version of MyLocalTon just overwrite the existing MyLocalTon and delete myLocalTon directory next to it. The upgrade functionality is in the backlog, so it will be implemented in future releases.

Build from sources

Common actions for all platforms

:point_up: On Windows don't forget to install Microsoft Visual C++ Redistributable installation (see above)

Manual TON-HTTP-API installation (optional)

Linux

sudo apt install -y python3
sudo apt install -y python3-pip
pip3 install --user ton-http-api

MacOS

Note: Python version must be 3.11 or greater

brew install -q python3
python3 -m ensurepip --upgrade
pip3 install --user ton-http-api

Windows

wget https://www.python.org/ftp/python/3.12.0/python-3.12.0-amd64.exe
python -m ensurepip --upgrade
start pip3 install -U ton-http-api

Star History

Star History Chart