Free TON Ledger app for Ledger Nano S/X
Video demonstration:
To build and install the app on your Ledger Nano S you must set up the Ledger Nano S build environments. Please follow the Getting Started instructions at here.
If you don't want to setup a global environnment, you can also setup one just for this app by sourcing prepare-devenv.sh
with the right target (s
or x
).
Install prerequisite and switch to a Nano S dev-env:
sudo apt install gcc make gcc-multilib g++-multilib libncurses5
sudo apt install python3-venv python3-dev libudev-dev libusb-1.0-0-dev
# (s or x, depending on your device)
source prepare-devenv.sh s
To fix problems connecting to Ledger follow this guide
Compile and load the app onto the device:
make load
Refresh the repo (required after Makefile edits):
make clean
Remove the app from the device:
make delete
Enable debug mode:
make clean DEBUG=1 load
All examples are written for Linux and assumes Python 3.8 is installed as default python interpreter
For Mac OS and Windows prepare environment by running python -m pip install -r requirements.txt
and skip execution of source prepare-devenv.sh s
. For Mac OS use python3 instead of python.
Request public key:
source prepare-devenv.sh s
python freetoncli.py --getpubkey --account 0
Request address:
source prepare-devenv.sh s
python freetoncli.py --getaddr --account 1
Deploy Wallet contract:
source prepare-devenv.sh s
python freetoncli.py --getaddr --account 1 # get future address of the contract
# send some tokens to the received address (about 0.5 should be enough)
python freetoncli.py --url https://main.ton.dev --account 1 deploy
# you will be asked for signature on device
Now you can send some tokens from the newly created address
Send tokens:
source prepare-devenv.sh s
python freetoncli.py --url main.ton.dev --account 0 send --dest 0:9ff3d2dea4bb74f6cf55d4ff7186bc6b6bb1f3c57338a7ffcb57528b35ddc4af --value 111.111111111
# you will be asked for signature on device
This follows the specification available in the freetonapp.asc