@@ -39,6 +39,9 @@ BITCOIN_INSTALL=ON
39
39
BISQ_INSTALL=ON
40
40
ELEMENTS_INSTALL=ON
41
41
42
+ # install UNFURL
43
+ UNFURL_INSTALL=ON
44
+
42
45
# configure 4 network instances
43
46
BITCOIN_MAINNET_ENABLE=ON
44
47
BITCOIN_MAINNET_MINFEE_ENABLE=ON
@@ -48,6 +51,9 @@ BISQ_MAINNET_ENABLE=ON
48
51
ELEMENTS_LIQUID_ENABLE=ON
49
52
ELEMENTS_LIQUIDTESTNET_ENABLE=ON
50
53
54
+ # install Electrs
55
+ ELECTRS_INSTALL=ON
56
+
51
57
# enable lightmode and disable compaction to fit on 1TB SSD drive
52
58
BITCOIN_ELECTRS_LIGHT_MODE=ON
53
59
BITCOIN_ELECTRS_COMPACTION=OFF
@@ -278,6 +284,12 @@ BISQ_GROUP=bisq
278
284
# bisq home folder, needs about 1GB
279
285
BISQ_HOME=/bisq
280
286
287
+ # Unfurl user/group
288
+ UNFURL_USER=unfurl
289
+ UNFURL_GROUP=unfurl
290
+ # Unfurl home folder
291
+ UNFURL_HOME=/unfurl
292
+
281
293
# liquid user/group
282
294
ELEMENTS_USER=elements
283
295
ELEMENTS_GROUP=elements
@@ -315,6 +327,13 @@ BISQ_REPO_BRANCH=master
315
327
BISQ_LATEST_RELEASE=master
316
328
echo -n ' .'
317
329
330
+ UNFURL_REPO_URL=https://github.com/mempool/mempool
331
+ UNFURL_REPO_NAME=unfurl
332
+ UNFURL_REPO_BRANCH=master
333
+ # UNFURL_LATEST_RELEASE=$(curl -s https://api.github.com/repos/mempool/mempool/releases/latest|grep tag_name|head -1|cut -d '"' -f4)
334
+ UNFURL_LATEST_RELEASE=master
335
+ echo -n ' .'
336
+
318
337
ELEMENTS_REPO_URL=https://github.com/ElementsProject/elements
319
338
ELEMENTS_REPO_NAME=elements
320
339
ELEMENTS_REPO_BRANCH=master
@@ -351,6 +370,10 @@ DEBIAN_PKG+=(libboost-system-dev libboost-filesystem-dev libboost-chrono-dev lib
351
370
DEBIAN_PKG+=(nodejs npm mariadb-server nginx-core python3-certbot-nginx rsync ufw)
352
371
DEBIAN_PKG+=(geoipupdate)
353
372
373
+ DEBIAN_UNFURL_PKG=()
374
+ DEBIAN_UNFURL_PKG+=(cups chromium-bsu libatk1.0 libatk-bridge2.0 libxkbcommon-dev libxcomposite-dev)
375
+ DEBIAN_UNFURL_PKG+=(libxdamage-dev libxrandr-dev libgbm-dev libpango1.0-dev libasound-dev)
376
+
354
377
# packages needed for mempool ecosystem
355
378
FREEBSD_PKG=()
356
379
FREEBSD_PKG+=(zsh sudo git screen curl wget calc neovim)
@@ -712,6 +735,7 @@ Signet:Enable Bitcoin Signet:ON
712
735
Liquid:Enable Elements Liquid:ON
713
736
Liquidtestnet:Enable Elements Liquidtestnet:ON
714
737
Bisq:Enable Bisq:ON
738
+ Unfurl:Enable Unfurl:ON
715
739
EOF
716
740
717
741
cat $input | sed -e ' s/^/"/' -e ' s/:/" "/g' -e ' s/$/"/' > $output
@@ -785,6 +809,12 @@ else
785
809
ELEMENTS_INSTALL=OFF
786
810
fi
787
811
812
+ if [ " ${BITCOIN_INSTALL} " = ON -o " ${ELEMENTS_INSTALL} " = ON ]; then
813
+ ELECTRS_INSTALL=ON
814
+ else
815
+ ELECTRS_INSTALL=OFF
816
+ fi
817
+
788
818
if grep Bisq $tempfile > /dev/null 2>&1 ; then
789
819
BISQ_INSTALL=ON
790
820
BISQ_MAINNET_ENABLE=ON
@@ -793,6 +823,12 @@ else
793
823
BISQ_MAINNET_ENABLE=OFF
794
824
fi
795
825
826
+ if grep Unfurl $tempfile > /dev/null 2>&1 ; then
827
+ UNFURL_INSTALL=ON
828
+ else
829
+ UNFURL_INSTALL=OFF
830
+ fi
831
+
796
832
# #################
797
833
# # dialog part 2 #
798
834
# #################
@@ -1074,52 +1110,55 @@ fi
1074
1110
# Bitcoin -> Electrs installation #
1075
1111
# ##################################
1076
1112
1077
- echo " [*] Creating Bitcoin Electrs data folder"
1078
- osSudo " ${ROOT_USER} " mkdir -p " ${BITCOIN_ELECTRS_HOME} "
1079
- osSudo " ${ROOT_USER} " chown -R " ${BITCOIN_USER} :${BITCOIN_GROUP} " " ${BITCOIN_ELECTRS_HOME} "
1080
- if [ " ${BITCOIN_MAINNET_ENABLE} " = ON ]; then
1081
- osSudo " ${ROOT_USER} " chown -R " ${BITCOIN_USER} :${BITCOIN_GROUP} " " ${ELECTRS_MAINNET_DATA} "
1082
- fi
1083
- if [ " ${BITCOIN_TESTNET_ENABLE} " = ON ]; then
1084
- osSudo " ${ROOT_USER} " chown -R " ${BITCOIN_USER} :${BITCOIN_GROUP} " " ${ELECTRS_TESTNET_DATA} "
1085
- fi
1086
- if [ " ${BITCOIN_SIGNET_ENABLE} " = ON ]; then
1087
- osSudo " ${ROOT_USER} " chown -R " ${BITCOIN_USER} :${BITCOIN_GROUP} " " ${ELECTRS_SIGNET_DATA} "
1088
- fi
1113
+ if [ " ${ELECTRS_INSTALL} " = ON ]; then
1089
1114
1090
- echo " [*] Cloning Bitcoin Electrs repo from ${BITCOIN_ELECTRS_REPO_URL} "
1091
- osSudo " ${BITCOIN_USER} " git config --global advice.detachedHead false
1092
- osSudo " ${BITCOIN_USER} " git clone --branch " ${BITCOIN_ELECTRS_REPO_BRANCH} " " ${BITCOIN_ELECTRS_REPO_URL} " " ${BITCOIN_HOME} /${BITCOIN_ELECTRS_REPO_NAME} "
1115
+ echo " [*] Creating Bitcoin Electrs data folder"
1116
+ osSudo " ${ROOT_USER} " mkdir -p " ${BITCOIN_ELECTRS_HOME} "
1117
+ osSudo " ${ROOT_USER} " chown -R " ${BITCOIN_USER} :${BITCOIN_GROUP} " " ${BITCOIN_ELECTRS_HOME} "
1118
+ if [ " ${BITCOIN_MAINNET_ENABLE} " = ON ]; then
1119
+ osSudo " ${ROOT_USER} " chown -R " ${BITCOIN_USER} :${BITCOIN_GROUP} " " ${ELECTRS_MAINNET_DATA} "
1120
+ fi
1121
+ if [ " ${BITCOIN_TESTNET_ENABLE} " = ON ]; then
1122
+ osSudo " ${ROOT_USER} " chown -R " ${BITCOIN_USER} :${BITCOIN_GROUP} " " ${ELECTRS_TESTNET_DATA} "
1123
+ fi
1124
+ if [ " ${BITCOIN_SIGNET_ENABLE} " = ON ]; then
1125
+ osSudo " ${ROOT_USER} " chown -R " ${BITCOIN_USER} :${BITCOIN_GROUP} " " ${ELECTRS_SIGNET_DATA} "
1126
+ fi
1093
1127
1094
- echo " [*] Checking out Electrs ${BITCOIN_ELECTRS_LATEST_RELEASE} "
1095
- osSudo " ${BITCOIN_USER} " sh -c " cd ${BITCOIN_HOME} /${BITCOIN_ELECTRS_REPO_NAME} && git checkout ${BITCOIN_ELECTRS_LATEST_RELEASE} "
1128
+ echo " [*] Cloning Bitcoin Electrs repo from ${BITCOIN_ELECTRS_REPO_URL} "
1129
+ osSudo " ${BITCOIN_USER} " git config --global advice.detachedHead false
1130
+ osSudo " ${BITCOIN_USER} " git clone --branch " ${BITCOIN_ELECTRS_REPO_BRANCH} " " ${BITCOIN_ELECTRS_REPO_URL} " " ${BITCOIN_HOME} /${BITCOIN_ELECTRS_REPO_NAME} "
1096
1131
1097
- case $OS in
1098
- FreeBSD)
1099
- echo " [*] Installing Rust from pkg install"
1100
- ;;
1101
- Debian)
1102
- echo " [*] Installing Rust from rustup.rs"
1103
- osSudo " ${BITCOIN_USER} " sh -c " cd ${BITCOIN_ELECTRS_HOME} && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"
1104
- ;;
1105
- esac
1132
+ echo " [*] Checking out Electrs ${BITCOIN_ELECTRS_LATEST_RELEASE} "
1133
+ osSudo " ${BITCOIN_USER} " sh -c " cd ${BITCOIN_HOME} /${BITCOIN_ELECTRS_REPO_NAME} && git checkout ${BITCOIN_ELECTRS_LATEST_RELEASE} "
1134
+
1135
+ case $OS in
1136
+ FreeBSD)
1137
+ echo " [*] Installing Rust from pkg install"
1138
+ ;;
1139
+ Debian)
1140
+ echo " [*] Installing Rust from rustup.rs"
1141
+ osSudo " ${BITCOIN_USER} " sh -c " cd ${BITCOIN_ELECTRS_HOME} && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"
1142
+ ;;
1143
+ esac
1106
1144
1107
- echo " [*] Building Bitcoin Electrs release binary"
1108
- osSudo " ${BITCOIN_USER} " sh -c " cd ${BITCOIN_ELECTRS_HOME} && cargo run --release --bin electrs -- --version" || true
1145
+ echo " [*] Building Bitcoin Electrs release binary"
1146
+ osSudo " ${BITCOIN_USER} " sh -c " cd ${BITCOIN_ELECTRS_HOME} && cargo run --release --bin electrs -- --version" || true
1109
1147
1110
- case $OS in
1111
- FreeBSD)
1112
- echo " [*] Patching Bitcoin Electrs code for FreeBSD"
1113
- osSudo " ${BITCOIN_USER} " sh -c " cd \" ${BITCOIN_HOME} /.cargo/registry/src/github.com-1ecc6299db9ec823/sysconf-0.3.4\" && patch -p1 < \" ${MEMPOOL_HOME} /${MEMPOOL_REPO_NAME} /production/freebsd/sysconf.patch\" "
1114
- osSudo " ${BITCOIN_USER} " sh -c " cd \" ${BITCOIN_ELECTRS_HOME} /src/new_index/\" && sed -i.bak -e s/Snappy/None/ db.rs && rm db.rs.bak"
1115
- osSudo " ${BITCOIN_USER} " sh -c " cd \" ${BITCOIN_ELECTRS_HOME} /src/bin/\" && sed -i.bak -e 's/from_secs(5)/from_secs(1)/' electrs.rs && rm electrs.rs.bak"
1116
- ;;
1117
- Debian)
1118
- ;;
1119
- esac
1148
+ case $OS in
1149
+ FreeBSD)
1150
+ echo " [*] Patching Bitcoin Electrs code for FreeBSD"
1151
+ osSudo " ${BITCOIN_USER} " sh -c " cd \" ${BITCOIN_HOME} /.cargo/registry/src/github.com-1ecc6299db9ec823/sysconf-0.3.4\" && patch -p1 < \" ${MEMPOOL_HOME} /${MEMPOOL_REPO_NAME} /production/freebsd/sysconf.patch\" "
1152
+ osSudo " ${BITCOIN_USER} " sh -c " cd \" ${BITCOIN_ELECTRS_HOME} /src/new_index/\" && sed -i.bak -e s/Snappy/None/ db.rs && rm db.rs.bak"
1153
+ osSudo " ${BITCOIN_USER} " sh -c " cd \" ${BITCOIN_ELECTRS_HOME} /src/bin/\" && sed -i.bak -e 's/from_secs(5)/from_secs(1)/' electrs.rs && rm electrs.rs.bak"
1154
+ ;;
1155
+ Debian)
1156
+ ;;
1157
+ esac
1120
1158
1121
- echo " [*] Building Bitcoin Electrs release binary"
1122
- osSudo " ${BITCOIN_USER} " sh -c " cd ${BITCOIN_ELECTRS_HOME} && cargo run --release --bin electrs -- --version"
1159
+ echo " [*] Building Bitcoin Electrs release binary"
1160
+ osSudo " ${BITCOIN_USER} " sh -c " cd ${BITCOIN_ELECTRS_HOME} && cargo run --release --bin electrs -- --version"
1161
+ fi
1123
1162
1124
1163
# #################################
1125
1164
# Liquid -> Electrs installation #
@@ -1246,6 +1285,50 @@ if [ "${BISQ_INSTALL}" = ON ];then
1246
1285
esac
1247
1286
fi
1248
1287
1288
+ # ######################
1289
+ # Unfurl installation #
1290
+ # ######################
1291
+
1292
+ if [ " ${UNFURL_INSTALL} " = ON ]; then
1293
+
1294
+ echo " [*] Creating Unfurl user"
1295
+ osGroupCreate " ${UNFURL_GROUP} "
1296
+ osUserCreate " ${UNFURL_USER} " " ${UNFURL_HOME} " " ${UNFURL_GROUP} "
1297
+ osSudo " ${ROOT_USER} " chsh -s ` which zsh` " ${UNFURL_USER} "
1298
+
1299
+ echo " [*] Creating Unfurl folder"
1300
+ osSudo " ${ROOT_USER} " mkdir -p " ${UNFURL_HOME} "
1301
+ osSudo " ${ROOT_USER} " chown -R " ${UNFURL_USER} :${UNFURL_GROUP} " " ${UNFURL_HOME} "
1302
+ osSudo " ${UNFURL_USER} " touch " ${UNFURL_HOME} /.zshrc"
1303
+
1304
+ echo " [*] Insalling Unfurl source"
1305
+ case $OS in
1306
+
1307
+ FreeBSD)
1308
+ echo " [*] FIXME: Unfurl must be installed manually on FreeBSD"
1309
+ ;;
1310
+
1311
+ Debian)
1312
+ echo " [*] Installing packages for Unfurl"
1313
+ osPackageInstall ${DEBIAN_UNFURL_PKG[@]}
1314
+ echo " [*] Cloning Mempool (Unfurl) repo from ${UNFURL_REPO_URL} "
1315
+ osSudo " ${UNFURL_USER} " git config --global pull.rebase true
1316
+ osSudo " ${UNFURL_USER} " git config --global advice.detachedHead false
1317
+ osSudo " ${UNFURL_USER} " git clone --branch " ${UNFURL_REPO_BRANCH} " " ${UNFURL_REPO_URL} " " ${UNFURL_HOME} /${UNFURL_REPO_NAME} "
1318
+ osSudo " ${UNFURL_USER} " ln -s unfurl/production/unfurl-build upgrade
1319
+ osSudo " ${UNFURL_USER} " ln -s unfurl/production/unfurl-kill stop
1320
+ osSudo " ${UNFURL_USER} " ln -s unfurl/production/unfurl-start start
1321
+ echo " [*] Installing nvm.sh from GitHub"
1322
+ osSudo " ${UNFURL_USER} " sh -c ' curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh'
1323
+
1324
+ echo " [*] Building NodeJS via nvm.sh"
1325
+ osSudo " ${UNFURL_USER} " zsh -c ' source ~/.zshrc ; nvm install v16.16.0 --shared-zlib'
1326
+
1327
+ ;;
1328
+ esac
1329
+
1330
+ fi
1331
+
1249
1332
# ###############################
1250
1333
# Bitcoin instance for Mainnet #
1251
1334
# ###############################
0 commit comments