0Chain Weekly Debrief — March 30, 2022

Chad Hanson
Zus Network
Published in
4 min readMar 30, 2022

I hope everyone has been having a good week so far! We noticed the community has been enjoying the uptick in our Twitter presence, so make sure to keep liking, retweeting and posting your own content. Keep your eyes open for more content coming soon! I will plan on breaking down weekly updates into further digestible content for the community in the coming weeks.. This week, we take another look at dev progress for both the blockchain and blobber networks, with the completion of some milestones. Let’s dive in:

Blockchain Dev Progress

Over the course of the past week, the team address 7 main issues on the 0Chain repo and closed 15 PRs. They opened an additional of 5 new PRs that they also plan to address. Among the closed PRs, the issues addressed included:

  • The team was able to fix a race condition on the blobber ReadMarker by changing the ReadCounter to ReadSize. This will help optimize the payment structure and business logic that occurs when a file or multiple files receive read requests. To learn more about the PR and associated PRs on other repos, click here.
  • The team uncovered a potential panic issue that was caused when estimating a transaction cost and were able to implement a fix. With a small change to the code, the team was able to address a bug that would occur upon unlocking stakepool. When certain scenarios arose, it would return improper data, causing issues upon attempting to unlock the staked tokens. Check here for more details. These are a couple of the smart contract fixes we have been referring to over the past week and are critical to ensure safe interactions with our network by users and service providers alike.
  • Other areas of improvement include Fixes to make the APIs return 404 on unknow paths, instead of return the diagnostic page, stopping the generation of challenges when there are no validators, as well as fixing a 0dns patch issue. Previously, the 0dns patch was stale so the team updated it in order to make it workable
  • Other smart contract progress has been made on the blobber block reward and challenge generation PRs. These are still under testing and internal review by the team.
  • Notably, the highly discussed transaction nonce PR has made significant headway. This PR is very close to being merged since all the system tests have been fixed. Small issues arose during special case testing that need to be addressed in order for proper delegate wallet setup for service provider nodes.
  • We recently implemented a new PR to verify the integrity of partial state acquired from remotes. This PR is coupled alongside several other PRs related to partial state. The intent of these fixes are to validate the partial state to ensure that all nodes are connected to the network and can be reached from root; a critical component for overall functionality and network security. It also checks if duplicate nodes are detected, which can be used to prevent malicious nodes which could fake the partial state if certain requirements/consensus is met. It is currently undergoing systems testing and will pass when fixed.
  • Final progress was on the linter errors fixing PR which successfully passed testing. To recap, this is to ensure our code is maintainable, easy to read, and update in the future — creating a standard across our code base.

Blobber Dev Progress

Over the past week, the blobber dev team has closed 5 PRs, 4 issues and opened 4 new PRs. During this time, they mainly updated the blobber to address batch uploading and to support our available after feature.

  • The blobber network was updated to support the uploading of a batch of chunks in one request. Previously, we split a large piece of data into lot of small chunks which required us to to send multiple http requests to upload the data. Overall, this was an inefficient way to perform the tasks, so we were able to update the code which allows for the sending of multiple chunks of data in single requests. Check the details here.
  • They also also finished the available-after feature implementation. This feature basically gives the user the capability to share a resources with others but it would only be viewable after a certain time. Meaning, if you wanted to share a data set starting at a certain period of time, you could set the availability of the data to occur at a specific data and time of your choosing.

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

--

--