Giter Club home page Giter Club logo

keepkey-updater's Introduction

KeepKey Updater

Just want to update your KeepKey's firmware?

Download the latest release build for your platform from the releases page and run it.

Development

yarn && yarn electron-dev

Changes to the display process (the things in src/) will automatically trigger a reload. Changes to the main process (the things in public/) will require a manual restart to be reflected.

Build

Versions

There are three versions of the updater: Mac OS, Linux, and Windows. You must build on the host OS for the app you're packaging.

Mac OS

The macos build requires that the app be signed. As of 10.14.5, the app must also be notarized by Apple. The build process will do this automatically but you must configure the build machine with the following:

1. A Developer ID signing certificate must be added to the key store. This is typically done by signing into your developer account via the Xcode GUI.
2. You must set the following environment variables where XXXXX is the your developer ID and YYYYY is an app-specific password.

	export APPLEID="XXXXX"
	export APPLEIDPW= "YYYYY"

Windows

Build the app on a Windows machine.

Linux

Build the app on a Linux machine.

Build Process

nvm use
rm -rf build dist node_modules
yarn install --frozen-lockfile
yarn electron-pack

This will create installer and app images for the host OS you're on in /dist.

Adding New Firmware/Bootloader Versions

The KeepKey Updater will automatically grab what's in the latest parameter block in releases.json. To release a new version of either of these:

  1. Get hashes for the firmware and/or signed bootloader:

    • Firmware: Use the SHA-256 hash of firmware.keepkey.bin
openssl dgst -sha256 -r firmware.keepkey.bin | cut -d ' ' -f 1
- Bootloader: Use the double-SHA-256 of bootloader.bin (*not* blupdater.bin).
openssl dgst -sha256 -binary bootloader.bin | openssl dgst -sha256 -r | cut -d ' ' -f 1
  1. Drop a hash+version keypair in releases.json, following the existing pattern. Update latest version as appropriate.

  2. Commit changes to releases.json, plus new binary image files in a subdirectory of firmware.

  3. Run deploy_ipns.sh, providing the path to an IPNS keyfile and a web3.storage API key as parameters.

  4. Done.

keepkey-updater's People

Contributors

mrnerdhair avatar bithighlander avatar

Stargazers

TAURUS โ™‰ MINDSET 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.