Skip to content

v1.135.178 NETFORY WEB4.0 Network

Choose a tag to compare

@technologiespro technologiespro released this 24 Sep 05:16

README

image

Additional tools:

Release Notes

NETFORY Wallet over iroh

Wallet transport moved to iroh (SHIP-44). The wallet now talks to sth-core nodes directly over the iroh QUIC mesh instead of HTTPS RPC. Three built-in api://…/sth-core nodes form the primary pool; the legacy HTTPS pool is kept only as a fallback when no iroh node is reachable. Every response is signed by the node's key (pdata, Ed25519 = EndpointId) and verified client-side. Failover goes iroh -> next iroh node -> clearnet; 429/503 switch nodes immediately. Node auto-selection prefers iroh nodes by latency and skips any node lagging more than 5 blocks.

Live push events instead of polling. A single persistent stream (sth/events/1) delivers balance, tx, mempoolTx and block frames as they happen. Balance updates and incoming-transfer notifications are instant, pending transactions appear in history right away, and the dashboard shows a pulsing LIVE badge with the current network height. Background polling drops to a 2-minute safety check while the stream is up; on reconnect the node replays anything missed since the last seen height.

Nonce fixes. First transaction from a brand-new wallet no longer fails (a 404 wallet not on chain from the active node was being masked by a DNS error from the backup node). The wallet now also accounts for the node's unconfirmed pool (/transactions/unconfirmed?senderId=) and, if a node still rejects with ERR_BAD_NONCE, re-signs once with the nonce the node expects.

SHIP-14 token balances. Non-zero token balances (symbol, name, logo, amount by decimals) are shown on the wallet dashboard and update live from the balance stream.

Nodes screen. P2P tab is now first and lists the iroh pool with an iroh badge, latency, height and stream status (LIVE/reconnecting/legacy). Automatic detection of a local localhost:4003 node has been removed - add it manually under "Custom nodes" if you still need it.

Fixes. Moving the data folder no longer fails on the locked smartnet_db (os error 33) - the database stays in place and locked cache files are skipped instead of aborting the transfer.

This release moves the wallet, naming and social layers onto the Iroh P2P mesh end‑to‑end, adds a local blockchain index for instant offline history, and fixes a storage leak in the blob store.

🚀 Highlights

Local blockchain index (instant history, offline)

  • Every transaction of your wallet addresses (main + BIP‑44 sub‑accounts) is now synced into the local database in the background and kept fresh by the live sth/events/1 stream - no more polling.
  • Wallet history, your registered @name, subscriptions/subscribers and messenger encryption keys are all read from the local index in microseconds. The network is only touched for deltas.
  • Sync progress is shown under the LIVE badge; up to 1,000 transactions per address are kept ready for the UI.

Incremental subscription graph

  • Followers/following are stored as an on‑device graph with per‑address cursors. First run does a full scan (the node filters by vendorField), after that only timestamp.from deltas are fetched.
  • New sub: transactions arriving over the stream update the graph immediately and refresh the profile view.
  • Fixed: subscriptions older than the last 100 transactions were invisible ("not following" for addresses with 1,000+ txs).

Peer address book (Iroh)

  • New persistent peer book in the local database: relay URLs and direct IP:port of every peer you have talked to (30‑day TTL, up to 8 addresses per peer, 4,000 peers with LRU eviction).
  • Plugged into Iroh as an AddressLookup service, so every connect by NodeID - sth‑core API, wallet stream, chat DMs, blob downloads, AI nodes - gets known addresses instantly while DHT/DNS/mDNS discovery runs in parallel.
  • Peers are typed by role: wallet, api, chat, seed, ai. Roles accumulate per peer and are exposed via peerbook_list for diagnostics.
  • Stealth mode keeps strict relay isolation: only the operator's n1 relays are ever suggested from the book.
  • Peer identity is still verified by QUIC/TLS against the ed25519 NodeID - cached addresses are a transport hint only.

Blob storage leak fixed

  • Every blob import created a permanent auto‑tag, which pinned old dApp archives, files and logos forever - GC could never free them (up to 170+ GB observed).
  • Imports now use temporary tags with the seed keep‑set as the single source of truth; legacy tags are removed on startup so GC reclaims orphaned blobs automatically within minutes.

💳 Wallet

  • Outgoing transactions appear immediately as pending with a real 8‑second countdown ring; confirmed by the block, expired ones (>15 min) are dropped.
  • Switching accounts is instant: history is cached per address in memory and served from the local index.
  • Transactions are shown strictly for the active address; transfers between your own accounts render as −X on the sender and +X on the recipient.
  • Fixed "eternal pending" on historical transactions (confirmation is derived from blockId).
  • Node list badge: IROH -> PQ (post‑quantum P2P).

👤 Names & Profile

  • Fixed lost @names: paid registrations confirmed on chain before the reserved‑list cutoff (2026‑08‑09) are honoured even if the word was later reserved. Silent rejections are now logged.
  • Names from reserved.txt are reported to users simply as "taken"; registration is refused with the same message.
  • Fresh installs recover the name from chain within seconds via Iroh (recover_my_username), also triggered from the top bar and profile.
  • New Resync registry button in the Security panel: rescans names, subscribers and the full transaction index from chain.
  • Registered name shown as a tooltip on the avatar.

💬 Messenger

  • Minimum fee for publishing a message key / inbox price raised to 0.10 STH (max of minimum, node's dynamic size‑aware fee and manual override) - fixes ERR_LOW_FEE rejections.

🔧 Under the hood

  • Historical queries (/transactions?...) go through Iroh only; the legacy HTTPS pool and client‑side result filtering are gone (nodes apply filters correctly). Multipayment recipients are resolved from asset.payments.
  • Restored https_post for user‑configured clearnet nodes.
  • New docs/FEES.md: complete registry of all STH fees, payments and sink addresses across NETFORY.
  • Version bumped to 1.135.176.