nix-bitcoin/examples
padreug 800afe647f
Some checks are pending
nix-bitcoin tests / build_test_drivers (push) Waiting to run
nix-bitcoin tests / test_scenario (default) (push) Blocked by required conditions
nix-bitcoin tests / test_scenario (joinmarket-bitcoind-29) (push) Blocked by required conditions
nix-bitcoin tests / test_scenario (netns) (push) Blocked by required conditions
nix-bitcoin tests / test_scenario (netnsRegtest) (push) Blocked by required conditions
nix-bitcoin tests / check_flake (push) Waiting to run
examples: add neutrino backend example for lnd
Show users how to configure lnd with the neutrino backend instead of
bitcoind. This is useful for resource-constrained systems that can't
run a full Bitcoin node, but provides less privacy and security than
a local bitcoind.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 17:38:21 +01:00
..
container update to NixOS 25.05 2025-06-10 13:45:57 +02:00
flakes update to NixOS 25.05 2025-06-10 13:45:57 +02:00
krops examples/krops: fix nixpkgs symlink sync error on macOS/BSD 2022-07-04 23:42:09 +02:00
nixops Remove nixops examples and documentation 2021-03-15 12:42:47 +00:00
qemu-vm test: remove clightning TODO-EXTERNAL requiring to disable offers 2024-12-01 13:40:02 +00:00
.gitignore docs: various improvements to installation tutorial 2021-03-15 19:02:58 +01:00
configuration.nix examples: add neutrino backend example for lnd 2025-12-24 17:38:21 +01:00
deploy-container-minimal.sh test: remove clightning TODO-EXTERNAL requiring to disable offers 2024-12-01 13:40:02 +00:00
deploy-container.sh test: remove clightning TODO-EXTERNAL requiring to disable offers 2024-12-01 13:40:02 +00:00
deploy-krops.sh examples: fix call to start-bash-session.sh 2024-07-20 22:41:18 +02:00
deploy-qemu-vm.sh test: remove clightning TODO-EXTERNAL requiring to disable offers 2024-12-01 13:40:02 +00:00
importable-configuration.nix examples: add importable-configuration.nix 2021-09-26 22:34:39 +02:00
krops-vm-configuration.nix test: remove clightning TODO-EXTERNAL requiring to disable offers 2024-12-01 13:40:02 +00:00
nix-bitcoin-release.nix Add fetch-release script 2020-04-08 07:01:35 +00:00
README.md examples: add persistent container example 2024-02-25 23:00:25 +01:00
shell.nix examples/shell.nix: Add shell version variable 2021-09-15 12:22:10 +02:00
start-bash-session.sh shellcheck: fix lint of scripts in tests 2022-08-28 18:25:37 +02:00

Examples

The easiest way to try out nix-bitcoin is to use one of the provided examples.

Flakes-based quick start

If you use a Flakes-enabled version of Nix, run the following command to start a minimal nix-bitcoin QEMU VM:

nix run github:fort-nix/nix-bitcoin/release

The VM (defined in flake.nix) runs in the terminal and has bitcoind and clightning installed.
It leaves no traces (outside of /nix/store) on the host system.

More examples

Clone this repo and enter the examples shell:

git clone https://github.com/fort-nix/nix-bitcoin
cd nix-bitcoin/examples/
nix-shell

The following example scripts set up a nix-bitcoin node according to ./configuration.nix and then shut down immediately. They leave no traces (outside of /nix/store) on the host system.
By default, ./configuration.nix enables bitcoind and clightning.

Run the examples with option --interactive or -i to start a shell for interacting with the node:

./deploy-qemu-vm.sh -i

Tests

The nix-bitcoin test suite is also useful for exploring features.

Real-world example

Check the server repo for https://nixbitcoin.org to see the configuration of a Flakes-based nix-bitcoin node that's used in production.

The commands in shell.nix allow you to locally run the node in a VM or container.

Flakes

Flakes make it easy to include nix-bitcoin in an existing NixOS config. The flakes example shows how to use nix-bitcoin as an input to a system flake.

Persistent container with Flakes

The persistent container example shows how to run a Flake-based node in a container.
Requires: A systemd-based Linux distro and root privileges.

Extending nix-bitcoin with Flakes

The mempool extension flake shows how to define new pkgs and modules in a Flake.
Since mempool is now a core nix-bitcoin module, this Flake just serves as an example.