@@ -42,6 +42,11 @@ CARDANO_PORT=${CARDANO_PORT:-3001}
42
42
CARDANO_RTS_OPTS=${CARDANO_RTS_OPTS:- -N2 -A64m -I0 -qg -qb --disable-delayed-os-memory-return}
43
43
CARDANO_SOCKET_PATH=${CARDANO_SOCKET_PATH:-/ opt/ cardano/ ipc/ socket}
44
44
CARDANO_TOPOLOGY=${CARDANO_TOPOLOGY:- ${CARDANO_CONFIG_BASE} / ${CARDANO_NETWORK} / topology.json}
45
+ # mithril
46
+ AGGREGATOR_ENDPOINT=${AGGREGATOR_ENDPOINT:- https:// aggregator.release-${CARDANO_NETWORK} .api.mithril.network/ aggregator}
47
+ GENESIS_VERIFICATION_KEY=${GENESIS_VERIFICATION_KEY:- $(<${CARDANO_CONFIG_BASE} / ${CARDANO_NETWORK} / genesis.vkey)}
48
+ SNAPSHOT_DIGEST=${SNAPSHOT_DIGEST:- latest}
49
+ RESTORE_SNAPSHOT=${RESTORE_SNAPSHOT:- true}
45
50
46
51
echo CARDANO_BIND_ADDR=${CARDANO_BIND_ADDR}
47
52
echo CARDANO_BLOCK_PRODUCER=${CARDANO_BLOCK_PRODUCER}
@@ -64,8 +69,37 @@ if [[ ${CARDANO_BLOCK_PRODUCER} == true ]]; then
64
69
echo CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE=${CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE}
65
70
fi
66
71
72
+ if [[ ${CARDANO_NETWORK} == preview ]]; then
73
+ if [[ ${RESTORE_SNAPSHOT} == true ]]; then
74
+ echo " Mithril not supported on preview... skipping"
75
+ fi
76
+ RESTORE_SNAPSHOT=false
77
+ fi
78
+
79
+ echo AGGREGATOR_ENDPOINT=${AGGREGATOR_ENDPOINT}
80
+ echo GENESIS_VERIFICATION_KEY=${GENESIS_VERIFICATION_KEY}
81
+ echo SNAPSHOT_DIGEST=${SNAPSHOT_DIGEST}
82
+ echo RESTORE_SNAPSHOT=${RESTORE_SNAPSHOT}
83
+
67
84
mkdir -p $( dirname ${CARDANO_SOCKET_PATH} )
68
85
86
+ # Mithril
87
+ if ! test -e ${CARDANO_DATABASE_PATH} /protocolMagicId; then
88
+ echo " Detected empty ${CARDANO_DATABASE_PATH} "
89
+ if [[ ${RESTORE_SNAPSHOT} == true ]]; then
90
+ mkdir -p ${CARDANO_DATABASE_PATH}
91
+ cd $( dirname ${CARDANO_DATABASE_PATH} )
92
+ export AGGREGATOR_ENDPOINT GENESIS_VERIFICATION_KEY SNAPSHOT_DIGEST
93
+ echo " Starting: /usr/local/bin/mithril-client snapshot download ${SNAPSHOT_DIGEST} "
94
+ mithril-client snapshot download ${SNAPSHOT_DIGEST}
95
+ if [[ $( cd ${CARDANO_DATABASE_PATH} ; pwd -P) != $( pwd -P) /db ]]; then
96
+ mv -f db/* ${CARDANO_DATABASE_PATH} /
97
+ fi
98
+ fi
99
+ elif [[ ${RESTORE_SNAPSHOT} == true ]]; then
100
+ echo " Detected populated ${CARDANO_DATABASE_PATH} ... skipping restore"
101
+ fi
102
+
69
103
if [[ ${CARDANO_BLOCK_PRODUCER} == true ]]; then
70
104
effopts=(--config ${CARDANO_CONFIG} \
71
105
--database-path ${CARDANO_DATABASE_PATH} \
0 commit comments