Commit Graph

44 Commits

Author SHA1 Message Date
Krystie ada278cb9f Bump version to 5.7.7 2026-04-09 11:22:05 -07:00
Krystie 334b525fe6 Sync repo version constants to 5.7.6
Build All Platforms / test-linux-unit (push) Failing after 40s
Build All Platforms / build-linux-qt (push) Failing after 40s
Build All Platforms / build-linux-daemon (push) Failing after 40s
Build All Platforms / build-windows-qt (push) Has been cancelled
Build All Platforms / build-windows-daemon (push) Has been cancelled
Build All Platforms / build-macos (push) Has been cancelled
Build All Platforms / release (push) Has been cancelled
Build All Platforms / Trigger TRI-PI ARM64 Build (push) Has been cancelled
2026-04-08 13:26:31 -07:00
sami7777 ed1ae79822 Bump version to 5.7.5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 03:46:16 -07:00
sami7777 012bc344f5 Bump version to 5.5.6
HTTPS seed fetch, hardcoded onion seeds, staking crash fix,
-zapwallettxes support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 03:20:31 -07:00
sami7777 89dad5818f v5.5.5: UTXO model, fast startup, lazy DB migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 22:06:39 -07:00
sami7777 098f27368f v5.6.0 Tor-native: embed Tor, force .onion-only networking
Every Triangles wallet is now a Tor node. Staking rewards subsidize
Tor infrastructure.

Core changes:
- Embedded Tor 0.4.9.6 as git submodule
- ConnectNode rejects all non-.onion peers
- Tor failure is fatal - wallet requires Tor to operate
- All proxies forced through embedded Tor SOCKS
- Clearnet (IPv4/IPv6) disabled at startup
- HTTP seed fetch routes through Tor proxy (removed boost::asio dep)
- Merged PoW cleanup: -623 lines of dead mining code
- Stripped dead LEGACY/MIXED bootstrap modes from net_bootstrap
- RPC getnetworkinfo reports tor_native mode

Tooling:
- scripts/bump-version.sh syncs version across all 17+ files
- Version bumped to 5.6.0 across all packaging manifests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 17:55:41 -07:00
Krystie 2c3a2f983c v5.5.5: Auto-bootstrap for new nodes - zero config required
- Daemon: automatically downloads blockchain snapshot when no data exists
  No -bootstrap flag needed. Use -nobootstrap to skip.
- Qt wallet: auto-bootstraps on first run (no question asked)
  Existing users still get the optional re-download prompt.
- New users just install and run - blockchain downloads automatically
- Works on all platforms (Windows, Linux, macOS, ARM64)
2026-04-03 16:18:31 -07:00
Krystie 999726730b v5.5.4: Add hardcoded seed nodes for automatic network mesh
- Hardcoded DNS3 (74.208.167.19), DNS2 (194.233.88.206), and Contabo (100.98.123.59) as fixed seeds
- Nodes will automatically connect to these on first run
- No manual addnode configuration needed
- Full mesh network connectivity built into the code
2026-04-03 15:55:51 -07:00
Krystie d903ef2fc7 v5.5.3: Per-user installer (no UAC), network drive support, branding 2026-04-03 00:58:39 -07:00
Krystie 4be0101f2d Bump clientversion.h to 5.5.2 (match tag) 2026-04-02 23:38:52 -07:00
Krystie 91e026d7ec Fix Tor v3 onion address checksum: SHA-256 -> SHA3-256
The Tor v3 spec requires SHA3-256 (FIPS-202) for the .onion address
checksum computation, but ToStringIP() was using SHA-256 (double-hash).
This caused every reconstructed .onion address to have incorrect suffix
characters, making all outbound Tor connections fail with SOCKS5 'general
failure' - the entire network had 0 Tor peers despite working Tor instances.

Fix: Replace Hash() call with OpenSSL EVP_sha3_256() which is available
in OpenSSL 3.0+ and produces the correct FIPS-202 SHA3-256 checksum.

Tested: All 5 onion seed nodes now connect successfully.
2026-04-02 14:16:41 -07:00
sami7777 ad0088ef3a Add dynamic HTTP seed discovery, remove hardcoded seeds (v5.5.0)
Replace all hardcoded seed addresses (onion, clearnet, DNS) with a
dynamic HTTP-based seed list fetched from seeds.cryptographic-triangles.org
on startup. New getseedlist RPC exposes known .onion peers from the
address manager for a collector script to publish.

