819eb920c0210b9d95689f40cfbeba65c03280af gui(settings): allow to change node type (Michael Mallan) 2381227216663a6a2336ee79905646fb2a3aadca gui(settings): view & edit Electrum settings (Michael Mallan) b570039ff8e740be43c6aebdc62910f4ab4eac05 gui(settings): rename Bitcoin Core to Node (Michael Mallan) db20ae4b677cf4ffdf19ad0df6f50ea983b34a02 gui(installer): reduce empty space height (Michael Mallan) 0993905879629c58da24a1145acbb49faf31da3a gui(installer): update wording to include Electrum (Michael Mallan) f40af570bccecf9361410df334ad30e45f57659b gui(installer): split long string and run cargo fmt (Michael Mallan) 0f09be151ca3ba1353d23b170805c845fc8ab5cc gui(installer): don't change values while waiting for ping result (Michael Mallan) c93aa88d74620a555bd442bc3504e12af198f00a gui(installer): add electrum node option (Michael Mallan) 341e4467dbf727d78f31690b8dbc405995ab4088 gui(installer): allow for different node types (Michael Mallan) 83172c7bc584283d7dd4b93f3f18ec0f2d9a1ad0 gui(installer): add general node definition (Michael Mallan) 046b54e6a9337aaf478ea6e61f2d28d73f1b15c1 gui(installer): define bitcoind from general node struct (Michael Mallan) c5d9d007fb908308592635b8f85236a1b7a4b5ae gui: move bitcoind to new node module (Michael Mallan) 4536eff561459648cbf0666ec757db95ac29de4f gui(installer): extract logic for try ping bitcoind (Michael Mallan) ef44cf329adc0eed01451950454edfb7e54be515 gui(installer): add module for node step (Michael Mallan) f74f071b8a3e4eda77cc5b468f891b21c5e4e2a4 gui: upgrade liana dependency (jp1ac4) Pull request description: This is for #1223. For now, it's possible to edit the node's settings but not to change node type. Remaining tasks: - [x] Revert Cargo.toml once #1222 is merged. - [x] Update wording as per https://github.com/wizardsardine/liana/issues/1223#issuecomment-2286483134. ACKs for top commit: pythcoiner: ACK 819eb920c0210b9d95689f40cfbeba65c03280af Tree-SHA512: 362a14d32c2e13ba286d252d9f8a1106d63e5c40198776653b0623b433435329663126307e17da017fdbbd8a8ad273b703cc3ba54fd13fa5a0afd7dd9179089a
About
Liana is a simple Bitcoin wallet. Like other Bitcoin wallets you have one key which can spend the funds in the wallet immediately. Unlike other wallets, Liana lets you in addition specify one key which can only spend the coins after the wallet has been inactive for some time.
We refer to these as the primary spending path (always accessible) and the recovery path (only available after some time of inactivity). You may have more than one key in either the primary or the recovery path (multisig). You may have more than one recovery path.
Here is an example of a Liana wallet configuration:
- Owner's key (can always spend)
- Any 2 keys from the owner's spouse and two kids (after 1 year)
- A third party, in case all else failed (after 1 year and 3 months)
The lockup period is enforced onchain by the Bitcoin network. This is achieved by leveraging timelock capabilities of Bitcoin smart contracts (Script).
Liana can be used for trustless inheritance, loss protection or safer backups. Visit our website for more information.
Usage
Liana is available on Windows, Mac and Linux. To install and start using it see
doc/USAGE.md. A more accessible version of Liana is also available as a web
application here.
If you just want to quickly try out Liana on Bitcoin Signet, see doc/TRY.md.
Hacking on Liana
Liana is an open source project. It is hosted at Github. Contributions are very welcome. See here for guidelines. Most regular contributors hang out on our Discord. Join us there if you have any question about contributing.
Liana is separated in two main components: the daemon and the Graphical User Interface.
Liana daemon
The daemon contains the core logic of the wallet. It is both a library (a Rust crate) that exposes a command interface and a standalone UNIX daemon that exposes a JSONRPC API through a Unix Domain Socket.
The code for the daemon can be found in the src/ folder at the root of this repository.
Liana GUI
The GUI contains both an installer that guides a user through setting up a Liana wallet, as well as
a graphical interface to the daemon using the iced library.
The code for the GUI can be found in the gui/src/ folder.
Security
See SECURITY.md for details about reporting a security vulnerability or any bug
that could potentially impact the security of users' funds.
License
Released under the BSD 3-Clause Licence. See the LICENCE file.