Ledger hardware wallet support for Harmony ONE.
This repository contains software and firmware source code for Harmony hardware wallet using Ledger Nano S.
An example of Ledger Nano S running Harmony ONE app (LED UI) and companion app manual can be found here.
Before attempting to load the hex file, make sure your Ledger Nano S is connected and the firware is updated to version 1.6.0.
Enter your PIN and **make sure you're seeing the Dashboard app
[sudo] pip install -U setuptools
[sudo] pip install virtualenv
libudev1 libudev-dev libusb-1.0-0-dev
virtualenv -p python3 venv
source venv/bin/activate
pip install ledgerblue
or pip install git+https://github.com/LedgerHQ/blue-loader-python.git
After checkout the code from github and upgrade Ledger Nano S firmware to version 1.6.0, you can directly install the pre-build firmware using the following.
sudo venv/bin/python -m ledgerblue.loadApp --appFlags 0x40 --path "44'/1023'" --curve secp256k1 --tlv --targetId 0x31100004 --targetVersion="1.6.0" --delete --fileName release/ver1_app.hex --appName One --appVersion 1.0.0 --dataSize 0 --icon 01ffffff00ffffff00ffffffffffffc7e1bbcdbbddbbcdbbc50bd8a3ddbbddbbddb3edc7e3ffffffff
If you want to build the firmware from source code yourself, please following the instructions below.
oneledger.go simple companion host side app for testing Ledger Nano S firmware
src/ firmware source code for Ledger Nano S
wallet/ harmony-one hardware wallet main application code
icos/ gif files for Ledger Nano S app icon and Ledger Live icon
glyphs/ icon files used in firmware GUI
Make sure you have Docker installed.
./run_docker_nanos.sh
After the build, the firmware created as bin/app.hex
Before attempting to load the hex file, make sure your Ledger Nano S is connected and the firware is updated to the latest version.
Enter your PIN and make sure you're seeing the Dashboard app.
If you run into errors here, make sure you have the required dependencies installed. See Ledger - Loader Python.
This step will create a directory venv and put all python related modules there.
This step requires sudo permission
./load_nanos.sh
This is only for testing the ledger firmware. If you use javascript, then don't need to do this step.
go build oneledger.go