Upgrade a Bitcoin Knots oficial 29.3.knots20260508 con BIP-110 enforced

Upgrade a Bitcoin Knots oficial 29.3.knots20260508 con BIP-110 enforced

1. Detener servicios también que sean dependendientes a parte de estos:

sudo systemctl stop lnd sudo systemctl stop bitcoind while pgrep -x bitcoind >/dev/null; do sleep 2; done

2. Descargar tarball, hashes y firma desde el sitio oficial

cd /tmp VERSION="29.3.knots20260508" BASE="bitcoinknots.org/files/29.x/${VERSION}" wget --show-progress
${BASE}/bitcoin-${VERSION}-x86_64-linux-gnu.tar.gz
${BASE}/SHA256SUMS
${BASE}/SHA256SUMS.asc

3. Verificar integridad del tarball (debe decir OK)

sha256sum --ignore-missing --check SHA256SUMS

4. Verificar firmas GPG (deben aparecer ≥2 'Good signature')

Si no tienes las claves: importarlas desde el repo Guix de Knots

curl -s "api.github.com/repos/bitcoinknots/guix.sigs/contents/builder-keys?ref=knots" \

| grep download_url | grep -oE "https://[a-zA-Z0-9./-]+" \

| while read u; do curl -s "$u" | gpg --import; done

Si la clave de Luke sale como expirada, refresca desde keyserver:

gpg --keyserver hkps://keys.openpgp.org --recv-keys 1A3E761F19D2CC7785C5502EA291A2C45D0C504A

gpg --verify SHA256SUMS.asc SHA256SUMS

5. Extraer e instalar los binarios sobre los anteriores en /usr/local/bin

tar -xzf bitcoin-${VERSION}-x86_64-linux-gnu.tar.gz for b in bitcoind bitcoin-cli bitcoin-tx bitcoin-util bitcoin-wallet; do sudo install -m 0755 -o root -g root
/tmp/bitcoin-${VERSION}/bin/$b /usr/local/bin/$b done bitcoind --version | head -1

Esperado: Bitcoin Knots Daemon version v29.3.knots20260508

6. Añadir consensusrules=rdts al bitcoin.conf (activa BIP-110 con consent)

echo -e "\nconsensusrules=rdts" | sudo tee -a /data/bitcoin/bitcoin.conf > /dev/null sudo grep -n "^consensusrules=rdts" /data/bitcoin/bitcoin.conf

7. Arrancar bitcoind y esperar al RPC

sudo systemctl daemon-reload sudo systemctl start bitcoind for i in {1..30}; do bitcoin-cli getblockcount 2>/dev/null >/dev/null && { echo "RPC OK"; break; } sleep 3 done

8. Verificar que BIP-110 está activo y el consent registrado

bitcoin-cli getnetworkinfo | jq -r '.subversion'

Esperado: termina en /Knots:20260508/

bitcoin-cli getdeploymentinfo | jq '.deployments.reduced_data | {bit, status}'

Esperado: {"bit": 4, "status": "started"}

sudo journalctl -u bitcoind --since "5 min ago" --no-pager
| grep -E "consensusrules|consented"

Esperado:

Config file arg: consensusrules="rdts"

User already consented to 'rdts' consensus rules (in config)

9. Re-arrancar Lightning y resto de servicios

sudo systemctl start lnd sleep 15 sudo systemctl start thunderhub

10. Limpiar /tmp

rm -rf /tmp/bitcoin-${VERSION}* /tmp/SHA256SUMS /tmp/SHA256SUMS.asc