Desktop Bitcoin Wallet focused on security and privacy. Free and open source.
Find a file
2024-11-25 10:30:28 +02:00
.github/workflows upgrade java to 22.0.2 2024-08-09 09:45:23 +02:00
buildSrc update flyway to v9.1.3 2024-10-10 09:04:01 +02:00
docs update reproducible build instructions for java 22 2024-09-18 14:56:06 +02:00
drongo@d5393bd436 add output descriptor accessors and copy function 2024-11-19 10:46:48 +02:00
gradle/wrapper upgrade to gradle 8.9 2024-08-08 13:30:39 +02:00
src improve exception handling when loading paynym avatars 2024-11-25 10:30:28 +02:00
.gitignore no ds store 2020-08-04 12:50:07 +02:00
.gitmodules fix recursive clone via https 2021-09-20 16:37:03 +02:00
.mailmap Add mailmap file for Craig Raw addresses. 2021-10-24 20:03:13 -05:00
build.gradle upgrade jcommander to 2.0 2024-11-20 13:09:28 +02:00
gradlew update gradle wrapper to 8.5 2024-01-29 14:35:58 +02:00
gradlew.bat upgrade gradle to 7.6 2023-01-06 10:49:26 +02:00
LICENSE license 2020-08-28 15:20:31 +02:00
README.md bump required java version to 22 2024-11-15 23:06:48 +02:00
settings.gradle Initial commit 2020-03-22 10:12:07 +02:00
sparrow Allow running sparrow script from other paths 2021-10-04 13:44:42 +03:00
sparrow.bat fix on windows 2020-10-01 12:00:38 +02:00

Sparrow Bitcoin Wallet

Sparrow is a modern desktop Bitcoin wallet application supporting most hardware wallets and built on common standards such as PSBT, with an emphasis on transparency and usability.

More information (and release binaries) can be found at https://sparrowwallet.com. Release binaries are also available directly from GitHub.

Sparrow Wallet

Building

To clone this project, use

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

or for those without SSH credentials:

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

In order to build, Sparrow 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 Sparrow binaries can be built from source using

./gradlew jpackage

Note that to build the Windows installer, you will need to install WiX.

When updating to the latest HEAD

git pull --recurse-submodules

The release binaries are reproducible from v1.5.0 onwards (pre codesigning and installer packaging). More detailed instructions on reproducing the binaries are provided.

Video documentation of your build process uploaded to bitcoinbinary.org is appreciated. Alternatively check the site if you wish to see if someone else already verified the provided binaries.

Running

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

./sparrow

Java 22 or higher must be installed.

Configuration

Sparrow has a number of command line options, for example to change its home folder or use testnet:

./sparrow -h

Usage: sparrow [options]
  Options:
    --dir, -d
      Path to Sparrow home folder
    --help, -h
      Show usage
    --level, -l
      Set log level
      Possible Values: [ERROR, WARN, INFO, DEBUG, TRACE]      
    --network, -n
      Network to use
      Possible Values: [mainnet, testnet, regtest, signet, testnet4]

Note that testnet currently refers to testnet3.

As a fallback, the network (mainnet, testnet, testnet4, regtest or signet) can also be set using an environment variable SPARROW_NETWORK. For example:

export SPARROW_NETWORK=testnet

A final fallback which can be useful when running the Sparrow binary is to create a file called network-testnet in the Sparrow home folder (see below) to configure the testnet network.

Note that if you are connecting to an Electrum server when using testnet, that server will need to be running on testnet configuration as well.

When not explicitly configured using the command line argument above, Sparrow stores its mainnet config file, log file and wallets in a home folder location appropriate to the operating system:

Platform Location
OSX ~/.sparrow
Linux ~/.sparrow
Windows %APPDATA%/Sparrow

Testnet3, testnet4, regtest and signet configurations (along with their wallets) are stored in subfolders to allow easy switching between networks.

Reporting Issues

Please use the Issues tab above to report an issue. If possible, look in the sparrow.log file in the configuration directory for information helpful in debugging.

License

Sparrow is licensed under the Apache 2 software licence.

GPG Key

The Sparrow release binaries here and on sparrowwallet.com are signed using craigraw's GPG key:
Fingerprint: D4D0D3202FC06849A257B38DE94618334C674B40
64-bit: E946 1833 4C67 4B40

Credit

Yourkit

Sparrow Wallet uses the Yourkit Java Profiler to profile and improve performance. YourKit supports open source projects with useful tools for monitoring and profiling Java and .NET applications.