Open-source firmwareShips to anywhere11 native chains + all EVM tokensFree firmware updates for lifeSince 2014Fully auditable hardwareTHORChain swaps built-inOpen-source firmwareShips to anywhere11 native chains + all EVM tokensFree firmware updates for lifeSince 2014Fully auditable hardwareTHORChain swaps built-in
Using GO-keepkey to Manage Your Device
Manage your KeepKey with the GO programming language.
Repo: https://github.com/solipsis/go-keepkey
Dependencies
Installation
go get -u github.com/solipsis/go-keepkey
go install github.com/solipsis/go-keepkey
Command Line Interface (CLI)
go-keepkey --help
Usage:
go-keepkey [command]
Available Commands:
applyPolicy Enable/Disable a named policy
applySettings Update the label, language, and enable/disable the passphrase
changePin Change or add a pin to the device
clearSession Clear session data such as the pin session and passphrase
debugGetState Get device debug info. This REVEALS SECRETS and can only be used with debug enabled firmware
decryptKeyValue Decrypt a value with a given key and nodepath
encryptKeyValue Encrypt a value with a given key and nodepath
flashDump Dump certain section of flash
flashHash Request hash of certain segment of flash memory
flashWrite Write data over flash sectors
getAddress Get an address for a coinType and nodePath
getEntropy Request sample data from the hardware RNG
getEthAddress Get the ethereum address for a given node path
getFeatures Ask the device for features and model information
getPublicKey Get a public key for a nodePath including the XPUB
help Help about any command
loadDevice Load the device from seed words
ping Ping the device with a message
recoverDevice Begin interactive device recovery
removePin Disable pin on the device
replay Replay messages in kk log format to the device
resetDevice Reset the device and generate a new seed using device RNG
signEthTx Sign an ethereum transaction
signMessage Sign a message using a given node path and coin
softReset Soft reset / power cycle the device. Only works on devices in manufacturer mode
upgradeFirmware Upgrade firmware to a specified tagged version or latest if none is specified
uploadFirmware Upload a new firmware binary to the device
verifyMessage Verify a signed message
wipeDevice Erase all sensitive information on the device
Flags:
--autoButton Automatic button pressing if debug link is enabled (default true)
--debug Debug level logging
-h, --help Help for go-keepkey
--target string Device label or HID serial to connect to if more than one device is connected
Finding the bin file:
Updating KeepKey Firmware
Download the latest firmware from the KeepKey repo: github.com
Place Device in Updater Mode
- Unplug device
- Hold down button
- While holding down button, plug device back in
Use Go-keepkey to Update Firmware
./go-keepkey uploadFirmware --filepath ../../Downloads/firmware.keepkey.bin
Note: The location you downloaded the firmware to must match the location where you unzipped the CLI.
Import go-keepkey as a GO Developer
import "github.com/solipsis/go-keepkey/keepkey"
Connect to All Connected KeepKey Devices
devices, err := keepkey.GetDevices()
// Get the features supported by the first connected device
kk := devices[0]
features, err := kk.GetFeatures()
Dev Tools
Load Device:
./go-keepkey loadDevice alcohol woman abuse must during monitor noble actual mixed trade anger aisle
More info: https://github.com/solipsis/go-keepkey/blob/master/README.md