Skip to content

2024.09.1.3

Compare
Choose a tag to compare
@MaidSafe-QA MaidSafe-QA released this 09 Sep 10:36

Binary Versions

  • faucet v0.5.0
  • nat-detection v0.2.3
  • node-launchpad v0.3.14
  • safe v0.95.0
  • safenode v0.111.0
  • safenode-manager v0.10.3
  • safenodemand v0.10.3
  • safenode_rpc_client v0.6.28
  • sn_auditor v0.3.0

🔦 Highlights

  • A redesign and overhaul of the entire transaction system reduces the code size and complexity by an order or magnitude.
  • Reduced replication range to improve traffic.
  • Improvements to external address management.
  • The node-launchpad now allows users to switch connection modes and utilise custom ports. This should help more people onboard from behind home routers.

Merged Pull Requests

2024-08-19 #2050 -- chore(node): log record_store storing error [@maqi]
2024-08-20 #2052 -- feat(launchpad): list disks with no access [@mazzi]
2024-08-21 #2044 -- feat(network): External Address manager [@RolandSherwin]
2024-08-21 #2056 -- chore(metrics): add unit to certain metrics [@RolandSherwin]
2024-08-22 #2057 -- chore(node): log setting responsible range [@maqi]
2024-08-26 #2062 -- doc(register): expand sn_registers README.md [@maqi]
2024-08-27 #2061 -- fix(client): fetch register accurately and merge results [@maqi] [BREAKING]
2024-08-27 #2064 -- docs: provide more information on build-time keys [@jacderida]
2024-08-27 #2059 -- Reduce responsible range [@maqi]
2024-08-28 #1989 -- Massive Spend Refactor [@grumbach] [BREAKING]
2024-08-29 #2074 -- feat!: update the pk version string [@RolandSherwin] [BREAKING]
2024-09-02 #2080 -- fix(launchpad): storage mountpoint for node data is not set [@mazzi]
2024-09-02 #2068 -- Revert "chore(metrics): add unit to certain metrics" [@RolandSherwin]
2024-09-03 #2076 -- feat(launchpad): connection mode and fixes [@mazzi]
2024-09-04 #2087 -- chore: refactor store_cost calculation [@maqi]

Detailed Changes

Network

Added

  • More logging for storage errors and setting the responsible range.

Changed

  • The node's store cost calculation has had various updates:
    • The minimum and maximum were previously set to 10 and infinity. They've now been updated to 1 and 1 million, respectively.
    • We are now using a sigmoid curve, rather than a linear curve, as the base curve. The previous curve only grew steep when the storage capacity was 40 to 60 percent.
    • The overall calculation is simplified.
  • We expect the updates to the store cost calculation to prevent 'lottery' payments, where one node would have abnormally high earnings.
  • The network version string, which is used when both nodes and clients connect to the network, now uses the version number from the sn_protocol crate rather than sn_networking. This is a breaking change in sn_networking.
  • External address management is improved. Before, if anyone observed us at a certain public IP+port, we would trust that and add it if it matches our local port. Now, we’re keeping track and making sure we only have a single external address that we set when we’ve been observed as that address a certain amount of times (3 by default). It should even handle cases where our IP changes because of (mobile) roaming.
  • The Spend network data type has been refactored to make it lighter and simpler.
  • The entire transaction system has been redesigned; the code size and complexity have been reduced by an order of magnitude.
  • In addition, almost 10 types were removed from the transaction code, further reducing the complexity.
  • The internals of the Transfer and CashNote types have been reworked.
  • The replication range has been reduced, which in turn reduces the base traffic for replication.

Client

Fixed

  • Registers are fetched and merged correctly.

Launchpad

Added

  • A connection mode feature enables users to select whether they want their nodes to connect to the network using automatic NAT detection, upnp, home network, or custom port mappings in their connection. Previously, the launchpad used NAT detection on the user’s behalf. By providing the ability to explore more connection modes, hopefully this will get more users connected.

Changed

  • On the drive selection dialog, drives to which the user does not have read or write access are marked as such.

Documentation

Added

  • A README was provided for the sn_registers crate. It intends to give a comprehensive understanding of the register data type and how it can be used by developers.

Changed

  • Provided more information on connecting to the network using the four keys related to funds, fees and royalties.