A collection of Nix packages and NixOS modules for easily installing full-featured Bitcoin nodes with an emphasis on security.
Go to file
2018-12-10 22:54:24 +00:00
modules Add spark-wallet 2018-12-10 16:34:41 +00:00
pkgs Fix minor bugs 2018-12-10 22:54:24 +00:00
.gitignore Add rpc user and password as secrets 2018-11-22 23:51:16 +00:00
configuration.nix Add spark-wallet 2018-12-10 16:34:41 +00:00
generate_secrets.sh Fix minor bugs 2018-12-10 22:54:24 +00:00
network-vbox.nix Move deployment keys into network.nix 2018-12-06 11:33:13 +00:00
network.nix Add spark-wallet 2018-12-10 16:34:41 +00:00
README.md Add spark-wallet 2018-12-10 16:34:41 +00:00

nix-bitcoin

Nix packages and nixos modules including profiles to easily install featureful Bitcoin nodes. Work in progress.

Profiles

nixbitcoin.nix provides the two profiles "minimal" and "all":

  • minimal
    • bitcoind (pruned) with outbound connections through Tor and inbound connections through a hidden service
    • clightning with outbound connections through Tor, not listening
    • includes "nodeinfo" script which prints basic info about the node
    • adds non-root user "operator" which has access to bitcoin-cli and lightning-cli
  • all
    • adds clightning hidden service
    • liquid-daemon
    • lightning charge
    • nanopos
    • adds an index page using nginx to display node information and link to nanopos
    • spark-wallet
      • Notes: run nodeinfo to get its onion address and systemctl status spark-wallet to get the access key. When entering the onion address on the Android app don't forgot to prepend "http://"

The data directories can be found in /var/lib.

Installing profiles

The easiest way is to use the provided network.nix and configuration.nix with nixops. Once you've set up nixops first run ./generate_secrets.sh then continue with the deployment using nixops.

At the moment this relies on using the unstable nixpkgs channel. The "all" profile requires 15 GB of disk space and 2GB of memory.