Skip to content

Commit a15343e

Browse files
committed
context: added hash checks for binaries
1 parent d566e41 commit a15343e

File tree

1 file changed

+82
-22
lines changed

1 file changed

+82
-22
lines changed

context/download_bins.sh

Lines changed: 82 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,102 @@
11
#!/bin/sh
22
set -e
33

4+
# To calculate SHA256 for a new binary: curl -sL <URL> | sha256sum
5+
46
mkdir -p bin
57
cd bin || exit 1
68

7-
FNAME=electrs_linux_esplora_027e38d3ebc2f85b28ae76f8f3448438ee4fc7b1_liquid && \
8-
wget https://github.com/RCasatta/electrsd/releases/download/electrs_releases/${FNAME}.zip && \
9-
unzip ${FNAME}.zip && \
10-
rm ${FNAME}.zip && \
11-
mv electrs $FNAME && \
12-
chmod +x $FNAME
9+
# electrs
10+
ELECTRS_FILENAME="electrs_linux_esplora_027e38d3ebc2f85b28ae76f8f3448438ee4fc7b1_liquid.zip"
11+
ELECTRS_EXPECTED_SHA256="a63a314c16bc6642fc060bbc19bd1d54ebf86b42188ff2a11c705177c1eb22f7"
12+
13+
wget "https://github.com/RCasatta/electrsd/releases/download/electrs_releases/${ELECTRS_FILENAME}"
14+
echo "${ELECTRS_EXPECTED_SHA256} ${ELECTRS_FILENAME}" | sha256sum -c -
15+
unzip "${ELECTRS_FILENAME}" && rm "${ELECTRS_FILENAME}"
16+
ELECTRS_NAME="${ELECTRS_FILENAME%.zip}"
17+
mv electrs "${ELECTRS_NAME}" && chmod +x "${ELECTRS_NAME}"
1318

1419
# waterfalls
15-
FNAME=waterfalls_b8818e1
16-
curl -Ls https://github.com/LeoComandini/waterfalls/releases/download/b8818e1/${FNAME}.gz | gunzip > ${FNAME}
17-
chmod +x $FNAME
20+
WATERFALLS_FILENAME="waterfalls_b8818e1.gz"
21+
WATERFALLS_EXPECTED_SHA256="6e851ce656cf4ff6ff7dca9c2e5565c3d7921376a9f5c23b1f9aa746fee667fb"
22+
23+
curl -Ls "https://github.com/LeoComandini/waterfalls/releases/download/b8818e1/${WATERFALLS_FILENAME}" -o "${WATERFALLS_FILENAME}"
24+
echo "${WATERFALLS_EXPECTED_SHA256} ${WATERFALLS_FILENAME}" | sha256sum -c -
25+
gunzip "${WATERFALLS_FILENAME}"
26+
WATERFALLS_NAME="${WATERFALLS_FILENAME%.gz}"
27+
chmod +x "${WATERFALLS_NAME}"
1828

1929
# elementsd
20-
curl -Ls https://github.com/ElementsProject/elements/releases/download/elements-23.3.1/elements-23.3.1-x86_64-linux-gnu.tar.gz | tar -xz
30+
ELEMENTSD_VERSION=23.3.1
31+
ELEMENTSD_EXPECTED_SHA256="864e3a8240137c4e948ecae7c526ccb363771351ea68737a14c682025d5fedaa"
32+
33+
ELEMENTSD_FILENAME="elements-${ELEMENTSD_VERSION}-x86_64-linux-gnu.tar.gz"
34+
curl -Ls "https://github.com/ElementsProject/elements/releases/download/elements-${ELEMENTSD_VERSION}/${ELEMENTSD_FILENAME}" -o "${ELEMENTSD_FILENAME}"
35+
echo "${ELEMENTSD_EXPECTED_SHA256} ${ELEMENTSD_FILENAME}" | sha256sum -c -
36+
tar -xzf "${ELEMENTSD_FILENAME}" && rm "${ELEMENTSD_FILENAME}"
2137

2238
# bitcoind
23-
curl -Ls https://bitcoincore.org/bin/bitcoin-core-26.0/bitcoin-26.0-x86_64-linux-gnu.tar.gz | tar -xz
39+
BITCOIND_VERSION=26.0
40+
BITCOIND_EXPECTED_SHA256="23e5ab226d9e01ffaadef5ffabe8868d0db23db952b90b0593652993680bb8ab"
41+
42+
BITCOIND_FILENAME="bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.gz"
43+
curl -Ls "https://bitcoincore.org/bin/bitcoin-core-${BITCOIND_VERSION}/${BITCOIND_FILENAME}" -o "${BITCOIND_FILENAME}"
44+
echo "${BITCOIND_EXPECTED_SHA256} ${BITCOIND_FILENAME}" | sha256sum -c -
45+
tar -xzf "${BITCOIND_FILENAME}" && rm "${BITCOIND_FILENAME}"
2446

2547
# asset registry
26-
FNAME=asset_registry_server_5ecf533
27-
curl -Ls https://github.com/LeoComandini/asset_registry/releases/download/5ecf533/${FNAME}.gz | gunzip > ${FNAME}
28-
chmod +x $FNAME
48+
ASSET_REGISTRY_FILENAME="asset_registry_server_5ecf533.gz"
49+
ASSET_REGISTRY_EXPECTED_SHA256="fbfbb996954d6e369f3e5202ef3e2d4885f1fc34b49a2af63be5278e267d9d62"
50+
51+
curl -Ls "https://github.com/LeoComandini/asset_registry/releases/download/5ecf533/${ASSET_REGISTRY_FILENAME}" -o "${ASSET_REGISTRY_FILENAME}"
52+
echo "${ASSET_REGISTRY_EXPECTED_SHA256} ${ASSET_REGISTRY_FILENAME}" | sha256sum -c -
53+
gunzip "${ASSET_REGISTRY_FILENAME}"
54+
ASSET_REGISTRY_NAME="${ASSET_REGISTRY_FILENAME%.gz}"
55+
chmod +x "${ASSET_REGISTRY_NAME}"
2956

