0Chain Weekly Debrief — October 19, 2022

Tiago Souza
Zus Network

--

Happy Wednesday! Last week the team fixed all the system test 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. 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.

Blockchain Team

The blockchain team closed 12 PRs and 15 issues in the 0chain 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. 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:

https://github.com/0chain/0chain/pull/1667

https://github.com/0chain/0chain/pull/1738

https://github.com/0chain/blobber/pull/850

https://github.com/0chain/0chain/pull/1746

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.

Developer Resources

  • Interested in learning more about building on 0Chain or becoming a service provider? Check out our GitHub for access to repositories. Community ambassador Sculptex has created numerous tutorials to help get you started.
  • Try our BetaNet here! Users can create wallets and allocations, store files, send transactions, and share files.
  • Need help navigating creating wallets, allocations, or joining as a blobber? Check out our documentation page.
  • 0Chain’s API endpoints use simple and intuitive HTTP requests to interact with the blockchain in order to send/retrieve information to and from miners, sharders or blobbers in the active network.

About 0Chain

0Chain is a high-performance decentralized storage network designed to eliminate business threats such as censorship, privacy liability and data breaches. 0Chain helps entities achieve GDPR compliance, localization and tokenization, and monetizes private data sharing.

API| Docs | Telegram | Reddit | Twitter | Forum | GitHub

--

--