Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 56 additions & 12 deletions rootfs/standard/usr/bin/mynode-install-custom-bitcoin
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,10 @@ fi

# Custom re-install steps
if [ "$APP" = "bip110_autoupdate" ]; then
BIP110_LATEST_VERSION="bip110-v0.4.1" # Must be unique each version (only used to track trigger upgrade)
BTC_UPGRADE_URL=https://github.com/dathonohm/bitcoin/releases/download/v29.3.knots20260210%2Bbip110-v0.4.1/bitcoin-29.3.knots20260210+bip110-v0.4.1-$ARCH.tar.gz
BTC_SHASUM=https://github.com/dathonohm/bitcoin/releases/download/v29.3.knots20260210%2Bbip110-v0.4.1/SHA256SUMS
BTC_ASC=https://github.com/dathonohm/bitcoin/releases/download/v29.3.knots20260210%2Bbip110-v0.4.1/SHA256SUMS.asc
BIP110_LATEST_VERSION="29.3.3-knots" # Must be unique each version (only used to track trigger upgrade)
BTC_UPGRADE_URL=https://bitcoinknots.org/files/29.x/29.3.knots20260507/bitcoin-29.3.knots20260508-$ARCH.tar.gz
BTC_SHASUM=https://bitcoinknots.org/files/29.x/29.3.knots20260508/SHA256SUMS
BTC_ASC=https://bitcoinknots.org/files/29.x/29.3.knots20260508/SHA256SUMS.asc

