(define (make-dir-parents dir-path) (unless (access? dir-path F_OK) (make-dir-parents (dirname dir-path)) (mkdir dir-path))) (let ((config-dir (string-append (getenv "HOME") "/.guix-profile/etc/conf/cardano/")) (db-dir (string-append (getenv "HOME") "/test-cardano/purple/"))) (for-each make-dir-parents (list db-dir (string-append db-dir "log") (string-append db-dir "wallet"))) (register-services (make #:docstring "Alonzo Purple test network" #:provides '(alonzo-purple-node) #:start (make-forkexec-constructor (list "cardano-node" "run" "--database-path" db-dir "--socket-path" (string-append db-dir "socket") "--port" "3005" "--config" (string-append config-dir "alonzo-purple-config.json") "--topology" (string-append config-dir "alonzo-purple-topology.json")) #:log-file (string-append db-dir "log/alonzo.log") ) #:stop (make-kill-destructor) #:respawn? #t)) (register-services (make #:docstring "Alonzo Purple wallet" #:provides '(alonzo-wallet) #:start (make-forkexec-constructor (list (string-append (getenv "HOME") "/.cabal/bin/cardano-wallet") "serve" "--node-socket" (string-append db-dir "socket") "--database" (string-append db-dir "wallet") "--token-metadata-server" "https://metadata.cardano-testnet.iohkdev.io" "--testnet" (string-append config-dir "alonzo-purple-byron-genesis.json")) #:log-file (string-append db-dir "log/alonzo-wallet.log")) #:stop (make-kill-destructor) #:requires '(alonzo-purple-node))))