0Chain Weekly Debrief — September 14, 2022

Tiago Souza
Zus Network

--

Happy Wednesday! Hope you are all doing well. Last week, the blockchain team continued focusing on load tests and tuning the network blocks finality. Also, they closed a few PRs and issues on different repos.

Blockchain Team

The team fixed a blobber add event error that breaks the unique constraint. This happened due to a bug on distributing block rewards for miners and sharders that still needs fixing. Furthermore, the team made all providers to have the same table fields of rewards and total_rewards so that they can be used with go generics to generate rewards/update sql to simplify the code. Moved providers rewards to a common table provider_rewards in order to batch update rewards for all providers. Previously, the team had to run separated sql to update different provider tables, which are too expensive and slow. Merged more events that slow down the event process: AddAllocations, UpdateAllocations, UpdateChallenges, UpdateBlobberChallenge. Merged AddWriteMarker, AddReadMarker events and use gorm hooks (sql trigger) to update blobber’s stat info instead of calling another separate sql to update them. However, even after merging, the stake pool rewards update events were still slow. This is because the items that needs update on each sql are large, an will grow larger as the increase of the number of miners/sharders, as well as the delegation pools number. This was fixed by implementing randomness in the selection of pools, so rewards are distributed evenly on the long run.

Moreover, they merged rewards and penalties updates into one sql. Fixed duplicate validator_id on adding sql. Updated blobber. SavedData on adding writeMarker with gorm hooks. Added magicblock readme. Made validator ID uniqueIndex. Removed TimeUnit from storage allocation by using the value from global config instead. Added delegate wallet ID present check to update authorizer, where only the authorizer itself should be allowed to update the authorizer node. Added delete authorizer to check the delegate wallet ID when deleting authorizers node. Turned stake validators as providers in stake pools to differentiate between providers IDs. Fixed blobber update with validator ID. Added wasm html demo. Exposed download blocks on wasm, and added FilePlayer. Exposed SignRequest/VerifySignature on mobile sdk. Added option to stake validator. Updated zcnbridge on wasm. These updates are to ensure the network stability and desired functionality upon launch.

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

--

--