1
1
# Build libwally wasm files. Used for client-side blinding verification on Elements-based chains
2
2
3
- FROM greenaddress /wallycore@sha256:d63d222be12f6b2535e1548aa7f21cf649e2230d6c9e01bd518c23eb0bccd46f AS libwally-wasm
3
+ FROM blockstream /wallycore@sha256:62cc52bd3ad9176b55cb486482368f858a4debee248a15d2fada0a62eb074a05 AS libwally-wasm
4
4
ARG NO_LIQUID
5
5
ENV EXPORTED_FUNCTIONS="['_malloc', '_free', '_wally_init','_wally_asset_value_commitment','_wally_asset_generator_from_bytes']"
6
6
ENV EXTRA_EXPORTED_RUNTIME_METHODS="['getValue', 'ccall']"
@@ -12,7 +12,7 @@ RUN sh -c '[ -n "$NO_LIQUID" ] && mkdir -p /wally/wally_dist || ( \
12
12
&& git submodule sync --recursive && git submodule update --init --recursive \
13
13
&& ./tools/build_wasm.sh --enable-elements)'
14
14
15
- FROM debian:bullseye@sha256:4d6ab716de467aad58e91b1b720f0badd7478847ec7a18f66027d0f8a329a43c
15
+ FROM debian:bookworm-slim
16
16
SHELL ["/bin/bash", "-c"]
17
17
18
18
ENV CORE_BUILD_DEPS="autoconf autotools-dev automake libtool pkg-config bsdmainutils build-essential"
@@ -23,42 +23,37 @@ RUN mkdir -p /srv/explorer \
23
23
&& apt-get -yqq install ${ESPLORA_BUILD_DEPS} tor ${CORE_BUILD_DEPS}
24
24
25
25
26
- RUN git clone --quiet --depth 1 --single-branch --branch v0.39.0 https://github.com/nvm-sh/nvm.git /root/.nvm \
26
+ RUN git clone --quiet --depth 1 --single-branch --branch v0.40.1 https://github.com/nvm-sh/nvm.git /root/.nvm \
27
27
&& rm -rf /root/.nvm/.git \
28
28
&& source /root/.nvm/nvm.sh \
29
- && nvm install v17.1.0
29
+ && nvm install v18.20.4
30
30
31
- # Build core from sources until PR https://github.com/bitcoin/bitcoin/pull/23387 is merged
32
- ENV CORE_PATCH=contrib/0001-add-support-to-save-fee-estimates-without-shutting-d.patch
33
- ENV CORE_SRC=/root/bitcoin
34
- COPY ${CORE_PATCH} /${CORE_PATCH}
35
- RUN git clone --quiet --depth 1 --branch v24.1 --single-branch --recursive https://github.com/bitcoin/bitcoin.git ${CORE_SRC} \
36
- && (cd ${CORE_SRC} \
37
- && git checkout 3116ccd790e76de8f64d2ef9aa5a2641c15bbd8b \
38
- && git apply /${CORE_PATCH} \
39
- && (cd depends \
40
- && make HOST=x86_64-pc-linux-gnu NO_QT=1 -j $(nproc --all)) \
41
- && ./autogen.sh \
42
- && CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure --prefix=/srv/explorer/bitcoin --disable-man --disable-zmq --disable-qt --disable-gui-tests --disable-bench \
43
- --enable-experimental-asm --without-utils --enable-util-cli --without-libs --with-daemon --disable-maintainer-mode \
44
- --disable-glibc-back-compat --disable-ccache --disable-dependency-tracking --disable-tests --with-gui=no \
45
- && make -j $(nproc --all) \
46
- && make install -j $(nproc --all) \
47
- && strip /srv/explorer/bitcoin/bin/* \
48
- && rm -fr ${CORE_SRC} /${CORE_PATCH})
31
+ ARG TARGETARCH
32
+ ENV SHA256SUM_ELEMENTS_X86_64="d1c0919955a1d50f2f1518e2ee27aa21fd5dd45cd481635d59fa453ff776dede"
33
+ ENV SHA256SUM_ELEMENTS_ARM64="b6345394020486f7f8af111e2063f355571488cd8e8f384ed1082606c94e6c0d"
34
+ ENV SHA256SUM_BITCOINCORE_X86_64="2a6974c5486f528793c79d42694b5987401e4a43c97f62b1383abf35bcee44a8"
35
+ ENV SHA256SUM_BITCOINCORE_ARM64="cb35e250ae9d0328aa90e7aad0b877ed692597420a1092e8ab1a5dd756209722"
49
36
50
- #ENV SHA256SUM_BITCOINCORE=59ebd25dd82a51638b7a6bb914586201e67db67b919b2a1ff08925a7936d1b16
51
- #ENV VERSION_BITCOINCORE=22.0
52
- #RUN curl -sL -o bitcoin.tar.gz "https://bitcoincore.org/bin/bitcoin-core-${VERSION_BITCOINCORE}/bitcoin-${VERSION_BITCOINCORE}-x86_64-linux-gnu.tar.gz" \
53
- # && echo "${SHA256SUM_BITCOINCORE} bitcoin.tar.gz" | sha256sum --check \
54
- # && tar xzf bitcoin.tar.gz -C /srv/explorer \
55
- # && ln -s "/srv/explorer/bitcoin-${VERSION_BITCOINCORE}" /srv/explorer/bitcoin \
56
- # && rm bitcoin.tar.gz
37
+ ENV VERSION_BITCOINCORE=27.0
38
+ RUN if [ "${TARGETARCH}" = "arm64" ]; then \
39
+ curl -sL -o bitcoin.tar.gz "https://bitcoincore.org/bin/bitcoin-core-${VERSION_BITCOINCORE}/bitcoin-${VERSION_BITCOINCORE}-aarch64-linux-gnu.tar.gz"; \
40
+ echo "${SHA256SUM_BITCOINCORE_ARM64} bitcoin.tar.gz" | sha256sum --check; \
41
+ else \
42
+ curl -sL -o bitcoin.tar.gz "https://bitcoincore.org/bin/bitcoin-core-${VERSION_BITCOINCORE}/bitcoin-${VERSION_BITCOINCORE}-x86_64-linux-gnu.tar.gz"; \
43
+ echo "${SHA256SUM_BITCOINCORE_X86_64} bitcoin.tar.gz" | sha256sum --check; \
44
+ fi \
45
+ && tar xzf bitcoin.tar.gz -C /srv/explorer \
46
+ && ln -s "/srv/explorer/bitcoin-${VERSION_BITCOINCORE}" /srv/explorer/bitcoin \
47
+ && rm bitcoin.tar.gz
57
48
58
- ENV SHA256SUM_ELEMENTS=67aca46c12b8a81c960798502f81463b18c54d3ebd5c0804b26f1a336d148042
59
- ENV VERSION_ELEMENTS=22.1.1
60
- RUN curl -sL -o elements.tar.gz "https://github.com/ElementsProject/elements/releases/download/elements-${VERSION_ELEMENTS}/elements-${VERSION_ELEMENTS}-x86_64-linux-gnu.tar.gz" \
61
- && echo "${SHA256SUM_ELEMENTS} elements.tar.gz" | sha256sum --check \
49
+ ENV VERSION_ELEMENTS=23.2.3
50
+ RUN if [ "${TARGETARCH}" = "arm64" ]; then \
51
+ curl -sL -o elements.tar.gz "https://github.com/ElementsProject/elements/releases/download/elements-${VERSION_ELEMENTS}/elements-${VERSION_ELEMENTS}-aarch64-linux-gnu.tar.gz"; \
52
+ echo "${SHA256SUM_ELEMENTS_ARM64} elements.tar.gz" | sha256sum --check; \
53
+ else \
54
+ curl -sL -o elements.tar.gz "https://github.com/ElementsProject/elements/releases/download/elements-${VERSION_ELEMENTS}/elements-${VERSION_ELEMENTS}-x86_64-linux-gnu.tar.gz"; \
55
+ echo "${SHA256SUM_ELEMENTS_X86_64} elements.tar.gz" | sha256sum --check; \
56
+ fi \
62
57
&& tar xzf elements.tar.gz -C /srv/explorer \
63
58
&& ln -s "/srv/explorer/elements-${VERSION_ELEMENTS}" /srv/explorer/liquid \
64
59
&& mv /srv/explorer/liquid/bin/{elementsd,liquidd} \
@@ -94,4 +89,4 @@ RUN apt-get --auto-remove remove -yqq --purge ${ESPLORA_BUILD_DEPS} manpages ${C
94
89
&& apt-get autoclean \
95
90
&& rm -rf /usr/share/doc* /usr/share/man /usr/share/postgresql/*/man /var/lib/apt/lists/* /var/cache/* /tmp/* /root/.cache /*.deb /root/.cargo
96
91
97
- COPY --from=libwally-wasm /wally/wally_dist /srv/wally_wasm
92
+ COPY --from=libwally-wasm /wally/wally_dist /srv/wally_wasm
0 commit comments