You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.8 KiB
88 lines
2.8 KiB
#!/bin/sh |
|
|
|
# This spell installs bitcoin on almost any Linux platform, from source when possible, otherwise from precompiled binary. |
|
|
|
# Set Bitcoin version |
|
BITCOIN_VERSION=24.1 |
|
|
|
# Install Bitcoin from source |
|
install_bitcoin_from_source() { |
|
say "Installing Bitcoin Core from source" |
|
if [ ! -e bitcoin-$BITCOIN_VERSION* ]; then |
|
wget https://bitcoincore.org/bin/bitcoin-core-$BITCOIN_VERSION/bitcoin-$BITCOIN_VERSION.tar.gz |
|
fi |
|
. ./path_to_install_if_needed_script.sh boost |
|
tar -xvf bitcoin-$BITCOIN_VERSION.tar.gz |
|
sleep 1 |
|
cd bitcoin-$BITCOIN_VERSION |
|
chmod +x autogen.sh |
|
./autogen.sh |
|
./configure --disable-wallet |
|
make |
|
if [ $? -ne 0 ]; then |
|
return 1 |
|
fi |
|
sudo make install |
|
cd .. |
|
return 0 |
|
} |
|
|
|
# Install Bitcoin ARM precompiled binary |
|
install_bitcoin_arm_binary() { |
|
say "Installing Bitcoin Core ARM precompiled binary" |
|
if [ ! -e bitcoin-$BITCOIN_VERSION* ]; then |
|
wget https://bitcoin.org/bin/bitcoin-core-$BITCOIN_VERSION/bitcoin-$BITCOIN_VERSION-arm-linux-gnueabihf.tar.gz |
|
tar -xzf bitcoin-$BITCOIN_VERSION-arm-linux-gnueabihf.tar.gz |
|
fi |
|
sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-$BITCOIN_VERSION/bin/* |
|
} |
|
|
|
# Install Bitcoin x86_64 precompiled binary |
|
install_bitcoin_x86_64_binary() { |
|
say "Installing Bitcoin Core x86_64 precompiled binary" |
|
if [ ! -e bitcoin-$BITCOIN_VERSION* ]; then |
|
wget https://bitcoin.org/bin/bitcoin-core-$BITCOIN_VERSION/bitcoin-$BITCOIN_VERSION-x86_64-linux-gnu.tar.gz |
|
tar -xzf bitcoin-$BITCOIN_VERSION-x86_64-linux-gnu.tar.gz |
|
fi |
|
sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-$BITCOIN_VERSION/bin/* |
|
} |
|
|
|
# Install Bitcoin macOS precompiled binary |
|
install_bitcoin_macos_binary() { |
|
say "Installing Bitcoin Core macOS precompiled binary" |
|
if [ ! -e bitcoin-$BITCOIN_VERSION* ]; then |
|
wget https://bitcoin.org/bin/bitcoin-core-$BITCOIN_VERSION/bitcoin-$BITCOIN_VERSION-osx-signed.dmg |
|
hdiutil attach bitcoin-$BITCOIN_VERSION-osx-signed.dmg |
|
cp -R /Volumes/Bitcoin-Core/Bitcoin-Qt.app /Applications/ |
|
hdiutil detach /Volumes/Bitcoin-Core |
|
fi |
|
} |
|
|
|
# Detect the operating system |
|
OS=$(uname -s) |
|
|
|
# Install Bitcoin based on the OS |
|
case $OS in |
|
Darwin) |
|
install_bitcoin_macos_binary |
|
;; |
|
Linux) |
|
ARCH=$(uname -m) |
|
case $ARCH in |
|
x86_64) |
|
if ! install_bitcoin_from_source; then |
|
install_bitcoin_x86_64_binary |
|
fi |
|
;; |
|
arm* | aarch64) |
|
install_bitcoin_arm_binary |
|
;; |
|
*) |
|
say "Unsupported architecture: $ARCH" |
|
exit |
|
esac |
|
;; |
|
*) |
|
say "Unsupported operating system: $OS" |
|
exit |
|
esac |