littleshop/Hostinger/FAST_SYNC_OPTIMIZATION.md
SysAdmin e1b377a042 Initial commit of LittleShop project (excluding large archives)
- BTCPay Server integration
- TeleBot Telegram bot
- Review system
- Admin area
- Docker deployment configuration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 15:07:38 +01:00

106 lines
3.2 KiB
Markdown

# Fast Sync Optimization for BTCPay Server
**Date**: September 16, 2025
## Optimizations Applied
### Bitcoin Core Fast Sync
- **dbcache**: Increased from 1000MB to 2000MB for faster processing
- **assumevalid**: Added recent block hash to skip signature verification for known-good blocks
- Hash: `00000000000000000002a23d6df20eecec15b21d32c75833cce28f113de888b7`
- This significantly speeds up initial sync by skipping cryptographic verification
### Monero Fast Sync
- **fast-block-sync**: Enabled for faster block processing
- **block-sync-size**: Set to 20 blocks per batch
- **max-concurrency**: Increased from 2 to 4 threads
- **db-sync-mode**: Changed from `safe:sync` to `fast:async:250000000bytes`
- `safe:sync` - Slowest but safest (original setting)
- `fast:async` - Much faster, slight risk if power loss during sync
- `fastest:async` - Maximum speed but highest risk (not recommended)
## Configuration File
Location: `/opt/btcpayserver-docker/docker-compose.override.yml`
```yaml
version: "3.6"
services:
bitcoind:
environment:
BITCOIN_EXTRA_ARGS: |
prune=10000
maxmempool=300
dbcache=2000
maxconnections=40
rpcthreads=6
assumevalid=00000000000000000002a23d6df20eecec15b21d32c75833cce28f113de888b7
monerod:
environment:
MONERO_EXTRA_ARGS: |
--prune-blockchain
--sync-pruned-blocks
--fast-block-sync=1
--block-sync-size=20
--max-concurrency=4
--db-sync-mode=fast:async:250000000bytes
```
## Expected Sync Times (With Optimizations)
### Before Optimizations
- Bitcoin: 24-36 hours
- Monero: 48-72 hours
### After Optimizations
- **Bitcoin**: 8-12 hours (from current 43% progress)
- **Monero**: 18-24 hours (from current 0.2% progress)
## Alternative Fast Sync Options
### 1. Bootstrap Files (Not Used)
- Download pre-synced blockchain data
- Pros: Very fast (2-4 hours)
- Cons: Trust required, large download (50GB+)
### 2. Remote Node (Not Used)
- Connect to existing synced node
- Pros: Instant availability
- Cons: Less privacy, dependency on external service
### 3. Checkpoint Sync (Partially Used)
- Bitcoin: `assumevalid` implemented
- Monero: Built-in checkpoints used automatically
## Monitoring Commands
### Check Sync Progress
```bash
# Bitcoin
sudo docker exec btcpayserver_bitcoind bitcoin-cli getblockchaininfo | grep -E "blocks|progress"
# Monero
sudo docker exec btcpayserver_monerod monerod status
```
### View Sync Speed
```bash
# Bitcoin (blocks per minute)
sudo docker logs btcpayserver_bitcoind --tail 100 | grep UpdateTip
# Monero (blocks per second)
sudo docker logs btcpayserver_monerod --tail 100 | grep Synced
```
## Safety Notes
- `fast:async` mode trades some safety for speed
- After sync completes, mode automatically becomes safer
- Power loss during sync may require resync of recent blocks
- Pruning remains active to limit disk usage
## Rollback if Needed
Backup saved at: `/opt/btcpayserver-docker/docker-compose.override.yml.backup-*`
```bash
sudo cp /opt/btcpayserver-docker/docker-compose.override.yml.backup-* /opt/btcpayserver-docker/docker-compose.override.yml
cd /opt/btcpayserver-docker
sudo docker-compose restart bitcoind monerod
```