Repository navigation
v1.135.178 NETFORY WEB4.0 Network
Additional tools:
- NetDrop (fast file exchange) https://github.com/NETFORY/NetDrop/releases/tag/0.6.7
- DEV Hub protocol tool (dev:// decentralized "github") https://github.com/NETFORY/git-remote-dev/releases/tag/1.55.47
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/1stream - 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 onlytimestamp.fromdeltas 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
AddressLookupservice, 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 viapeerbook_listfor 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
−Xon the sender and+Xon 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.txtare 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_FEErejections.
🔧 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 fromasset.payments. - Restored
https_postfor 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.