CURRENT=""
if [ -f $CUSTOM_BITCOIN_AUTOUPDATE_VERSION_FILE ]; then
Expand All @@ -81,8 +81,8 @@ if [ "$APP" = "bip110_autoupdate" ]; then
wget $BTC_UPGRADE_URL $BTC_SHASUM $BTC_ASC
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing
tar -xvf bitcoin-29.3.knots20260210+bip110-v0.4.1-$ARCH.tar.gz
mv bitcoin-29.3.knots20260210+bip110-v0.4.1 bitcoin
tar -xvf bitcoin-29.3.knots20260508-$ARCH.tar.gz
mv bitcoin-29.3.knots20260508 bitcoin
install -m 0755 -o root -g root -t /usr/local/bin bitcoin/bin/*
fi
echo "bip110_autoupdate" > /home/bitcoin/.mynode/bitcoin_version
Expand All @@ -91,10 +91,10 @@ if [ "$APP" = "bip110_autoupdate" ]; then
echo "$BIP110_LATEST_VERSION" > $CUSTOM_BITCOIN_AUTOUPDATE_VERSION_FILE
cd ~
elif [ "$APP" = "knots_autoupdate" ]; then
KNOTS_LATEST_VERSION="29.3-knots" # Must be unique each version (only used to track trigger upgrade)
BTC_UPGRADE_URL=https://bitcoinknots.org/files/29.x/29.3.knots20260210/bitcoin-29.3.knots20260210-$ARCH.tar.gz
BTC_SHASUM=https://bitcoinknots.org/files/29.x/29.3.knots20260210/SHA256SUMS
BTC_ASC=https://bitcoinknots.org/files/29.x/29.3.knots20260210/SHA256SUMS.asc
KNOTS_LATEST_VERSION="29.3.2-knots" # Must be unique each version (only used to track trigger upgrade)
BTC_UPGRADE_URL=https://bitcoinknots.org/files/29.x/29.3.knots20260507/bitcoin-29.3.knots20260507-$ARCH.tar.gz
BTC_SHASUM=https://bitcoinknots.org/files/29.x/29.3.knots20260507/SHA256SUMS
BTC_ASC=https://bitcoinknots.org/files/29.x/29.3.knots20260507/SHA256SUMS.asc

CURRENT=""
if [ -f $CUSTOM_BITCOIN_AUTOUPDATE_VERSION_FILE ]; then
Expand All @@ -109,8 +109,8 @@ elif [ "$APP" = "knots_autoupdate" ]; then
wget $BTC_UPGRADE_URL $BTC_SHASUM $BTC_ASC
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing
tar -xvf bitcoin-29.3.knots20260210-$ARCH.tar.gz
mv bitcoin-29.3.knots20260210 bitcoin
tar -xvf bitcoin-29.3.knots20260507-$ARCH.tar.gz
mv bitcoin-29.3.knots20260507 bitcoin
install -m 0755 -o root -g root -t /usr/local/bin bitcoin/bin/*
fi
echo "knots_autoupdate" > /home/bitcoin/.mynode/bitcoin_version
Expand Down Expand Up @@ -293,6 +293,50 @@ elif [ "$APP" = "knots_29_3" ]; then
echo "29.3-knots" > /home/bitcoin/.mynode/bitcoin_version_latest_custom
echo "29.3-knots" > /mnt/hdd/mynode/settings/bitcoin_version_latest_custom

cd ~
elif [ "$APP" = "knots_29_3_2" ]; then
BTC_UPGRADE_URL=https://bitcoinknots.org/files/29.x/29.3.knots20260507/bitcoin-29.3.knots20260507-$ARCH.tar.gz
BTC_SHASUM=https://bitcoinknots.org/files/29.x/29.3.knots20260507/SHA256SUMS
BTC_ASC=https://bitcoinknots.org/files/29.x/29.3.knots20260507/SHA256SUMS.asc

rm -rf /opt/download
mkdir -p /opt/download
cd /opt/download

# Download, install and verify
wget $BTC_UPGRADE_URL $BTC_SHASUM $BTC_ASC
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing
tar -xvf bitcoin-29.3.knots20260507-$ARCH.tar.gz
mv bitcoin-29.3.knots20260507 bitcoin
install -m 0755 -o root -g root -t /usr/local/bin bitcoin/bin/*

echo "29.3.2-knots" > /home/bitcoin/.mynode/bitcoin_version
echo "29.3.2-knots" > /home/bitcoin/.mynode/bitcoin_version_latest_custom
echo "29.3.2-knots" > /mnt/hdd/mynode/settings/bitcoin_version_latest_custom

cd ~
elif [ "$APP" = "knots_29_3_3" ]; then
BTC_UPGRADE_URL=https://bitcoinknots.org/files/29.x/29.3.knots20260508/bitcoin-29.3.knots20260508-$ARCH.tar.gz
BTC_SHASUM=https://bitcoinknots.org/files/29.x/29.3.knots20260508/SHA256SUMS
BTC_ASC=https://bitcoinknots.org/files/29.x/29.3.knots20260508/SHA256SUMS.asc

rm -rf /opt/download
mkdir -p /opt/download
cd /opt/download

# Download, install and verify
wget $BTC_UPGRADE_URL $BTC_SHASUM $BTC_ASC
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing
tar -xvf bitcoin-29.3.knots20260508-$ARCH.tar.gz
mv bitcoin-29.3.knots20260508 bitcoin
install -m 0755 -o root -g root -t /usr/local/bin bitcoin/bin/*

echo "29.3.3-knots" > /home/bitcoin/.mynode/bitcoin_version
echo "29.3.3-knots" > /home/bitcoin/.mynode/bitcoin_version_latest_custom
echo "29.3.3-knots" > /mnt/hdd/mynode/settings/bitcoin_version_latest_custom

cd ~
elif [ "$APP" = "default" ]; then
# Clear custom info and re-install bitcoin
Expand Down
5 changes: 5 additions & 0 deletions rootfs/standard/usr/bin/mynode_startup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,11 @@ echo "BITCOIN_GID=$BITCOIN_GID" >> /mnt/hdd/mynode/settings/.btcrpc_environment
# Reset BTCARGS
echo "BTCARGS=" > /mnt/hdd/mynode/bitcoin/env

CHECK_CONSENSUS=$(cat /home/bitcoin/.mynode/bitcoin_version | head -n 1)
if [ "$CHECK_CONSENSUS" == "29.3.3-knots" ]; then
echo "BTCARGS=-consensusrules=rdts" > /mnt/hdd/mynode/bitcoin/env
fi


# Set proper permissions on drive
USER=$(stat -c '%U' /mnt/hdd/mynode/quicksync)
Expand Down
19 changes: 17 additions & 2 deletions rootfs/standard/var/www/mynode/templates/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,20 @@
disabled: true
});
$("#custom_bitcoin_install_button").on("click", function() {
window.location.href='/settings/install-custom-bitcoin?version='+custom_bitcoin_choice
if (custom_bitcoin_choice == "knots_29_3_3") {
var okFunction = function() {
window.location.href='/settings/install-custom-bitcoin?version='+custom_bitcoin_choice
}
openConfirmDialog("confirm-dialog",
"Custom Bitcoin Version",
"<p>This version of Bitcoin Knots applies the BIP110 (RDTS) network upgrade, which fixes critical vulnerabilities in long-standing network design. To avoid applying this upgrade by accident, this version asks for explicit confirmation.</p>" +
"<p>Important: Because this upgrade already has broad community support, skipping this update or reverting to an older software version does not reject it. Running outdated software after any network upgrade only leaves your node vulnerable to displaying fake or fraudulent transactions. To effectively reject this upgrade, you need to run alternative software designed to split away from the upgraded network.<p>" +
"<p>If you do not know what you are doing, you can learn more at https://bitcoinknots.org/learn/2026-rdts</p>" +
"<p>Do you want to install this version?</p>",
okFunction)
} else {
window.location.href='/settings/install-custom-bitcoin?version='+custom_bitcoin_choice
}
});

$("#logout_days").selectmenu({width: 70});
Expand Down Expand Up @@ -1124,8 +1137,10 @@
<option value="default">Bitcoin Core (default)</option>
<option value="bip110_autoupdate" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots + BIP-110 (latest)</option>
<option value="knots_autoupdate" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots (latest)</option>
<option value="knots_29_3" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots (v29.3)</option>
<option value="knots_29_3_3" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots (v29.3.knots20260508)</option>
<option value="knots_29_3_2" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots (v29.3.knots20260507)</option>
<option value="none">--- Old / Not Recommended ---</option>
<option value="knots_29_3" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots (v29.3)</option>
<option value="knots_29_2_2" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots (v29.2.2)</option>
<option value="knots_29_1" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots (v29.1)</option>
<option value="knots_28_1" {% if debian_version < 12 %}disabled{% endif %}>Bitcoin Knots (v28.1)</option>
Expand Down