0Chain Weekly Debrief — October 26, 2022

Tiago Souza
Zus Network

--

Happy Wednesday! Last week the blockchain team closed 13 PRs and 6 tracked issues on the 0chain repo, as well as 9 PRs on gosdk & blobber repos. Beyond the merged PRs, the team worked on benchmark test errors and implemented the snapshot event database feature. In addition, they refactored the partition package to make it easier to use, and to accelerate smart contracts from the minersc. Check for more details below:

Blockchain Team

  • The blockchain team is hard at work improving the performance of smart contracts. In their next steps, they will conduct more benchmark tests. The tests will identify which ones need some help in order to increase their efficiency even further!
  • The team’s work on refactoring the partitions package has been a great success! In order to make it easier for users, we’ve added an index of locations within each individual partition so that they do not need to maintain this manually.
  • Location indexes were cached when loading a partition to get locations without referring to MPT.
  • AllMinersList and AllShardersList were replaced with partitions. Previously two places stored the miner nodes in the MPT, the single miner node and the AllMinersList. Since AllMinersList stores all the miner nodes’ info in one MPT node, previously, each time a miner had to update, all nodes had to load from the MPT, update, and save the generated list back to the MPT, and beyond that, also update the single miner node. This whole process needed to be faster, taking about 13ms to finish. The same also happened with sharders. The time for the smart contract to update its node health check saw a reduction from about 13ms to 2.5ms!
  • We fixed the issue to return an error instead of continuing when minimal validators numbers are not met when generating challenges.
  • New tests have been added to ensure the resilience of an invalid block with the wrong round seed.
  • The blockchain team added blobber conductor tests.
  • They have fixed the wrong block generation conductor tests.
  • The developers made some corrections to the error messages that are given when getting blocks API.
  • Benchmark tests panic fixed on payFee smart contracts.
  • The smart contract configs on the Genesis block were initialized by our team.

Blobber & Gosdk

  • The team fixed security warnings that were reported by code scanning.
  • All of the code that was duplicated in our mobile SDK has been removed.
  • The zcnbridge ‘MintWZCN’ operation has been fixed.
  • To avoid resource locking, we added a second before retrying to download files.

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

--

--