11#! /usr/bin/env bash
22
3- # rm -rf /usr/local/bin/miniscript-docker 2>/dev/null || true
43[[ -z " $( command -v miniscript-docker) " ]] && \
54 install $0 /usr/local/bin || true
65
7- VERSION=${VERSION:- v0.0.2}
8-
9- PORT=${PORT:- 80}
6+ PORT=${PORT:- 8080}
107VERBOSE=${VERBOSE:- }
118
129FORCE=${FORCE:- }
@@ -15,16 +12,30 @@ TAG=${TAG:-miniscript}
1512
1613PYTHON3=$( which python3)
1714
18- if [[ " $( uname -s ) " == " Darwin " ]];
15+ if [[ " $CI " == " " ]];
1916then
20- DOCKER=${DOCKER:- " /Applications/Docker.app/Contents/MacOS/Docker" }
17+ if [[ " $( uname -s) " == " Darwin" ]];
18+ then
19+ DOCKER=${DOCKER:- " /Applications/Docker.app/Contents/MacOS/Docker" }
20+ fi
21+ if [[ " $( uname -s) " == " Linux" ]];
22+ then
23+ echo " TODO:more Linux support"
24+ DOCKER=docker
25+ DOCKER=${DOCKER:- docker}
26+ fi
2127fi
22- # # echo $DOCKER; ##exit
23- # # [[ -z "$DOCKER" ]] && echo "????" && DOCKER=${DOCKER:docker}
28+ # [[ -z "$DOCKER" ]] && echo "-z $DOCKER" && DOCKER=${DOCKER:docker}
29+ # [[ ! -z "$DOCKER" ]] && echo "! -z $DOCKER" && DOCKER=${DOCKER:docker}
30+ # echo $DOCKER;
2431
2532# # MINT_000
2633
2734# # MINT_001
35+ MINT_001_1=" thresh(2,pk(XPUB1),s:pk(XPUB2),s:pk(XPUB3),snl:older(100))"
36+ MINT_001_2=" thresh(2,pk(XPUB1),s:pk(XPUB2),s:pk(XPUB3),snl:after(2477600))"
37+ MINT_001_3=" thresh(2,pk(XPUB1),s:pk(XPUB2),s:pk(XPUB3),snl:after(1694563200))"
38+ MINT_001_4=" thresh(2,pk(XPUB1),s:pk(XPUB2),s:pk(XPUB3),snl:older(4194400))"
2839
2940# # MINT_002
3041MINT_002_1=" thresh(3,pk(XPUB1),s:pk(XPUB2),s:pk(XPUB3),s:pk(XPUB4),s:pk(XPUB5),snu:older(100),snu:older(200))"
@@ -49,7 +60,7 @@ function docker-start(){
4960 fi ; \
5061 if [[ " $( uname -s) " == " Darwin" ]]; then\
5162 DOCKER=" /Applications/Docker.app/Contents/MacOS/Docker" ; \
52- open --background -a $DOCKER ; \
63+ open --background -a $DOCKER || DOCKER= $( which docker ) ; \
5364 fi ; \
5465 sleep 1; \
5566 done\
@@ -73,6 +84,19 @@ and(pk(A),or(pk(B),or(9@pk(C),older(1000))))
7384printf "
7485and(pk(A),or(pk(B),or(9@pk(C),older(1000))))
7586"
87+
88+ printf "
89+ $MINT_001_1
90+ "
91+ printf "
92+ $MINT_001_2
93+ "
94+ printf "
95+ $MINT_001_3
96+ "
97+ printf "
98+ $MINT_001_4
99+ "
76100printf "
77101$MINT_002_1
78102"
@@ -103,61 +127,69 @@ function help {
103127 printf " miniscript-docker examples\n"
104128 printf " \n"
105129 printf " miniscript-docker help [-h --help]\n"
130+ printf " \n"
106131 printf " miniscript-docker build [-b --build]\n"
107132 printf " \n"
133+ printf " miniscript-docker shell\n"
134+ printf " \n"
135+ printf " PORT=6102 miniscript-docker serve\n"
136+ printf " \n"
108137 printf " miniscript-docker run '<miniscript>'"
109138 printf " \n"
110139 exit ;
111140}
112141
113142function build(){
114143
115- docker \
116- build \
117- https://raw.githubusercontent.com/bitcoincore-dev/miniscript-docker/$VERSION /Dockerfile \
118- $NOCACHE \
119- -t $TAG
120-
121144 # echo $DOCKER
122145 # echo $NOCACHE
123- # [ "$NOCACHE" ] && $(which docker) build --no-cache -t $TAG . && exit;
124- # [ ! -z "$NOCACHE" ] && $(which docker) build $NOCACHE -t $TAG . && exit;
146+ [ " $NOCACHE " ] && docker build --no-cache -t $TAG . && exit ;
147+ [ ! -z " $NOCACHE " ] && docker build $NOCACHE -t $TAG . && exit ;
125148
126149}
127150
128151function run(){
129152
130153 docker-start
131- echo $2
154+
132155 docker \
133156 run \
134157 --rm \
135158 -v $PWD :/src \
136159 $TAG \
137160 sh \
138- -c " echo '$2 ' | ./miniscript-run" ; exit ;
161+ -c " echo '$1 ' | miniscript" ;
162+
163+ exit
164+ }
165+ function serve(){
166+ echo serve
167+ echo $PORT
168+
169+ docker-start
139170
140- # # echo $1
141171 docker \
142172 run \
143- --rm \
144- -v $PWD :/src \
145- $TAG \
146- sh \
147- -c " echo ' $1 ' | miniscript " ;
148- echo $2
173+ -d \
174+ -t \
175+ -i \
176+ -p 127.0.0.1: $PORT :8080/tcp \
177+ -v ` pwd ` :/src miniscript bash - c " serve $PORT "
178+ exit
149179
150180}
151181function shell (){
152182
153183 docker-start
154184 docker \
155185 run \
186+ -d \
156187 -t \
157188 -i \
158189 --rm \
159190 -p 127.0.0.1:$PORT :8080/tcp \
160191 -v ` pwd` :/src miniscript bash
192+
161193}
162194# # argparse
163195# # position $1
199231 ;;
200232 run) RUN=TRUE && run $2 $3 $4
201233 ;;
234+ serve) serve $PORT
235+ ;;
202236 shell) shell
203237 ;;
204238 examples) examples
0 commit comments