Git Product home page Git Product logo

app-elrond's Introduction

Elrond App for the Ledger Nano S

Build Status

Introduction

This is the official Elrond wallet app for the Ledger Nano S.

Prerequisites

Latest firmware

Before proceeding with the installation, please make sure your device is up-to-date with the latest firmware.

Connectivity

Furthermore, you need to configure your OS to enable the connectivity with the Nano S device. For example, on Linux, you have to issue the following command:

wget https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash

For other platforms, please have a look on this article from ledger.com.

Python package ledgerblue

pip3 install --user --upgrade --no-cache-dir ledgerblue

Note that python3 and pip3 are required in order to install ledgerblue.

Installation

Download the latest *.hex file from our releases page. If wget is available on your machine, then:

export APP_VERSION=1.0.17

wget https://github.com/ElrondNetwork/ledger-elrond/releases/download/v${APP_VERSION}/elrond-ledger-app-v${APP_VERSION}.hex

Now that you've downloaded the app and ledgerblue package is available, let's load the app on the device:

export APP_VERSION=1.0.17

python3 -m ledgerblue.loadApp --curve ed25519 --path "44'/508'" --appFlags 0x240 --tlv --targetId 0x31100004 --targetVersion=1.6.0 --delete --appName Elrond --appVersion ${APP_VERSION} --fileName elrond-ledger-app-v${APP_VERSION}.hex --dataSize 64 --icon "010000000000ffffffffffffffffff37ecdffbeff7f7eff7eff7eff7efeff7dffb37ecffffffffffff"

To remove the app from the device, issue the following command:

python3 -m ledgerblue.deleteApp --targetId 0x31100004 --appName Elrond

ESDT tokens support

In order to perform whitelisted tokens operation, first an ESDT data providing is needed.

A concatenation between the following fields has to be sent by using INS 0x08: ticker len, ticker, id_len, id, decimals, chain_id_len, chain_id, signature

The signature is generated by signing the sha256 hash of ticker len, ticker, id_len, id, decimals, chain_id_len, chain_id with a private key managed by Elrond team.

Testing

The testApp folder contains a sample Go application to prepare Elrond transactions, which you can sign using the Ledger device. The signed transactions are then dispatched to the Elrond Proxy, in order to be processed and saved on the blockchain.

Download the latest ElrondTestApp* file from our releases page. Linux, MacOS and Windows are supported. Then execute the file while the device is connected to your computer. You will be requested to enter transaction details and then continue with the signing step.

Before running the application, you need to mark it as executable on Linux / MacOS:

chmod +x ./ElrondTestApp*

Also please note that on Windows you might receive the Unknown publisher warning from the UAC facility when you first run the testApp.

Development environment: building and installing

To build locally, you must first clone this repository, then set up the development environment:

$ source prepare-devenv s

This could take a while. Then, load the app as follows:

$ make load

To remove the app from the device, run:

$ make delete

app-elrond's People

Contributors

andreibancioiu avatar bogdan-rosianu avatar mihaib79 avatar greenknot avatar tamtamhero avatar grydz avatar adoadoado avatar bigspider avatar ccorcoveanu avatar saltari avatar lucianmincu avatar lpascal-ledger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.