项目作者: iicc1

项目描述 :
Community made LTO Network wallet application for Ledger devices
高级语言: C
项目地址: git://github.com/iicc1/ledger-app-lto.git
创建时间: 2019-07-10T12:16:25Z
项目社区:https://github.com/iicc1/ledger-app-lto

开源协议:MIT License

下载


Ledger BOLOS application for LTO Network

Docker Cloud Build Status Docker Pulls

Community made LTO Network wallet application for Ledger devices.


Introduction

  • Ledger device wallet application for the LTO Network blockchain developed by a community member.

  • It is compliant with LTO Network cryptographic specifications.

  • There is a ready to use web app interface here.

  • It can be tested using the Python script located at python/ledger-lto.py.

  • Special thanks to the Ledger team, Waves community and, LTO Network team.

  • LTO Network Ledger APP User Guide


Building

To build this application you need to create a Ledger development environment. More information can be
found here.

Alternatively, you can use my Docker image to compile the App with just one command.


Prerequisites

First, you must have Docker and Python 2 or 3 installed.

Docker is used to compile the App from source and Python to load it into your device.

Next, download or clone this repository into a folder. If you have downloaded it, remember to extract it.


Compiling

Ledger Nano S

Open a terminal inside the folder where the repository was downloaded and enter the following command:

Linux/Mac/Windows (PowerShell)

  1. docker run -v ${PWD}:/code ignacioxyz/lto-ledger-devenv 'make'

Windows (CMD)

  1. docker run -v %cd%:/code ignacioxyz/lto-ledger-devenv 'make'

This command will download my Docker image from DockerHub and build the Ledger App, creating several folders within the current folder.


Ledger Nano X

The Docker image uploaded to my Dockerhub uses the Ledger Nano S SDK. To compile this APP for a Ledger Nano X device, you need to build the Docker Image with the Nano X SDK.

To do this, edit the SDK download step in the Dockerfike

  1. RUN echo "Download Ledger Nano X SDK" && \
  2. git clone --branch 1.2.4-5.1 https://github.com/LedgerHQ/nanox-secure-sdk.git ${BOLOS_SDK}

Build the Ledger image locally

  1. docker build -t sdknanox .

And build the Ledger Nano X APP

  1. docker run -v ${PWD}:/code sdknanox:latest 'make TARGET_NAME=TARGET_NANOX'


Uploading

Nano S

Now we will use Python to upload the App to your device.

You need to have ledgerblue depencency installed:

Python

  1. pip install ledgerblue

Python3

  1. pip3 install ledgerblue

And finally, load the App:

Python

  1. python -m ledgerblue.loadApp --appFlags 0x240 --path "44'/353'" --curve secp256k1 --curve ed25519 --tlv --targetId 0x31100004 --delete --fileName bin/app.hex --appName "LTO Network" --appVersion 2.2.0 --dataSize 64 --icon 010000000000ffffffffffffffffffffffbffd7ffedffbb7ed67e6cff39ff97ffe7ffeffffffffffff

Python3

  1. python3 -m ledgerblue.loadApp --appFlags 0x240 --path "44'/353'" --curve secp256k1 --curve ed25519 --tlv --targetId 0x31100004 --delete --fileName bin/app.hex --appName "LTO Network" --appVersion 2.2.0 --dataSize 64 --icon 010000000000ffffffffffffffffffffffbffd7ffedffbb7ed67e6cff39ff97ffe7ffeffffffffffff

After this, the installation process will start, asking for your permission on the Ledger screen.


Nano X

Unfortunately, at the time of writing, there is no way to load a non-official Ledger APP into a Ledger Nano X.

You can use a Ledger Nano X emulator called Speculos.


Web app

There are currently two web interfaces available to interact with this Ledger application:


CLI app

Once the Ledger app is loaded, you can try to communicate with it using the CLI app.
You can download the precompiled binaries from the releases tag. Make sure you download the correct executable for your platform.
Then execute the program and the app will guide you through the process.

You can also run the CLI app from source, it is just a Python script located at the python/ folder.
Python 2.7 is required for this, the latest releases are found here here.

Install dependencies:

  1. pip install ledgerblue
  2. pip install colorama
  3. pip install base58

Then enter the LTO Network app on your ledger and start the script:

  1. python python/ledger-lto.py