Happy Wednesday! Last week the team fixed all the system tests errors and the benchmark test errors of the batch update PR and merged it into staging. The load test results improved significantly, and the network demonstrated greater stability than before. Remarkably, with 800 TPS the peak of steady block finalization duration was about 370ms, and the start-to-finish block finality was under 2.2 seconds. Hence, now that the finality variation issue has improved, the team will now move their focus to other places and close the remaining issues. As well as continued system tests. Beyond the batch update PR, the team also put effort into fixing test errors on other PRs, which for the most part are ready to be merged into staging.
The blockchain team closed 12 PRs and 15 issues in the Züs repo: 7 PRs and 4 issues in gosdk, and 3 PRs and 6 issues in the blobber repo. Check for more details below:
Merged events and batch updates were made for most of the events. Although there are still some events to be merged, it is only because they emit rarely and will not affect performance during system tests. Check here for more details about this PR.
Fixed a sharder stake issue. Mainly two issues:
a) the stake pool was saved into the wrong provider type, always the type of miner, so the sharder would not be staked,
b) the sharder node data was not synced with the node in AllSharderList, which led to the staked delegate pools being overwritten by the AllSharderList later on.
Limited the number of signatures of zcnsc. Mint transactions, otherwise malicious users could fake transactions causing redundant fake signatures that could waste miners’ CPU resources for validation.
Fixed a bug by taking the MaxChallengeCompletionTime config from MPT and reducing the MPT access by setting the loaded config as a parameter to functions. Also, fixed the limit issue by returning the error if the API request with a pagination limit value is greater than the max limit. Previously, the limit value was changed to the default of max silently, which could have led to unexpected behaviors.
Removed block_size as block size is controlled by the max_block_cost, as it does not need a duplicate config for this purpose. Added option to /getblobbers endpoint to get active blobbers. Moreover, the team merged emit events on collect-reward for validators and a fix to move all tokens in the write pool when creating free allocations.
Other issues fixed:
Blobber & Gosdk
Modified the use of tollbooth’s rate-limiter and corrected the use of rate-limiter with proxy on blobber.
Fixed a bug of challenge_timing in the postgres database.
Fixed a bug in the mobile SDK on redeemFreeStorage.
Added consensus checking during delete to make sure data is deleted from all blobbers.
Fixed consensus on getbalance API.
Changed blobber ID to be mandatory in sdk.GetStakePoolInfo API. Previously, if blobber ID was not provided, the default wallet’s client ID would be used.
Fixed check remaining space of allocation before uploading data to it
Added a friendly error message if DNS is down.
Züs is a high-performance storage platform that powers limitless applications. It’s a new way to earn passive income from storage.