0Chain Weekly Debrief — April 6, 2022
Happy April everyone! As we swing into this month, you will continue to see our presence on social media which many of you have noticed and have interacted with. In addition, you will soon see some marketing campaigns go into effect with a chance for you to get involved to earn rewards. Over the past week, the dev team continues to make progress on multiple fronts, including closing some longstanding PRs that are critical for our progression toward Active Set testing. Let’s take a look:
Blockchain & Smart Contract Team Updates
Another successful week for the blockchain and smart contract teams as we merged 16 PRs resulting in the closure of 33 issues in total. During this time, we opened 6 new PRs as well as 6 new issues.
As mentioned last week, the block blobber reward PR and blobber challenge PR were being worked on and have successfully been closed at this time. These are major accomplishments as they have been heavily re-worked for an extensive period of time. These two PRs enable us to improve storage smart contracts significantly, especially for the smart contracts which generate blobber block rewards and those which issue challenges to blobbers. These updates help improve the speed at which these smart contract execute, which is important to enable fast data transactions on our network. In turn, blobbers are paid for the services they provide and these PRs ensure that this occurs correctly.
Over the last week, we mentioned our partial state PR and lint error PR which now have been closed and pushed into the main repo. Outside of these, we have also fixed a variety of other bugs. We fixed an allocation update bug which allows users to update an allocation size via the following PR which ensures that smart contract costs are accurately reflected on the network. We merged the round info page PR which would cause a panic when querying round info in VRF phases.
The team also implemented an alert GitHub action which will notify our devop team when there are any changes pushed into the yaml configuration. The yaml configuration is a settings location which are important for the operation of our nodes and network. Stay tuned for a more in-depth dive into this coming soon. We also made some updates to our build-and-publish docker image to include zwallet and zbox in order to make our system testing easier to use. We added a few new features in our test coverage in order to detect vulnerabilities, thus making our testing process more robust. Finally, we finished the transaction cost-related configuration migration from local file to MPT. This goes in hand with our upgrade to MPT over the past several weeks, which significantly improved smart contract performance and speed.
Blobber Dev Team Updates
The blobber and storage team successfully merged 10 PRs, closed 5 issues, and opened 3 new PR.
The main issue that the team addressed was related to optimizing root hash calculations. The CalculateHash() function of a blobber had inefficiencies causing postgres to go into recovery mode frequently was address via this PR. By preventing unnecessary process from occurring on the blobber’s rig, we optimize efficiency, resulting in decreased resource usage.
During this time, the team also fixed an issue related to file collaborators that prevented them from updating a file. Now, they are able to update a file however they are still prevented from deleting files to prevent unwanted removal of files from the network. The team fixed a bug to address the process of getting the object tree when an allocation was empty as well as the process of creating a new folder. The team is also currently working on a db auto-migration PR, which is nearing completion at this time. While we plan to re-visit this topic next week, this PR will add tags to help gorm auto-migration schemes. Stay tuned for an inside look at this next week!
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.