2024.09.1.3
Binary Versions
faucet
v0.5.0nat-detection
v0.2.3node-launchpad
v0.3.14safe
v0.95.0safenode
v0.111.0safenode-manager
v0.10.3safenodemand
v0.10.3safenode_rpc_client
v0.6.28sn_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 thansn_networking
. This is a breaking change insn_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
andCashNote
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.