Coder Social home page Coder Social logo

pinkdiamond1 / m5stack_libra_hw_wallet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iyawat/m5stack_libra_hw_wallet

0.0 1.0 0.0 39 KB

Libra Hardware wallet using M5stack & M5StickC

Home Page: https://www.hackster.io/iyawat-kongmalai/m5stick-libra-watch-wallet-92a94b

C++ 100.00%

m5stack_libra_hw_wallet's Introduction

M5Stack Hardware Wallet

(First?) Libra Hardware wallet. Built on M5Stack devices: Core, Grey, Fire compatible using KULAP libra services

Usages

  1. Open m5stack_libra_hardware_wallet_OK.ino in Arduino IDE
  2. Change SSID and Passphase for your WIFI (this is using for call libra services)
  3. Upload codes into M5Stack
  4. Enjoy !!

Screens

1. Login page

PIN is 6 digits and using SHA256 to encrypt PIN and store to EEPROM

  • Press 'A' keypad for shift PIN left
  • Press 'B' keypad for Enter PIN
  • Press 'C' keypad for shift PIN right
  • Hold 'C' keypad for 20 seconds to RESET all things /* For test purpose only */..
  • Select '<' if you want to delete PIN
  • Select '/' once you have done enter PIN

2. Wallet Page

Show Libra Address (Full address) with Balance (Offline storage in EEPROM)

  • Press 'A' keypad for show QR code to receive libra tokens
  • Press 'B' keypad for sign in or sign transaction with web wallet /* Future function */..
  • Press 'C' keypad for logout
  • Hold 'C' keypad for 20 seconds to RESET all things /* For test purpose only */..

3. Sign Trx Page

Sign Transaction with Libra-Wallet-POC https://github.com/kulapio/libra-wallet-poc

Press "Use HW Wallet" when prompt to select and then press 'B' button to sync data to Libra-Wallet-POC app

M5StickC Clock & Wallet

(First?) Libra Hardware wallet. Built on M5SickC devices using KULAP libra services

Usages

  1. Open M5Stick_Clock_LIbra.ino in Arduino IDE
  2. Change SSID and Passphase for your WIFI (this is using for call libra services)
  3. Upload codes into M5Stack
  4. Enjoy !!

Screens

1. Clock page

Display current Time

  • Press 'HOME' keypad for input PIN

2. Login Page

  • Press 'HOME' keypad for Enter PIN
  • Press 'RST' keypad for shift PIN right
  • Press 'HOME' and 'RST' keypad for return to clock face /* For test purpose only */..
  • Select '<' if you want to delete PIN
  • Select '/' once you have done enter PIN

3. Wallet Page

Show Libra Address (Full address) with Balance (Offline storage in EEPROM)

  • Press 'HOME' keypad for sign in or sign transaction with web wallet /* Future function */..
  • Press 'RST' keypad for return to clock face
  • Press 'HOME' and 'RST' keypad for RESET all things /* For test purpose only */..

3. Sign Trx Page

Sign Transaction with Libra-Wallet-POC https://github.com/kulapio/libra-wallet-poc

Press "Use HW Wallet" when prompt to select and then press 'HOME' button to sync data to Libra-Wallet-POC app Press 'RST' button to exit

Libra Services

Libra Services from KULAP.io https://github.com/kulapio/libra-service

Create wallet:

POST /createWallet

Headers: Content-Typeapplication/json

Body: {}

Example Request:

curl --location --request POST "https://libraservice2.kulap.io/createWallet" \
  --header "Content-Type: application/json" \
  --data "{}"

Example Output:

{
    "address": "5554d60c1af7592673f0ac012ce483b842c06de3d896029cfe957c348621d5b7",
    "balance": "100",
    "mnemonic": "parrot afraid always popular trade grape divide wave dawn web identify kangaroo equal suffer humor creek scan stove hip kingdom skin enable flush announce;1"
}

Todo

  • Creating wallet and store keys in EEPROM
  • Mnemonic phase Encryption with AES (or other techniques)
  • BLE Connectivity and sign trx when login or transfer using web wallet
  • WIFI Selector (now not user friendly need to fix SSID and key in the code)
  • Offline mode without WIFI
  • More functions to make it pure ledger nano / Trazor for Libra

References:

m5stack_libra_hw_wallet's People

Contributors

iyawat avatar

Watchers

 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.