Any wallet that comes online with an onion address is automatically
discovered by peers via P2P addr exchange and appears in the seed list
within minutes. No binary rebuilds needed when addresses change.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 18:25:43 -07:00
Krystie 4605cb4b70 Bump version to 5.4.4 - Updated seed nodes 2026-03-31 17:07:54 -07:00
sami7777 8203f97eeb Bump version to v5.4.3
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 12:40:33 -07:00
sami7777 fea90d1f0a Bump version to v5.4.2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 01:00:43 -07:00
sami7777 2c77ebb122 Fix shutdown race conditions causing bad_weak_ptr crash (v5.4.1)
Fixes multiple concurrency bugs exposed during shutdown when Tor proxy
connections are failing:

- Reorder shutdown: stop network threads before destroying Tor V3 services
- Make RPC listener responsive to fShutdown (poll_one+sleep vs blocking run_one)
- Wrap StopRequests() in try/catch and drain io_service on exit
- Fix leaked CNode AddRef in ThreadSocketHandler2 and ThreadMessageHandler2
  (return→break so Release loop executes)
- Guard vNodes.size() read with cs_vNodes lock (data race)
- Guard Qt UI signal callbacks with fShutdown check (use-after-free)
- Add cs_vNodes lock in CNetCleanup global destructor
- Force-disconnect remaining nodes in StopNode() after threads stop
- Make Tor maintenance thread sleep in 500ms intervals for prompt shutdown

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 21:57:34 -07:00
sami7777 853efe3ad9 Bump version to v5.4.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 01:03:53 -07:00
sami7777 dd72957646 Bump version to v5.3.9
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 22:20:27 -07:00
sami7777 9ca61bef47 Bump version to v5.3.8
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 18:54:57 -07:00
sami7777 9f69ead715 v5.3.7: Fix sync stall, transaction display, balance updates, and bootstrap snapshots
Sync fixes:
- Extend stall detection beyond IBD to catch post-IBD sync gaps
- Walk-forward inv continuation to avoid CBlockLocator exponential gap loop
- Track walk-forward progress for stall recovery without restarting from scratch

GUI fixes:
- Load transactions synchronously in constructor (deferred QTimer never fired)
- Use beginResetModel/endResetModel instead of deprecated reset()
- Schedule full refresh on TRY_LOCK failure to avoid dropped CT_NEW notifications
- Only update cachedNumBlocks after successful balance check (prevents permanent loss)
- Add GetAllBalances() single-pass balance retrieval with TRY_LOCK

Bootstrap:
- Add trusted snapshot manifest verification for bootstrap archives
- Add IsKnownCheckpoint() to validate manifest against compiled-in checkpoints
- Skip txleveldb rebuild when verified manifest is present

