Go to file
Roman Storm d1fcff5991 Merge branch 'master' of github.com:poanetwork/blue-app-eth 2018-06-07 12:55:29 -07:00
doc Add SIGN ETH PERSONAL MESSAGE specification 2017-08-19 11:00:49 +02:00
glyphs add POA 2017-12-22 11:57:48 -08:00
src add POA 2017-12-22 11:57:48 -08:00
src_chainsplit Add ETC/ETH splitting contract sample 2016-08-28 23:39:04 +02:00
src_common Fix non decimal display glitch 2017-05-31 21:48:49 +02:00
src_daosend Temporarily disable 1.2isms 2016-06-02 02:04:57 +02:00
src_genericwallet add POA 2017-12-22 11:57:48 -08:00
.gitignore Update for new SDKs 2017-01-22 18:25:15 +01:00
LICENSE Initial commit 2016-05-28 01:12:59 +02:00
Makefile.chainsplit Splitting : fix Makefile, add quality icon, ETH->ETC automation through etherscan APIs 2016-09-02 10:17:07 +02:00
Makefile.daosend Initial import 2016-06-01 21:41:29 +02:00
Makefile.genericwallet add POA 2017-12-22 11:57:48 -08:00
README.md add POA 2017-12-22 11:57:48 -08:00
blue_app_ethereum.gif Update tokens, add Expanse and Ubiq chains 2017-10-20 16:21:36 +02:00
blue_app_expanse.gif Update tokens, add Expanse and Ubiq chains 2017-10-20 16:21:36 +02:00
blue_app_poa.gif add POA 2017-12-22 11:57:48 -08:00
blue_app_poa_network.gif change icons 2018-06-07 12:53:42 -07:00
blue_app_ubiq.gif Update tokens, add Expanse and Ubiq chains 2017-10-20 16:21:36 +02:00
ethBase.py Get rid of ethereum framework dependency for Windows users, point to split contract 2016-09-02 15:50:49 +02:00
getPublicKey.py Initial import 2016-06-01 21:41:29 +02:00
icon_split.gif Splitting : fix Makefile, add quality icon, ETH->ETC automation through etherscan APIs 2016-09-02 10:17:07 +02:00
nanos_app_ethereum.gif Update tokens, add Expanse and Ubiq chains 2017-10-20 16:21:36 +02:00
nanos_app_expanse.gif Update tokens, add Expanse and Ubiq chains 2017-10-20 16:21:36 +02:00
nanos_app_poa.gif add POA 2017-12-22 11:57:48 -08:00
nanos_app_poa_network.gif change icons 2018-06-07 12:53:42 -07:00
nanos_app_ubiq.gif Update tokens, add Expanse and Ubiq chains 2017-10-20 16:21:36 +02:00
setSelfAddress.py Initial import 2016-06-01 21:41:29 +02:00
signTx.py Get rid of ethereum framework dependency for Windows users, point to split contract 2016-09-02 15:50:49 +02:00
splitEther.py Get rid of ethereum framework dependency for Windows users, point to split contract 2016-09-02 15:50:49 +02:00

README.md

To Compile

  • Ubuntu 16.04 sudo apt-get install libusb-1.0-0-dev libudev-dev python-dev gcc-multilib g++-multilib clang ntp sudo apt-get install --reinstall binutils

python --version Python 2.7.10

pip install django==1.11 pip install image pip install ledgerblue If Ledger PR hasn't merged, please install this version: https://github.com/LedgerHQ/blue-loader-python/pull/18/files

make -f Makefile.genericwallet BOLOS_ENV=/home/$USER/ledger_ubuntu/ledger/bolos_env BOLOS_SDK=/home/$USER/ledger_ubuntu/ledger/nanos-secure-sdk CHAIN=poa load

Setup BOLOS_ENV:

https://ledger.readthedocs.io/en/latest/userspace/getting_started.html

  • Choose a directory for the BOLOS environment (Ill use ~/bolos-devenv/) and link the environment variable BOLOS_ENV to this directory.

  • Download a prebuilt gcc from https://launchpad.net/gcc-arm-embedded/+milestone/5-2016-q1-update and unpack it into ~/bolos-devenv/. Make sure there is a directory named bin directly inside ~/bolos-devenv/gcc-arm-none-eabi-5_3-2016q1/.

  • Download a prebuilt clang from http://releases.llvm.org/download.html#4.0.0 and unpack it into ~/bolos-devenv/. Rename the directory that was inside the archive you downloaded to clang-arm-fropi, or create a link to the directory with that name. Make sure there is a directory named bin directly inside ~/bolos-devenv/clang-arm-fropi/.

Setup NANOS_SECURE_SDK:

https://github.com/LedgerHQ/nanos-secure-sdk/releases

To generate icon:

python ./nanos-secure-sdk-nanos-1314/icon.py nanos_app_poa.gif hexbitmaponly

To Load app onto Ledger

python -m ledgerblue.loadApp --path "44'/60'" --appFlags 0x40 --path "44'/1'" --curve secp256k1 --targetId 0x31100002 --fileName bin/app.hex --appName POA.NETWORK --apdu --icon 0100000000ffffff00ffffffffffffffffffff1ff80ff087e187e10ff01ff8ffffffffffffffffffff

blue-app-eth

Ethereum wallet application framework for Ledger Blue and Nano S

This follows the specification available in the doc/ folder

To use the generic wallet (which disables all data transaction) refer to signTx.py (requires rlp package) or Ledger Ethereum Wallet Chrome application available on Github at https://github.com/LedgerHQ/ledger-wallet-ethereum-chrome or the Chrome Web store at https://chrome.google.com/webstore/detail/ledger-wallet-ethereum/hmlhkialjkaldndjnlcdfdphcgeadkkm

Other examples are provided reusing the Ethereum parsing framwork to implement some advanced use cases :

For more information about the parsing framework you can refer to https://medium.com/@Ledger/dynamic-secure-applications-with-bolos-and-ledger-blue-a-use-case-with-ethereum-and-the-dao-6be91260e89f#.204qgmogo