Newer versions' source can be found here.
Free TON Ledger app for Ledger Nano S/X
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.8-dev libudev-dev libusb-1.0-0-dev
# install pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3.8 get-pip.py && pip3.8 install virtualenv
# (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.
Important: CLI supports only Safe Multisig Wallet (contract number 0; more information about in documentation
)
Request public key:
source prepare-devenv.sh s
python freetoncli.py --getpubkey --account 0
Request address for Safe Multisig Wallet:
source prepare-devenv.sh s
python freetoncli.py --getaddr --account 0 --contract 0
Deploy Safe Multisig Wallet:
source prepare-devenv.sh s
python freetoncli.py --getaddr --account 0 --contract 0 # get future address of the Safe Multisig contract for account 0
# send some tokens to the received address (about 0.5 should be enough)
python freetoncli.py --account 0 --contract 0 --balance # check balance before deploy
python freetoncli.py --url https://main.ton.dev --account 0 --contract 0 deploy
# you will be asked for signature on device
Now you can send some tokens from the newly created address
Send tokens from Safe Multisig Wallet:
source prepare-devenv.sh s
python freetoncli.py --url main.ton.dev --account 0 --contract 0 send --dest 0:b3e44db0197dff175f5b71e1003bd57d2e8068892839874eefc8ca95106a8435 --value 0.1
# you will be asked for signature on device
This follows the specification available in the freetonapp.asc