Commit Graph

690 Commits

Author SHA1 Message Date
sami7777 08b98a8775 Rebrand to Cryptographic Triangles v5.1.3
- Rename client from "Black Pharao" to "Cryptographic Triangles"
- Update CLIENT_VERSION from 4.2.1.0 to 5.1.3.0
- Update DISPLAY_VERSION from 5.0.0.0 to 5.1.3.0
- Update .pro VERSION to 5.1.3.0
- Fix RC file: copyright 2014-2026, fix OriginalFilename typo
- Update about dialog copyright to 2014-2026

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v5.0.0.0
2026-03-15 01:28:52 -07:00
Sami Ahmed 0f307a498d Update client version to v5.1.3 2026-03-14 04:53:19 +01:00
sami7777 e54120108e Remove leftover diagnostic logging from messagemodel.cpp
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v5.1.3
2026-03-13 17:11:22 -07:00
sami7777 50713cc87b Add smsgbroadcast RPC command for messaging all known peers
New command: smsgbroadcast <addrFrom> <message>
Iterates all public keys in smsgDB and sends an encrypted message to each.
Skips the sender's own address. Reports sent/failed counts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:03:51 -07:00
sami7777 ae5e97ad6e Integrate Tor V3 onion identity into wallet startup, fix freeze
The wallet was freezing on "Verifying database integrity" because the
old Tor v2 startup code blocked on a mutex (wait_initialized) and
required an onion/hostname file that no longer existed after v2 removal.

Replace the blocking v2 startup with internal V3 onion identity:
- Every wallet now auto-generates Ed25519 keys and a V3 .onion address
- Keys are stored in wallet.dat (encrypted if wallet is encrypted)
- Onion identity is created after wallet loads (Step 8.5) so keys
  persist across restarts
- No external Tor process required for identity generation
- Writes onion/hostname and tor_data/ config for optional external Tor

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v5.1.2
2026-03-13 12:35:51 -07:00
sami7777 958adea2b6 Upgrade bundled LevelDB from 1.15 to 1.23
Major improvements:
- C++11 port layer (std::mutex/condition_variable replaces platform-specific code)
- Better write performance and compaction scheduling
- Improved Windows support (env_windows.cc replaces env_win.cc)
- More robust crash recovery and corruption detection
- Bloom filter improvements for faster reads

API is backward compatible - no changes needed to txdb-leveldb.cpp.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v5.1.1
2026-03-13 03:17:43 -07:00
sami7777 05b1fd1610 Dramatically speed up startup and sync: headers-first, fast block index, indexed rescan
Startup optimization (fixes multi-minute hang on 2M+ block chain):
- Skip computing SHA-256 stake modifier checksum for blocks below last
  checkpoint (was doing 2M+ unnecessary hashes on every startup)
- Reduce default -checkblocks from 2500 to 50 (disk read savings)
- Add progress percentage reporting during block index load

Headers-first sync (faster initial sync):
- Switch initial sync from getblocks to getheaders protocol
- Add PushGetHeaders and headers message handler in net/main
- Downloads 80-byte headers first, then requests blocks — allows
  the node to learn chain structure before downloading full blocks

Address-index accelerated wallet rescan:
- New ScanForWalletTransactionsFromIndex() uses address index to find
  only transactions touching wallet keys (skips scanning every block)
- Follows spend chains to find related transactions
- Falls back to full scan if index unavailable
- Track index sync state with addressIndexBestChain/StartHeight in LevelDB

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 02:40:13 -07:00
sami7777 7aee073e21 Link boost_chrono on all platforms, not just Windows
smessage.cpp uses boost::chrono::steady_clock which requires
-lboost_chrono. Previously only linked on Windows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 01:28:03 -07:00
sami7777 4266c8f146 Defer heavy UI model loading for faster startup
- Address table and transaction table now load asynchronously via
  QTimer::singleShot after the event loop starts instead of blocking
  the constructor
- MessageModel (secure messaging) lazy-loaded 1s after wallet init
  or on-demand when navigating to message page
- Splash screen stays visible until window.show() completes
- Guard updateConfirmations() against empty transaction table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 00:48:05 -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>
v5.1.0
2026-03-12 00:50:34 -07:00
sami7777 0f34c7d26f Improve startup performance, shutdown reliability, and Qt5 compatibility
- Defer SecureMsgStart and ReacceptWalletTransactions to background thread
  so GUI appears faster during startup