30-
# Binaries for testing kotling bindings
31-
wget https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar
57+
# Binaries for testing kotlin bindings
3258

33-
FNAME=kotlin-compiler-1.8.20.zip && wget https://github.com/JetBrains/kotlin/releases/download/v1.8.20/${FNAME} && \
34-
unzip ${FNAME} && rm $FNAME
59+
# jna (SHA1 from Maven: 1200e7ebeedbe0d10062093f32925a912020e747)
60+
JNA_VERSION=5.13.0
61+
JNA_EXPECTED_SHA256="66d4f819a062a51a1d5627bffc23fac55d1677f0e0a1feba144aabdd670a64bb"
3562

36-
curl -Ls https://builds.openlogic.com/downloadJDK/openlogic-openjdk/11.0.21+9/openlogic-openjdk-11.0.21+9-linux-x64.tar.gz | tar -xz
63+
JNA_FILENAME="jna-${JNA_VERSION}.jar"
64+
wget "https://repo1.maven.org/maven2/net/java/dev/jna/jna/${JNA_VERSION}/${JNA_FILENAME}"
65+
echo "${JNA_EXPECTED_SHA256} ${JNA_FILENAME}" | sha256sum -c -
66+
67+
# kotlin
68+
KOTLIN_VERSION=1.8.20
69+
KOTLIN_EXPECTED_SHA256="10df74c3c6e2eafd4c7a5572352d37cbe41774996e42de627023cb4c82b50ae4"
70+
71+
KOTLIN_FILENAME="kotlin-compiler-${KOTLIN_VERSION}.zip"
72+
wget "https://github.com/JetBrains/kotlin/releases/download/v${KOTLIN_VERSION}/${KOTLIN_FILENAME}"
73+
echo "${KOTLIN_EXPECTED_SHA256} ${KOTLIN_FILENAME}" | sha256sum -c -
74+
unzip "${KOTLIN_FILENAME}" && rm "${KOTLIN_FILENAME}"
75+
76+
# openlogic-openjdk
77+
OPENJDK_VERSION="11.0.21+9"
78+
OPENJDK_EXPECTED_SHA256="a6ceb8a550e63a7592d9c990ae70f998b96cc4fd6d141b39c10e21b92bfb4fca"
79+
80+
OPENJDK_FILENAME="openlogic-openjdk-${OPENJDK_VERSION}-linux-x64.tar.gz"
81+
curl -Ls "https://builds.openlogic.com/downloadJDK/openlogic-openjdk/${OPENJDK_VERSION}/${OPENJDK_FILENAME}" -o "${OPENJDK_FILENAME}"
82+
echo "${OPENJDK_EXPECTED_SHA256} ${OPENJDK_FILENAME}" | sha256sum -c -
83+
tar -xzf "${OPENJDK_FILENAME}" && rm "${OPENJDK_FILENAME}"
3784

3885
# swift
39-
curl -Ls https://download.swift.org/swift-5.5-release/ubuntu1804/swift-5.5-RELEASE/swift-5.5-RELEASE-ubuntu18.04.tar.gz | tar -xz
86+
SWIFT_VERSION="5.5-RELEASE"
87+
SWIFT_EXPECTED_SHA256="1ebf6441938dafc9fba85419b0482f4b6d371e0d2d1851e80ae6769b11aab6a5"
88+
89+
SWIFT_FILENAME="swift-${SWIFT_VERSION}-ubuntu18.04.tar.gz"
90+
curl -Ls "https://download.swift.org/swift-5.5-release/ubuntu1804/swift-${SWIFT_VERSION}/${SWIFT_FILENAME}" -o "${SWIFT_FILENAME}"
91+
echo "${SWIFT_EXPECTED_SHA256} ${SWIFT_FILENAME}" | sha256sum -c -
92+
tar -xzf "${SWIFT_FILENAME}" && rm "${SWIFT_FILENAME}"
93+
94+
# wasm-pack
95+
WASMPACK_VERSION="0.13.1"
96+
WASMPACK_EXPECTED_SHA256="c539d91ccab2591a7e975bcf82c82e1911b03335c80aa83d67ad25ed2ad06539"
4097

41-
# wasm
42-
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
98+
WASMPACK_FILENAME="wasm-pack-v${WASMPACK_VERSION}-x86_64-unknown-linux-musl.tar.gz"
99+
curl -Ls "https://github.com/rustwasm/wasm-pack/releases/download/v${WASMPACK_VERSION}/${WASMPACK_FILENAME}" -o "${WASMPACK_FILENAME}"
100+
echo "${WASMPACK_EXPECTED_SHA256} ${WASMPACK_FILENAME}" | sha256sum -c -
101+
tar -xzf "${WASMPACK_FILENAME}" --strip-components=1 -C /usr/local/bin "wasm-pack-v${WASMPACK_VERSION}-x86_64-unknown-linux-musl/wasm-pack"
102+
rm "${WASMPACK_FILENAME}"

0 commit comments

Comments
 (0)