Bump version to 5.3.7 across all packaging manifests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 23:36:43 -07:00
sami7777 5ea26a94ff Bump version to 5.3.6 - IBD sync optimizations and Linux build fix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 23:15:14 -07:00
sami7777 104d496e77 Bump version to 5.3.5 - fix out-of-sync display for PoS chains
Remove time-based sync check that showed "out of sync" when blocks
were >6 hours old. For PoS chains with few stakers, blocks can be
hours apart - that's idle, not out of sync. Now uses block count
only. Also adds periodic UI refresh every 30s and switches cached
stake weight from volatile to std::atomic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 17:59:18 -07:00
sami7777 96fb7d5040 Bump version to 5.3.4 - fix UI freezing during staking
Build All Platforms / build-windows-qt (push) Waiting to run
Build All Platforms / build-windows-daemon (push) Waiting to run
Build All Platforms / build-linux-qt (push) Waiting to run
Build All Platforms / build-linux-daemon (push) Waiting to run
Build All Platforms / build-macos (push) Waiting to run
Build All Platforms / release (push) Blocked by required conditions
Move GetStakeWeight() off the UI thread by caching in the staking
miner thread. Replace blocking LOCK(cs_vNodes) with TRY_LOCK in
clientmodel and staking icon updates. Fix out-of-sync label getting
stuck when disconnected. Add daemon bootstrap and faster IBD pipeline.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 21:28:11 -07:00
sami7777 2abd494fec Bump version to 5.3.3 and update CI version
Build All Platforms / build-windows-qt (push) Waiting to run
Build All Platforms / build-windows-daemon (push) Waiting to run
Build All Platforms / build-linux-qt (push) Waiting to run
Build All Platforms / build-linux-daemon (push) Waiting to run
Build All Platforms / build-macos (push) Waiting to run
Build All Platforms / release (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 18:54:44 -07:00
sami7777 bf1bf393c8 Bump version to 5.3.2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 14:18:06 -07:00
sami7777 c432817d5f Bump version to 5.3.1
Build All Platforms / build-windows-qt (push) Waiting to run
Build All Platforms / build-windows-daemon (push) Waiting to run
Build All Platforms / build-linux-qt (push) Waiting to run
Build All Platforms / build-linux-daemon (push) Waiting to run
Build All Platforms / build-macos (push) Waiting to run
Build All Platforms / release (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 02:36:12 -07:00
sami7777 7ee2f00224 Bump version to 5.3.0
Build All Platforms / build-windows-qt (push) Waiting to run
Build All Platforms / build-windows-daemon (push) Waiting to run
Build All Platforms / build-linux-qt (push) Waiting to run
Build All Platforms / build-linux-daemon (push) Waiting to run
Build All Platforms / build-macos (push) Waiting to run
Build All Platforms / release (push) Blocked by required conditions
C++17 modernization, Tor v2 removal, embedded Tor scaffold, IBD speedups.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 01:57:24 -07:00
sami7777 7b5b80cb3a Fix critical bug: duplicate version messages causing peer disconnects
Fixed missing braces in CNode constructor (net.h:327-329) that caused
PushVersion() to execute unconditionally for ALL connections instead of
only outbound connections.

This bug caused inbound peers (seed nodes) to:
1. Send version on connection (unintended)
2. Send version again when receiving peer's version (intended)
3. Trigger Misbehaving(1) on peer side for duplicate version
4. Get disconnected by peer (ProcessMessage fails → CloseSocketDisconnect)

Result: Seed nodes could only serve ~120 blocks before disconnect,
making sync nearly impossible.

Bump version to 5.2.1.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-16 22:05:10 -07:00
sami7777 1966f49ce2 Fix sync checkpoint blocking IBD, bump to v5.2.0
hashSyncCheckpoint was initialized to block 2,186,940 hash, causing
CheckSync to reject ALL blocks below that height during initial block
download (they aren't in mapBlockIndex yet when checked). Changed to
genesis hash so IBD can proceed from block 0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 18:09:38 -07:00
sami7777 87bfc15712 Bump version to v5.1.9
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 17:48:24 -07:00
sami7777 d180b5870c Bump version to v5.1.8
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 03:45:55 -07:00
sami7777 5af26f186e v5.1.7: Add Tor process manager for .onion connectivity
Build All Platforms / build-windows-qt (push) Waiting to run
Build All Platforms / build-windows-daemon (push) Waiting to run
Build All Platforms / build-linux-qt (push) Waiting to run
Build All Platforms / build-linux-daemon (push) Waiting to run
Build All Platforms / build-macos (push) Waiting to run
Build All Platforms / release (push) Blocked by required conditions
Adds CTorProcess which finds and launches an external Tor binary as a
subprocess, providing a SOCKS5 proxy on port 19099 and a v3 hidden
service on port 24112. The wallet auto-detects Tor from common install
locations or the app directory. Falls back gracefully to clearnet-only
if Tor is not found. Also fixes Tor-only network restriction that
blocked IPv4/IPv6, and bumps version to 5.1.7.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 02:31:55 -07:00
sami7777 3ed9a42b3c v5.1.6: Fix block sync stall for fresh nodes, REST API refactor
Build All Platforms / build-windows-qt (push) Waiting to run
Build All Platforms / build-windows-daemon (push) Waiting to run
Build All Platforms / build-linux-qt (push) Waiting to run
Build All Platforms / build-macos (push) Waiting to run
Build All Platforms / release (push) Blocked by required conditions
Build All Platforms / build-linux-daemon (push) Failing after 25m20s
Critical fix: revert initial sync from getheaders back to getblocks.
The headers-first change (05b1fd1) broke chain continuation — after
downloading the first 2000 blocks, fresh nodes would stall because
the getheaders path has no orphan-based continuation mechanism.
The getblocks/inv/orphan cycle is required for full chain sync.

Also adds getblocks fallback to the headers handler so if headers
are used via other paths, sync still continues.

Other changes:
- Extract REST API into separate rest.cpp/rest.h
- Add REST rate limiting and CORS support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 01:57:50 -07:00
sami7777 6a8fde3e92 Bump version to v5.1.5, remove tracked build artifacts
Build All Platforms / build-windows-qt (push) Waiting to run
Build All Platforms / build-windows-daemon (push) Waiting to run
Build All Platforms / build-linux-qt (push) Waiting to run
Build All Platforms / build-macos (push) Waiting to run
Build All Platforms / release (push) Blocked by required conditions
Build All Platforms / build-linux-daemon (push) Failing after 22m48s
- Bump version 5.1.4 → 5.1.5 across all source, CI, and packaging files
- Remove 157 build artifacts (build/*.o, release/*.dll, etc.) from git tracking
  These were added before .gitignore existed and caused cross-platform CI failures

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 16:50:08 -07:00
sami7777 7c7e951adb Bump version to v5.1.4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 01:55:10 -07:00
Sami Ahmed 0f307a498d Update client version to v5.1.3 2026-03-14 04:53:19 +01: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 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
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 64d03a409d Initial upload 2014-07-16 16:05:09 -07:00