Skip to content

v1.1.0

Choose a tag to compare

@davide3011 davide3011 released this 17 Jan 11:52
· 27 commits to main since this release

BitcoinPurple Core v1.1.0 Release Notes

Overview

This release introduces the Purple network identity, reproducible multi-platform builds, sync progress improvements, and Taproot as the default address type.


Major Changes

Network Identity Rebrand

  • Network client name: Changed from "Satoshi" to "Purple"
  • The node now identifies itself as "Purple" in P2P network communications
  • Visible in peer connection handshakes and network protocol messages

Default Address Type: Taproot

  • New default: Taproot addresses (bech32m, bc1p...) are now the default when generating addresses
  • Benefits:
    • Enhanced privacy: Multi-sig and single-sig transactions appear identical on-chain
    • Lower transaction fees for complex scripts
    • Schnorr signatures support (more compact and secure)
    • Advanced smart contract capabilities with MAST
  • Users can override via -addresstype config option or address_type parameter in RPC commands
  • Backward compatible: Existing wallets continue working without changes

Sync Progress Fix

  • Fixed: Blockchain sync always showing 100% progress with "unknown time left"
  • Improvement: Accurate sync progress calculation using real mainnet statistics
  • Updated ChainTxData with live blockchain metrics:
    • Block height: 917,081
    • Transaction count: 1,039,113
    • Transaction rate: 0.01935784 tx/sec (~1.16 tx/min)
  • Users now see realistic time estimates during initial blockchain download

Multi-Platform Reproducible Builds

  • Docker-based build system for reproducible binaries across platforms
  • Supported architectures:
    • Linux x86_64 (AMD64)
    • Linux ARM64 (aarch64)
    • Linux ARMv7 (32-bit ARM)
    • Windows x86_64
    • macOS x86_64 & ARM64 (Apple Silicon)
  • BerkeleyDB 4.8 integration: Fixed compilation issues on modern systems
    • Uses depends system with automatic patching for GCC compatibility
    • WSL2 support with Windows path sanitization
  • Build scripts:
    • quick_build.sh: Fast native builds with ccache support
    • docker-build/: Platform-specific Docker builds
    • build-all-platforms.sh: One-command multi-platform build
  • Documentation: Comprehensive build guides in /doc/

Technical Details

Files Modified

  • src/clientversion.cpp: CLIENT_NAME changed to "Purple"
  • src/wallet/wallet.h: DEFAULT_ADDRESS_TYPE changed to BECH32M
  • src/kernel/chainparams.cpp: Updated ChainTxData with accurate mainnet statistics
  • quick_build.sh: Architecture detection and depends system integration
  • docker-build/: New Docker build infrastructure

Compiler Fixes

  • Fixed Signet port overflow warning (313496 → 33496)
  • Resolved BerkeleyDB atomic function conflicts with modern GCC

Upgrade Notes

For Users

  • New wallets will generate Taproot addresses by default
  • To use legacy address types: bitcoinpurple-cli getnewaddress "" legacy
  • Sync progress now displays accurate time estimates

For Developers

  • Use Docker builds for reproducible binaries: ./build-all-platforms.sh
  • Native builds: ./quick_build.sh --full
  • Quick rebuilds: ./quick_build.sh --rebuild (uses ccache)

Compatibility

  • Fully compatible with existing BitcoinPurple wallets
  • P2P network protocol unchanged (except client identifier)
  • RPC interface backward compatible

Full Changelog: v1.0.0...v1.1.0