v2.3.0
The Bee team is pleased to announce the v2.3.0 release. π
Reserve Doubling for Optimized Node Rewards
The most anticipated feature of this release is the new ability for node operators to double the reserve capacity of their nodes to store chunks from a βsisterβ neighborhood. By storing chunks from its sister neighborhood, a node gains the opportunity to participate in the redistribution game whenever its sister neighborhood is selected, doubling its chances of participating in the redistribution game. The amount of doubling is controlled by a new config option, reserve-capacity-doubling
which by default is 0 and is currently capped at 1.
See the Official Release Announcement for more details.
Warning
The release contains new redistribution and staking contracts, so it's advised to upgrade as soon as possible. Before upgrading, however, the stake must be manually migrated by operators. The instructions on how to do so are available here.
Graffiti Several Owner Chunks
GSOC features allows for uploads of multiple version of the same Single-Owner-Chunk but different payloads to be picked up by a subscriber in a distant neighborhood. The SOC addresses can be configured to target a specific neighborhood to trigger the message subscriptions of the listeners. A WebSocket connection can be registered for a particular SOC address using the new /gsoc/subscribe/{address}
endpoint to pick up the new payloads of the SOC in real time.
For questions, comments, and feedback, reach out on Discord.
Features
- Allow user to specify the retrieval redundancy level in the download headers ( #4814 ).
- Reserve size doubling allows for doubling of the reserve capacity to be able to participate in multiple sister neighborhoods. ( #4847 )
- Added a new status endpoint path,
status/neighborhoods
that returns the different neighborhoods the nodes is storing chunks for in string binary form, the proximity to the neighborhood, and the respective reserves sizes for each neighborhood ( #4853 ). - Added committed depth field to the status response. The committed depth is the current storage radius + reserve doubling amount ( #4892 ).
- Added a new status endpoint path,
- Graffiti Several Owner Chunks feature adds the ability to upload multiple versions of the Single-Owner-Chunk (SOC) to a specific neighborhood where owners of the neighbor nodes can subscribe to pick up latest versions of the same SOC in real time ( #4901 ).
Bug fixes
- Fixed a bug where block-chain transaction would get stuck in pending status mode due to faulty nonce calculation ( #4839 #4867 ).
- Fixed a bug where a node is unable to block-list peers if connected peers are all from inbound connections ( #4871 ).
- Several boot-node related fixes ( #4909 #4910 )
- The storage incentives agent can no longer attempt to participate in a round before the global warm up period is over ( #4898 ).
Optimization
- Improved reserve sampling duration by avoiding certain unnecessary crypto operations for SOCs and matching the worker count to the available number of CPUs ( #4882 ).
Hardening
- Readiness endpoint now returns a JSON response based on the initialization status of the node ( #4601 ).
- Reduced verbosity of some logs in kademlia and transaction packages from
Info
toDebug
( #4825 ). - Wallet endpoint can now be called even if swap is not enabled ( #4859 ).
- RCHash endpoint now returns the total duration in seconds ( #4862 ).