- Add shutdown checks in wallet scan/reaccept to prevent hanging on exit
- Smart wallet rescan: start from wallet birthday instead of genesis block
- Raise default dbcache from 25 to 128 MB for better performance
- Replace deprecated QDesktopServices with QStandardPaths (Qt5 compat)
- Enforce Qt5+ requirement in build system, remove -fpermissive flag

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 23:04:29 -07:00
sami7777 6af3f819ed Merge branch 'master' of https://github.com/SamiAhmed7777/triangles_v5 2026-03-11 00:55:26 -07:00
sami7777 96aeacea65 Fix ConnectToSeederNode call signature in seeder message handler
Combine onionAddress and port into single "address:port" string
to match the function's expected parameter format.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 00:54:19 -07:00
sami7777 741487d533 Remove test files and debug scripts 2026-03-11 08:34:54 +01:00
sami7777 1db41cdfd6 Remove additional build artifacts and debug files 2026-03-11 08:30:37 +01:00
sami7777 661e5cb5e9 Clean up repository: remove internal docs and build artifacts, add .gitignore 2026-03-11 08:29:56 +01:00
sami7777 c636edb6eb Triangles v5.0.0.0 - Chain revival with Tor v3, messaging, and seed nodes
- Revived frozen chain (Dec 2022) with two live seed nodes
- Added Tor v3 onion hidden service support (Ed25519)
- Wired seeder message handlers (seeder/getseederlist/seederlist)
- Hardcoded onion seeds and clearnet IP seeds for DNS2/DNS3
- Fixed bind address (0.0.0.0) so nodes accept external connections
- Added boost_chrono to makefile.unix for modern Boost
- Fixed LoadExternalBlockFile block-skip bug for faster imports
- Import-only optimizations for chain replay (checkpoint-gated)
- Added sort_blocks.c tool for blockchain data recovery
- Comprehensive README with build/run/messaging/Tor instructions
- Chain revival status document for project coordination

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:34:33 -07:00
sami7777 d36b1e7050 Triangles v5: Chain restart updates - DNS seeds, checkpoint, protocol 70205 2026-03-09 02:45:04 -07:00
sami7777 dba7f9642f Black Pharao Release Fix 5 - OpenSSL 3.x and modern Boost compatibility
Port codebase to build with OpenSSL 3.x and Boost 1.90+:
- Rewrite bignum.h to use BIGNUM* pointer instead of inheriting from opaque BIGNUM
- Fix ECDSA_SIG, EVP_CIPHER_CTX, HMAC_CTX opaque type access across key.cpp, crypter.cpp, smessage.cpp
- Modernize Boost.Asio API (io_context, resolver, executor) in trianglesrpc.cpp
- Remove embedded Tor v2 client (incompatible with OpenSSL 3.x), keep Tor v3 SOCKS5 approach
- Update header logo to Cryptographic Triangles branding (300x63)
- Replace Bittrex exchange link with Pinball (313.cash) across all locales
- Fix MSYS2/MinGW64 build: linker flags, Boost library names, miniupnpc static linking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:29:42 -07:00
sami7777 41d9ae4c7a Updated Triangles project - new features and branding 2026-03-08 15:57:09 -07:00
wurstgelee 51bd951eb8 Black Pharao Release Fix 4
- fix serialize.h for Mac build
2015-07-30 23:39:42 +02:00
wurstgelee 3c2830cc6f Black Pharao Release Fix 3
- .pro file adjustments for Mac builds
2015-07-29 14:31:29 +02:00
wurstgelee afd20621c2 Black Pharao Release Fix 2
- fixed Mac build
- removed unused ttf
2015-07-28 15:59:06 +02:00
unknown 7b5be5f44a Black Pharao Release Fix 1
- fixed macdockiconhandler filename issues
2015-07-26 18:56:25 +02:00
TrianglesCommunityProject 2bbdc915ba Black Pharao Update 1
- added/fixed some Mac build instructions
2015-07-23 10:06:42 +02:00
TrianglesCommunityProject 627c13c0fc Black Pharao Release
Version 4.2.1.0
- wallet makeover
- staking behaviour adjustments
- non mandatory update-
- no need for updating daemons (only recomended if used for staking)
2015-07-22 23:00:36 +02:00
TrianglesCommunityProject 69cc21394f Pharao Release Fix 1
Added missing triangles.icns for Mac builds.
2014-10-06 19:51:31 +02:00
TrianglesCommunityProject 69aedf2533 Pharao Release
Version 4.0.0.4
- refactored code
- migrated vom Qt4 to Qt5
- added secure messaging
2014-10-05 23:37:30 +02:00
TrianglesCommunityProject 215a52f3e6 Cheops Release Fix 2
Adressing small node number network issues.
2014-08-29 13:49:42 +02:00
TrianglesCommunityProject a0158e66f2 Cheops Release Fix 1
Version 3.4.2.0.
- reverted previous idiocy
2014-08-28 15:34:57 +02:00
TrianglesCommunityProject fbadfb5086 Cheops Release
Version 3.4.1.0.
- changed parameters to prevent future blockchain deadlocks
- minor bugs fixed
- checkpoint added.
2014-08-27 16:38:26 +02:00
TrianglesCommunityProject caac12acb7 Protocol version fix
This change never made it into the original repository although both
v3.3.4.4 ("Illuminatus") Windows and Mac Wallets were compiled with it.
2014-08-27 12:46:43 +02:00
TrianglesDev 251db54c76 you know why 2014-07-24 18:47:27 -07:00
TrianglesDev facfa064c3 updated hashSyncCheckpoint 2014-07-24 17:29:15 -07:00
TrianglesDev 7bd768eaa8 Checkpoint
Added one more
2014-07-24 17:25:58 -07:00
TrianglesDev 42dcb01f97 Sync and Checkpoint fix
Syncing the blockchain should not require client restarts anymore and
checkpointing updated. Staking has also been tweaked somewhat.
2014-07-24 16:28:57 -07:00
TrianglesDev ba6b557f39 Version update 2014-07-21 20:07:07 -07:00
TrianglesDev 0a5f2a5cb5 Added a few checkpoints 2014-07-19 13:32:10 -07:00
TrianglesDev 911282be61 txFees fix 2014-07-16 19:53:01 -07:00
TrianglesDev 64d03a409d Initial upload 2014-07-16 16:05:09 -07:00