1
+ # Create Mithril era keypair and address
2
+ ADDR=mithril-era
3
+
4
+ # # Payment address keys
5
+ ./cardano-cli address key-gen \
6
+ --verification-key-file addresses/${ADDR} .vkey \
7
+ --signing-key-file addresses/${ADDR} .skey
8
+
9
+ # # Payment addresses
10
+ ./cardano-cli address build \
11
+ --payment-verification-key-file addresses/${ADDR} .vkey \
12
+ --testnet-magic ${NETWORK_MAGIC} \
13
+ --out-file addresses/${ADDR} .addr
14
+
15
+ # # Send funds to Mithril era address
16
+ N=1
17
+ SCRIPT_TX_VALUE=2000000
18
+ AMOUNT_TRANSFERRED=$(( SCRIPT_TX_VALUE * 10 ))
19
+ cat >> era-mithril.sh << EOF
20
+ #!/usr/bin/env bash
21
+ set -e
22
+
23
+ EOF
24
+
25
+ cat >> era-mithril.sh << EOF
26
+ # Send funds to Mithril era address
27
+ ## Get the UTxO of utxo${N}
28
+ TX_IN=\$ (CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli query utxo \\
29
+ --testnet-magic ${NETWORK_MAGIC} --address \$ (cat addresses/utxo${N} .addr) --out-file /dev/stdout \\
30
+ | jq -r 'to_entries | [last] | .[0].key')
31
+
32
+ ## Build the transaction
33
+ CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli transaction build \\
34
+ --tx-in \$ {TX_IN} \\
35
+ --tx-out \$ (cat addresses/${ADDR} .addr)+${AMOUNT_TRANSFERRED} \\
36
+ --change-address \$ (cat addresses/utxo${N} .addr) \\
37
+ --testnet-magic ${NETWORK_MAGIC} \\
38
+ --invalid-hereafter 100000 \\
39
+ --out-file node-pool${N} /tx/tx${N} -era-funds.txbody
40
+
41
+ ## Sign the transaction
42
+ CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli transaction sign \\
43
+ --signing-key-file addresses/utxo${N} .skey \\
44
+ --testnet-magic ${NETWORK_MAGIC} \\
45
+ --tx-body-file node-pool${N} /tx/tx${N} -era-funds.txbody \\
46
+ --out-file node-pool${N} /tx/tx${N} -era-funds.tx
47
+
48
+ ## Submit the transaction
49
+ CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli transaction submit \\
50
+ --tx-file node-pool${N} /tx/tx${N} -era-funds.tx \\
51
+ --testnet-magic ${NETWORK_MAGIC}
52
+
53
+ ## Wait for the transaction to be confirmed
54
+ sleep 1
55
+
56
+ # Write the era datum on chain
57
+ TX_IN=\$ (CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli query utxo \\
58
+ --testnet-magic ${NETWORK_MAGIC} --address \$ (cat addresses/${ADDR} .addr) --out-file /dev/stdout \\
59
+ | jq -r 'to_entries | [last] | .[0].key')
60
+
61
+ ## Build the transaction
62
+ CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli transaction build \\
63
+ --tx-in \$ {TX_IN} \\
64
+ --tx-out \$ (cat addresses/${ADDR} .addr)+${SCRIPT_TX_VALUE} \\
65
+ --tx-out-inline-datum-file \$ {DATUM_FILE} \\
66
+ --change-address \$ (cat addresses/${ADDR} .addr) \\
67
+ --testnet-magic ${NETWORK_MAGIC} \\
68
+ --invalid-hereafter 100000 \\
69
+ --out-file node-pool${N} /tx/tx${N} -era-datum.txbody
70
+
71
+ ## Sign the transaction
72
+ CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli transaction sign \\
73
+ --signing-key-file addresses/${ADDR} .skey \\
74
+ --testnet-magic ${NETWORK_MAGIC} \\
75
+ --tx-body-file node-pool${N} /tx/tx${N} -era-datum.txbody \\
76
+ --out-file node-pool${N} /tx/tx${N} -era-datum.tx
77
+
78
+ ## Submit the transaction
79
+ CARDANO_NODE_SOCKET_PATH=node-pool${N} /ipc/node.sock ./cardano-cli transaction submit \\
80
+ --tx-file node-pool${N} /tx/tx${N} -era-datum.tx \\
81
+ --testnet-magic ${NETWORK_MAGIC}
82
+
83
+ EOF
84
+
85
+ chmod u+x era-mithril.sh
0 commit comments