aboutsummaryrefslogtreecommitdiffstats
path: root/config/shepherd/init.d/cardano.scm
blob: 86cff606ba61dc1f61e4ce9ccace118c62fcfc29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
(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 <service>
     #: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 <service>
     #: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))))