sami7777
|
7ceb1f6a4d
|
Replace boost with C++17 std equivalents, upgrade LZ4 to 1.10.0
- boost::tuple → std::tuple (serialize.h, miner.cpp, script.cpp, walletdb.cpp)
- boost::shared_ptr → std::shared_ptr (trianglesrpc.cpp)
- boost::variant → std::variant for CTxDestination (script.h)
- boost::get → std::get_if (main.cpp, rpcblockchain.cpp, coincontroldialog.cpp, wallet.cpp)
- boost::apply_visitor → std::visit (base58.h, script.cpp, rpcwallet.cpp, test/base58_tests.cpp)
- boost::static_visitor removed from all visitor classes
- boost::lexical_cast → std::to_string/std::stoll (smessage.cpp, rpcsmessage.cpp)
- Removed unused boost/lexical_cast.hpp includes (rest.cpp, trianglesrpc.cpp)
- Removed boost/variant/get.hpp include (rpcdump.cpp)
- Upgraded vendored LZ4 from 1.1.3 to 1.10.0
- Updated LZ4_compress() → LZ4_compress_default() (smessage.cpp)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 02:31:23 -07:00 |
|
sami7777
|
383a3b8b02
|
Modernize codebase: C++17, remove Tor v2, add embedded Tor scaffold, IBD speedups
- Replace ~290 BOOST_FOREACH with C++11 range-for across 41+ files
- Replace boost::assign::map_list_of with C++11 brace initialization
- Remove PAIRTYPE macro (no longer needed without BOOST_FOREACH)
- Guard OpenSSL locking callbacks for 3.x (no-ops in >= 1.1.0)
- Fix Qt deprecated APIs for Qt6 compat (QStyleOptionViewItemV4, setResizeMode)
- Add openssl_compat.h version string wrapper
- Enable C++17 in makefile.unix and triangles-qt.pro
- Delete 163 dead Tor v2 source files (~150K lines removed)
- Add embedded Tor scaffold (tor_embedded.h/cpp) using tor_api.h
- Add build-libtor.sh helper and CODEX-TOR-GUIDE.md
- Update makefile.unix and .pro with USE_TOR_EMBEDDED optional flag
- Fallback to external tor_process when not compiled with libtor
- IBD pipeline refill: 100 -> 1000 blocks
- Send/recv buffer limits: unlimited -> 100MB/32MB
- Orphan block cap: unlimited -> 750 with random eviction
- Socket poll: 10ms -> 1ms during IBD
- Message handler sleep: 10ms -> 1ms during IBD
- Stall detection timeout: 5s -> 2s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 01:52:40 -07:00 |
|
sami7777
|
e133e97f3b
|
Add comprehensive RPC API upgrade: REST, ZMQ, SSE, address index
Phase 1 - New RPC commands (no new deps):
- getblockheader: header data from memory, zero disk reads
- estimatefee: static fee estimation (Bitcoin Core compatible)
- getblockchaininfo: chain state, difficulty, moneysupply
- getwalletinfo: balance, stake, txcount, keypool, encryption
- getnetworkinfo: version, protocol, connections, proxy
- gettxoutsetinfo: height, bestblock, total_amount
Phase 2 - REST API layer (-rest=1):
- /rest/chaininfo.json, /rest/block/<hash>.json|hex
- /rest/blockheader/<hash>.json, /rest/tx/<txid>.json|hex
- /rest/blockhashbyheight/<n>, /rest/mempool.json
- CORS headers for browser-based explorer access
Phase 3 - ZMQ pub/sub notifications (optional, USE_ZMQ=1):
- Topics: hashblock, hashtx, rawblock, rawtx
- Conditional compilation via ENABLE_ZMQ
Phase 4 - SSE real-time notifications (-ssenotify=1):
- GET /events endpoint (authenticated, long-lived)
- Block and transaction event streaming
- 15-second keepalive for proxy compatibility
Phase 5 - Address index (-addressindex=1):
- getaddressbalance, getaddressutxos, getaddresstxids
- LevelDB-backed index updated in ConnectBlock/DisconnectBlock
- Requires -reindex on first use
Also fixes QDesktopServices missing include for Qt5.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-12 00:50:34 -07:00 |
|