Skip to content

Commit a6acb44

Browse files
committed
feat: 'devnet' generates a script for writing Mithril era marker on chain
1 parent dfb4f63 commit a6acb44

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed

mithril-test-lab/mithril-devnet/devnet-mkfiles.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ SCRIPT_DIRECTORY=$(dirname $0)
2525
# Generate the pools scripts
2626
. ${SCRIPT_DIRECTORY}/mkfiles/mkfiles-pools.sh
2727

28+
# Generate the Mithril era scripts
29+
. ${SCRIPT_DIRECTORY}/mkfiles/mkfiles-mithril.sh
30+
2831
# Generate the query scripts
2932
. $SCRIPT_DIRECTORY/mkfiles/mkfiles-query.sh
3033

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
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

Comments
 (0)