Fixed bitcoin server & modules

This commit is contained in:
Bryan Ramos 2024-11-05 06:48:56 -05:00
parent 6d9d2fe824
commit 290ed823c1
Signed by: bryan
GPG key ID: 6ABDCD144D6643C8
5 changed files with 48 additions and 44 deletions

View file

@ -1,4 +1,3 @@
''
server=1
mempoolfullrbf=1
@ -18,4 +17,3 @@ listen=1
listenonion=1
torcontrol=127.0.0.1:9051
torenablecircuit=1
''

View file

@ -5,11 +5,14 @@ let
cfg = config.modules.system.bitcoin;
home = "/var/lib/bitcoind";
conf = pkgs.writeText "bitcoin.conf" (import ./config);
bitcoinConf = pkgs.writeTextFile {
name = "bitcoin.conf";
text = builtins.readFile ./config/bitcoin.conf;
};
in
{ options.modules.system.bitcoin = { enable = mkEnableOption "system.bitcoin"; };
{ options.modules.system.bitcoin = { enable = mkEnableOption "Bitcoin Server"; };
imports = [ ./modules ];
config = mkIf cfg.enable {
nixpkgs.overlays = [
@ -38,7 +41,6 @@ in
"bitcoin" = {
members = [
"btc"
"electrs"
];
};
};
@ -55,7 +57,7 @@ in
enable = true;
user = "btc";
group = "bitcoin";
configFile = conf;
configFile = bitcoinConf;
dataDir = home;
pidFile = "${home}/bitcoind.pid";
};

View file

@ -0,0 +1,14 @@
network = "bitcoin"
electrum_rpc_addr = "127.0.0.1:50001"
cookie-file = "/var/lib/bitcoind/.cookie"
db_dir = "/var/lib/electrs"
log_filters = "INFO"
timestamp = true
daemon-rpc-addr = "127.0.0.1:8332"
daemon-p2p-addr = "127.0.0.1:8333"
daemon-dir = "/var/lib/bitcoind"

View file

@ -1,20 +0,0 @@
let
daemonDir = "/var/lib/bitcoin";
in
''
network = "bitcoin"
electrum_rpc_addr = "127.0.0.1:50001"
cookie-file = "${daemonDir}/.cookie"
db_dir = "/var/lib/electrs"
log_filters = "INFO"
timestamp = true
daemon-rpc-addr = "127.0.0.1:8332"
daemon-p2p-addr = "127.0.0.1:8333"
daemon-dir = "${daemonDir}"
''

View file

@ -7,24 +7,27 @@ let
btc = config.modules.system.bitcoin;
conf = pkgs.writeText "config.toml" (import ./config);
electrsConfig = pkgs.writeTextFile {
name = "config.toml";
text = builtins.readFile ./config/config.toml;
};
in
{ options.modules.system.bitcoin.electrum = { enable = mkEnableOption "system.bitcoin.electrum"; };
config = mkIf cfg.enable {
#nixpkgs.overlays = [
# (final: prev: {
# electrs = prev.electrs.overrideAttrs (old: rec {
# version = "0.10.4";
# src = fetchFromGithub {
# rev = "${version}";
# hash = ''
# sha256-0xw2532nmaxx9bjdpnnby03b83wc9zs8bv1wdfgv9q1phccqbkz1
# '';
# };
# });
# })
#];
{ options.modules.system.bitcoin.electrum = { enable = mkEnableOption "Electrs Server"; };
config = mkIf (cfg.enable && btc.enable) {
nixpkgs.overlays = [
(final: prev: {
electrs = prev.electrs.overrideAttrs (old: rec {
version = "0.10.4";
src = pkgs.fetchFromGitHub {
owner = "romanz";
repo = "electrs";
rev = "${version}";
hash = "sha256-4c+FGYM34LSfazzshfRPjA+0BvDL2tvkSr2rasUognc=";
};
});
})
];
environment.systemPackages = with pkgs; [
electrs
@ -34,12 +37,19 @@ in
users = {
"electrs" = {
inherit home;
description = "electrs system user";
description = "Electrs system user";
isSystemUser = true;
group = "bitcoin";
createHome = true;
};
};
groups = {
"bitcoin" = {
members = mkAfter [
"electrs"
];
};
};
};
@ -47,7 +57,7 @@ in
description = "Electrs Bitcoin Indexer";
script = "${pkgs.electrs}/bin/electrs";
scriptArgs = "--conf=${conf}";
scriptArgs = "--conf=${electrsConfig}";
after = [
"bitcoind-btc.service"