From 57ca02ed9c36dec7ffc6473d0224fceb20eb151c Mon Sep 17 00:00:00 2001 From: Krrish Sehgal <133865424+krrish-sehgal@users.noreply.github.com> Date: Mon, 14 Apr 2025 14:22:13 +0530 Subject: [PATCH] add setup scrips for mainnet and ordinals server --- BACON/setup-mainnet.sh | 96 ++++++++++++++++++++++++++++++++++++++++++ BACON/setup-ord.sh | 54 ++++++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 BACON/setup-mainnet.sh create mode 100644 BACON/setup-ord.sh diff --git a/BACON/setup-mainnet.sh b/BACON/setup-mainnet.sh new file mode 100644 index 0000000000..d5b5d7fc14 --- /dev/null +++ b/BACON/setup-mainnet.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +set -euo pipefail +echo "Starting Bitcoin Core setup..." + +# === Environment Variables === +export ARCH=x86_64 +export BITCOIN_VERSION=0.21.1 +export BITCOIN_URL="https://bitcoincore.org/bin/bitcoin-core-${BITCOIN_VERSION}/bitcoin-${BITCOIN_VERSION}-${ARCH}-linux-gnu.tar.gz" +export BITCOIN_DATA_DIR="/blockchain/bitcoin/data" + +# === Create bitcoin user and group === +echo "Creating bitcoin user and group..." +sudo groupadd -r bitcoin || true +sudo useradd -r -m -g bitcoin -s /bin/bash bitcoin || true + +# === Install dependencies === +echo "Installing dependencies..." +sudo apt update +sudo apt install -y ca-certificates gnupg gpg wget jq --no-install-recommends + +# === Download and verify Bitcoin Core === +echo "Downloading Bitcoin Core..." +cd /tmp +wget "https://bitcoincore.org/bin/bitcoin-core-${BITCOIN_VERSION}/SHA256SUMS.asc" +wget -qO "bitcoin-${BITCOIN_VERSION}-${ARCH}-linux-gnu.tar.gz" "$BITCOIN_URL" + +# Optional: SHA256 check (manual or via gpg key import step if desired) +echo "Expected SHA256:" +cat SHA256SUMS.asc | grep "bitcoin-${BITCOIN_VERSION}-${ARCH}-linux-gnu.tar.gz" | awk '{ print $1 }' + +# === Extract and install Bitcoin Core === +echo "Installing Bitcoin Core to /opt/bitcoin..." +sudo mkdir -p "/opt/bitcoin/${BITCOIN_VERSION}" +sudo mkdir -p "${BITCOIN_DATA_DIR}" +sudo tar -xzvf "bitcoin-${BITCOIN_VERSION}-${ARCH}-linux-gnu.tar.gz" -C "/opt/bitcoin/${BITCOIN_VERSION}" --strip-components=1 --exclude=*-qt +sudo ln -sfn "/opt/bitcoin/${BITCOIN_VERSION}" /opt/bitcoin/current +sudo rm -rf /tmp/* +sudo chown -R bitcoin:bitcoin "${BITCOIN_DATA_DIR}" + +# === Create bitcoin.conf === +echo "Creating bitcoin.conf..." +cat > bitcoin.conf.tmp < bitcoind.service <> ~/.profile' + +echo "Bitcoin Core setup complete!" +echo "Use 'sudo su - bitcoin' then run 'bitcoin-cli -getinfo' to check sync status." +echo "Or run 'sudo journalctl -fu bitcoind' as root to monitor logs." diff --git a/BACON/setup-ord.sh b/BACON/setup-ord.sh new file mode 100644 index 0000000000..b7f6ff5108 --- /dev/null +++ b/BACON/setup-ord.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# Step 1: Update system packages +echo "Updating system packages..." +sudo apt update && sudo apt upgrade -y + +# Step 2: Install required dependencies +echo "Installing dependencies..." +sudo apt install -y curl git build-essential libssl-dev pkg-config + +# Step 3: Install Rust +echo "Installing Rust..." +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +source "$HOME/.cargo/env" + +# Step 4: Check Rust versions +rustc --version +cargo --version + +# Step 5: Download and extract ord source code +echo "Downloading ord 0.22.2..." +wget https://github.com/ordinals/ord/archive/refs/tags/0.22.2.tar.gz +tar -xvzf 0.22.2.tar.gz +cd ord-0.22.2 + +# Step 6: Install build tools (again, just in case) +echo "Installing build tools for compiling ord..." +sudo apt update +sudo apt install -y build-essential clang cmake gcc g++ make pkg-config libssl-dev + +# Step 7: Build ord from source +echo "Building ord..." +cargo build --release + +# Step 8: Move the binary to /usr/local/bin +echo "Moving ord binary to /usr/local/bin..." +sudo mv target/release/ord /usr/local/bin/ + +# Step 9: Verify ord installation +ord --version + +# Optional: Get the index +echo "Downloading index file..." +sudo apt update && sudo apt install transmission-cli -y +transmission-cli "https://ordstuff.info/indexes/0.22/index-0.22-without-878500.redb.gz.torrent" + +# Wait for download to complete manually before continuing + +# Optional: Decompress the index file +echo "Installing pv for decompression progress..." +sudo apt install -y pv +pv index-0.22-without-878500.redb.gz | gunzip > index-0.22-without-878500.redb + +echo "Setup complete!"