(use-modules (ice-9 popen) (ice-9 rdelim)) (define (make-dir-parents dir-path) (unless (access? dir-path F_OK) (make-dir-parents (dirname dir-path)) (mkdir dir-path))) (define (bitcoin-rpc-pass) (let* ((port (open-input-pipe "pass show Development/bitcoin/testnet/localhost")) (result (read-line port))) (close-pipe port) result)) ;; TESTNET ;; Requires the running node which is now under systemd (register-services (make #:docstring "Bitcoin testnet index" #:provides '(index-testnet) #:start (make-forkexec-constructor (list "/home/titan/dev/bitcoin/rust-bitcoin-indexer/target/release/bitcoin-indexer") #:environment-variables `("DATABASE_URL=postgres://titan@%2Frun%2Fpostgresql/btc-testnet-idx" ,(format #f "NODE_RPC_URL=http://crazy:~a@127.0.0.1:18332/" (bitcoin-rpc-pass)) "RUST_LOG=bitcoin_indexer=info") #:log-file "/tmp/btc-indexer.log") #:stop (make-kill-destructor 2) ;; 2 is SIGINT - interupt process stream, ctrl-C #:respawn? #t)) (register-services (make #:docstring "Bitcoin testnet lnd lightning" #:provides '(lnd-testnet) #:start (make-forkexec-constructor (list "/home/titan/.local/bin/lnd" "--lnddir=/run/media/titan/ext_backup/personal/bitcoin/lnd/" "--noseedbackup")) #:stop (make-kill-destructor 2) ;; 2 is SIGINT - interupt process stream, ctrl-C #:respawn? #t)) ;; ssh (register-services (make #:docstring "Sarah ssh tunnel" #:provides '(sarah-ssh) #:start (make-forkexec-constructor (list "ssh" "-NTv" "-o" "ServerAliveInterval=60" "-o" "ExitOnForwardFailure=yes" "-o" "StreamLocalBindUnlink=yes" "-L" "8335:localhost:8332" ;; btcm "-L" "18335:localhost:18332" ;; btct "-L" "8481:localhost:8480" ;; LNDT "orchest@sarah") #:log-file "/tmp/sarah-ssh.log" #:environment-variables '("SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh")) #:stop (make-kill-destructor 2) ;; 2 is SIGINT - interupt process stream, ctrl-C #:respawn? #t))