nix-bitcoin

A collection of Nix packages and NixOS modules for easily installing full-featured Bitcoin nodes with an emphasis on security.

MIT License

Stars
494
Committers
30

Bot releases are hidden (Show)

nix-bitcoin - nix-bitcoin-0.0.13

Published by jonasnick about 4 years ago

Includes clightning update to v0.9

#227 Install.md docs updates (@jurraca)
#222 Add nix-bitcoin.lib for utility functions and types (@jonasnick)
#225 Fix process info restriction (@erikarvstedt)
#226 Improve netns-isolation and tests (@erikarvstedt)
#228 Update nixpkgs (@jonasnick)

nix-bitcoin - nix-bitcoin-0.0.12

Published by jonasnick about 4 years ago

#215 Improve abstraction in test scenarios (@jonasnick)
#217 Concurrent LN (@nixbitcoin)
#218 Fix typos (@practicalswift)
#200 backups: add module (@nixbitcoin)

c-lightning bind-addr now only refers to the ip address. To set the port use bindport.

nix-bitcoin - nix-bitcoin-0.0.11

Published by jonasnick about 4 years ago

#213 Fix systemd leak (@nixbitcoin)
#202 RPC Whitelist (@nixbitcoin)
#209 Lightning loop (@nixbitcoin)

You can enable loop with your configuration.nix:

  ### lightning-loop
  # Enable this module to use lightninglab's non-custodial off/on chain bridge.
  # loopd (lightning-loop daemon) will be started automatically. Users can
  # interact with off/on chain bridge using `loop in` and `loop out`.
  # services.lightning-loop.enable = true;
nix-bitcoin - nix-bitcoin-0.0.10

Published by jonasnick over 4 years ago

#187 Network Namespaces (@nixbitcoin)
#210 bitcoind: postStart wait until bitcoind can receive rpc calls (@nixbitcoin)
#203 Remove electrs tls (@nixbitcoin)

There is a new experimental network namespace isolation feature that can be enabled in the configuration.nix.

Warning: This release breaks the previous LND Tor v3 hidden service instantiation. You may need to manually migrate your LND hidden service if you don't want it regenerated.

nix-bitcoin - nix-bitcoin-0.0.9

Published by jonasnick over 4 years ago

#208 Missing folder added to path in example (@CandleHater)
#201 Update: nixpkgs and elementsd (@nixbitcoin)

nix-bitcoin - nix-bitcoin-0.0.8

Published by jonasnick over 4 years ago

#188 lnd: add option for configuring REST port (@mmilata)
#189 Update configuration.nix #189 (@nixbitcoin)
#190 services: use 'port' option type (@erikarvstedt)
#199 banlist: update to newest version (@nixbitcoin)
#204 electrs: 0.8.3 -> 0.8.5 (@nixbitcoin)
#205 Update jonasnick's gpg key (@jonasnick)

nix-bitcoin - nix-bitcoin-0.0.7

Published by jonasnick over 4 years ago

#174 #171 #178

nix-bitcoin - nix-bitcoin-0.0.6

Published by jonasnick over 4 years ago

#157 #169 #176

nix-bitcoin - nix-bitcoin-0.0.5

Published by jonasnick over 4 years ago

#173

nix-bitcoin - nix-bitcoin-0.0.4

Published by jonasnick over 4 years ago

#166, #156, #159, #157, #158, #160, #163, #165

nix-bitcoin - nix-bitcoin-0.0.3

Published by jonasnick over 4 years ago

nix-bitcoin-0.0.3

nix-bitcoin - nix-bitcoin-0.0.2

Published by jonasnick over 4 years ago

nix-bitcoin - nix-bitcoin-0.0.1

Published by jonasnick over 4 years ago

This is the first release of nix-bitcoin. It changes the way how nix-bitcoin is supposed to be used for deployments. The old way of keeping up with nix-bitcoin updates - merging upstream changes into the own deployment via git pull - is now deprecated. This means that nix-bitcoin is from now on updated through releases, which can be fetched with the fetch-release command in the nix-shell (see the update doc).

The main difference is that in order to deploy nix-bitcoin you are not supposed to fork and modify this repository anymore.
Instead, you have your own repository with a configuration.nix and import a release of nix-bitcoin. See the examples/ directory and in particular the shell.nix for how this works now and PR #136 for the actual changes that led to this release.

Migration guide

Note that since nix-bitcoin can be used in various ways. There's no single migration guide that can cover everything. This migration guide covers a installation on NixOS that is deployed with NixOps.
In particular, have a look at examples/shell.nix, the changes to installation instructions, as well as the new update process (PR #136).
If you have further questions I'm happy to assist in #nix-bitcoin on freenode.

  1. Update nix-bitcoin to latest commit before the release (b9fbb144cae9aa8c8d7ebe143ac02c3b1e15651d) and make sure your version of nix-bitcoin does not change existing files but configuration.nix.
  2. Create a new directory for you deployment
mkdir my-nix-bitcoin
mkdir my-nix-bitcoin/nixops
cp nix-bitcoin/{configuration.nix,hardware-configuration.nix} ./my-nix-bitcoin
cp nix-bitcoin/network/network-nixos.nix ./my-nix-bitcoin/nixops/node-nixos.nix
  1. Now pull nix-bitcoin, fetch the release, and copy the new nixops node file and shell.nix.
cd nix-bitcoin
git pull
cd examples
nix-shell
fetch-release > ../../my-nix-bitcoin/nix-bitcoin-release.nix
cp nixops/node.nix ../../my-nix-bitcoin/nixops/node.nix
cp shell.nix ../../my-nix-bitcoin/
  1. Go into your new deployment directory my-nix-bitcoin, open configuration.nix and replace ./modules/nix-bitcoin.nix with <nix-bitcoin/modules/nix-bitcoin.nix> in the imports array.
  2. Enter the nix-shell and modify your deployment to allow nixops to find your new deployment files
nix-shell
nixops modify -d bitcoin-node nixops/node.nix nixops/node-nixos.nix
  1. Run nixops deploy
  2. You can create a new git repo in my-nix-bitcoin (add secrets/ to .gitignore)