2020-08-29 15:56:09 +00:00
# Sparrow Bitcoin Wallet
2020-03-22 08:15:16 +00:00
2020-08-29 15:56:09 +00:00
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.
2020-03-28 08:45:39 +00:00
2020-08-29 15:56:09 +00:00
More information (and release binaries) can be found at https://sparrowwallet.com. Release binaries are also available directly from [Github ](https://github.com/sparrowwallet/sparrow/releases ).
2020-04-07 13:14:11 +00:00
2020-08-29 15:56:09 +00:00
![Sparrow Wallet ](https://sparrowwallet.com/assets/images/control-your-sends.png )
2020-04-07 13:14:11 +00:00
2020-08-29 15:56:09 +00:00
## Building
2020-10-01 07:11:02 +00:00
To clone this project, use
`git clone --recursive git@github.com:sparrowwallet/sparrow.git`
2020-08-29 15:56:09 +00:00
2021-09-07 17:27:22 +00:00
In order to build, Sparrow requires Java 16 to be installed.
The release binaries are built with [AdoptOpenJdk 16.0.1+9 Hotspot ](https://adoptopenjdk.net/archive.html?variant=openjdk16&jvmVariant=hotspot ).
These binaries can be built from source using
2020-08-29 15:56:09 +00:00
`./gradlew jpackage`
2020-10-01 10:04:41 +00:00
When updating to the latest HEAD
`git pull --recurse-submodules`
2021-09-07 17:27:22 +00:00
The release binaries are reproducible (pre codesigning and installer packaging at this time).
2020-10-01 12:09:36 +00:00
2020-08-29 15:56:09 +00:00
## Running
If you prefer to run Sparrow directly from source, it can be launched with
2020-10-01 07:11:02 +00:00
`./sparrow`
2020-08-29 15:56:09 +00:00
2021-09-07 17:27:22 +00:00
Java 16 or higher must be installed.
2020-08-29 15:56:09 +00:00
## Configuration
2020-12-27 19:45:44 +00:00
Sparrow has a number of command line options, for example to change its home folder or use testnet:
2020-10-01 07:11:02 +00:00
```
./sparrow -h
Usage: sparrow [options]
Options:
--dir, -d
Path to Sparrow home folder
--help, -h
Show usage
2021-03-01 14:32:11 +00:00
--level, -l
Set log level
Possible Values: [ERROR, WARN, INFO, DEBUG, TRACE]
2020-10-01 07:11:02 +00:00
--network, -n
Network to use
2021-02-24 11:39:35 +00:00
Possible Values: [mainnet, testnet, regtest, signet]
2020-10-01 07:11:02 +00:00
```
2021-02-24 11:39:35 +00:00
As a fallback, the network (mainnet, testnet, regtest or signet) can also be set using an environment variable `SPARROW_NETWORK` . For example:
2020-10-01 07:11:02 +00:00
`export SPARROW_NETWORK=testnet`
2020-10-16 10:37:19 +00:00
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.
2021-03-27 04:40:47 +00:00
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.
2020-10-01 07:11:02 +00:00
2020-12-27 19:45:44 +00:00
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:
2020-08-29 15:56:09 +00:00
Platform | Location
-------- | --------
OSX | ~/.sparrow
Linux | ~/.sparrow
Windows | %APPDATA%/Sparrow
2021-02-24 11:39:35 +00:00
Testnet, regtest and signet configurations (along with their wallets) are stored in subfolders to allow easy switching between networks.
2020-10-01 07:11:02 +00:00
2020-08-29 15:56:09 +00:00
## Reporting Issues
2020-08-29 16:04:27 +00:00
Please use the [Issues ](https://github.com/sparrowwallet/sparrow/issues ) tab above to report an issue. If possible, look in the sparrow.log file in the configuration directory for information helpful in debugging.
2020-08-29 15:56:09 +00:00
## License
2020-11-26 11:42:58 +00:00
Sparrow is licensed under the Apache 2 software licence.
## Credit
![Yourkit ](https://www.yourkit.com/images/yklogo.png )
Sparrow Wallet uses the [Yourkit Java Profiler ](https://www.yourkit.com/java/profiler/ ) to profile and improve performance.
YourKit supports open source projects with useful tools for monitoring and profiling Java and .NET applications.