[BREAKGLASS] Command line application for the Lark USB Hardware Wallet library
Go to file
2024-12-03 11:14:50 +02:00
.github/workflows minor build changes 2024-12-03 10:03:50 +02:00
drongo@64a3f1c00b return any new wallet registrations on signtx and displayaddress commands 2024-12-02 10:56:09 +02:00
gradle/wrapper initial commit 2024-11-25 14:12:28 +02:00
lark@db8bcc03b5 add further usage examples 2024-12-03 08:52:13 +02:00
src/main add udev rules rpm fix and document 2024-12-02 13:55:16 +02:00
.gitignore initial commit 2024-11-25 14:12:28 +02:00
.gitmodules track master branch on submodules 2024-11-28 07:44:17 +02:00
build.gradle fix reproducibility issue 2024-12-03 11:14:50 +02:00
gradlew initial commit 2024-11-25 14:12:28 +02:00
gradlew.bat initial commit 2024-11-25 14:12:28 +02:00
larklogo.png add logo to readme 2024-12-02 16:46:53 +02:00
LICENSE initial commit 2024-11-25 14:12:28 +02:00
README.md add further usage examples 2024-12-03 08:52:13 +02:00
runlark add release requirements to build 2024-11-29 09:43:56 +02:00
runsparrow.bat add release requirements to build 2024-11-29 09:43:56 +02:00
settings.gradle add drongo and lark submodules 2024-11-25 15:05:02 +02:00

Lark logo

Lark App

The Lark application is a command line app for interacting with USB hardware wallets in Bitcoin related functions. It uses the Lark Java library at https://github.com/sparrowwallet/lark, which in turn is a port of the Python library HWI. The Lark command line application is designed to be a drop-in replacement for HWI, with a subset of commands implemented. Documentation on the commands is available by running it with --help.

Running

Depending on your operating system, once extracted/installed, Lark can be run from the command line as follows:

Linux

> lark/bin/lark

Note that on Linux, udev rules may need to be installed if you are not using the .deb/.rpm installation package.

macOS

> Lark.app/Contents/MacOS/Lark

Windows

> lark/lark.exe

Example usage

Show usage:

lark --help

Enumerate all connected hardware wallets

lark enumerate

Get Native Segwit xpub

lark --device-type trezor getxpub "m/84'/0'/0'"

Sign a testnet transaction

lark --chain test --device-type coldcard signtx "cHNid..."

Sign a multisig transaction, supplying a previous wallet registration

lark --device-type ledger --wallet-desc "wsh(sortedmulti(2,[2811576b/48h/0h/0h/2h]xpub...,[6533280b/48h/0h/0h/2h]xpub...))" --wallet-name "2 of 2 Multisig" --wallet-registration "c0ee51bae9b3e5ee5a5e01dbcd336cd5c5f8a5b760d1c68f6a2a0b91c2580406" signtx "cHNid..."

Running from source

If you prefer to run Lark directly from source, it can be launched from within the project directory with

./runlark

Java 22 or higher must be installed.

Building

To clone this project, use

git clone --recursive git@github.com:sparrowwallet/larkapp.git

or for those without SSH credentials:

git clone --recursive https://github.com/sparrowwallet/larkapp.git

In order to build, Lark requires Java 22 or higher to be installed. The release binaries are built with Eclipse Temurin 22.0.2+9.

Other packages may also be necessary to build depending on the platform. On Debian/Ubuntu systems:

sudo apt install -y rpm fakeroot binutils

The Lark binaries can be built from source using

./gradlew jpackage

When updating to the latest HEAD

git pull --recurse-submodules

The release binaries are reproducible (pre codesigning and installer packaging).