DayChan/ledger-app-one
Ledger hardware wallet
ledger-app-one
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.
Step 0: Update your Ledger Nano S Firmware to ver 1.6.0 and Load app onto Ledger Nano S
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
Step 1: Install Ledger Firmware Tootls
Install virtualenv
[sudo] pip install -U setuptools
[sudo] pip install virtualenvCreate new virtualenv
linux dependencies for ledgerblue module
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 Step 2: Install the Pre-Build release version from github release/ver1_app.hex
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 01ffffff00ffffff00ffffffffffffc7e1bbcdbbddbbcdbbc50bd8a3ddbbddbbddb3edc7e3ffffffffBuild firmware yourself
If you want to build the firmware from source code yourself, please following the instructions below.
Code List
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
Docker toolchain image
Make sure you have Docker installed.
./run_docker_nanos.sh
After the build, the firmware created as bin/app.hex
Load app onto Ledger Nano S
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.
Step 3 - Load HEX file
This step requires sudo permission
./load_nanos.shBuild host companion app
This is only for testing the ledger firmware. If you use javascript, then don't need to do this step.
go build oneledger.go