0Chain Weekly Debrief — April 13, 2022
Over the past week, the community has seen the launch of a few marketing campaigns while the dev team continues to make progress on multiple ends. Thanks to everyone who has joined our signup campaigns for our storage and wallet applications, we can’t wait to share the design makeovers with you.
Non-Dev Team Updates
We have recently implemented the ability to sign up early for our wallet and storage apps, giving early participants an opportunity to be rewarded. Thank you to everyone who has joined the waitlist and shared with others, we have seen some positive results thus far and anticipate more engagement as we approach mainnet launch. If you have questions, feel free to reach out to us on Twitter or Telegram. For those who have signed up, we will send a followup email closer to launch with details on the next steps. Below you can find the tl;dr of the reward programs.
As we continue to finalize more content behind the scenes for our pre-mainnet rollout, you will see more educational content coming to our social media pages. If there are topics, protocols, or use-cases you would like to hear more about, share them with us on Twitter or Telegram. Make sure to keep sharing your 0Chain-related content, memes and gifs with us!
Development Team Updates
Over the past week, the blockchain team has closed 8 issues and 10 pull requests while raising over 20 new PRs in the 0Chain repo. During that time, the blobber team closed 3 issues and 3 PRs. The team is currently ironing out the remaining small bugs while connecting recently upgraded smart contracts to API feeds.
On the blockchain side, some of the main PRs that were closed include the StorageAllocation optimization, updating blobber stake and db events, adding geolocation features, and adding stake/delegate pools to zcnsc. These PRs helped improve overall functionality of our smart contracts by removing unnecessary processes, like pulling blobber info from the smart contract. Meanwhile, we also implemented parallel downloads of blobber information which also improves speeds. Overall, these PRs were the continued process of optimizing our smart contracts that you have read about over the past couple of weeks, but you can learn more by clicking on each PR above. As these smart contracts are updated and optimized, we also are updating API endpoints at the same time in order to ensure that the data streams work as intended.
New PRs that were raised over the past week include topics such as swagger documentation, blobber MPT performance, allocation modification info, and partition refactoring. With recent changes to our smart contracts, the team is improving the APIs that are connected to them. This is done through swagger documentation, the universal standard for documenting APIs. This is important for the internal team to use during building and testing. A new API is being built to provide information for allocations which include the amount of data written to/read from a blobber over a period of time. This data can be leveraged to monitor usage of a data allocation and provide real-time data streams of network usage. Regarding partition refactoring, an issue was identified that made creating new partitions difficult and prone to error. The PR not only made the process more simple, creating decreased risk for errors, but there was also significant gain in performance as the new GetItem() method is about 20~30x faster than before.
Due to the vast amount of test scenarios we have created, we were able to detect a byzantine error case that could arise with malicious blobbers. A recent code update was pushed to address a race condition that would occur when a client was attempting to modify a file from two different devices. The new code was tested, identifying potential flaws, and reversed, further showing the success of the various tests built out by the team.
On the blobber side, the main issue that was corrected was that the wrong hash could be deleted when attempting to delete a folder of data. The issue was addressed, ensuring proper functionality of our platform to reduce user issues as well as improving feedback to the user end with proper data streams. The blobber team will continue to optimize the database over the coming weeks. Some areas of focus include improving calculating allocation roots, which can be impacted when there are a lot of files and directories being created. The team has been exploring potential avenues for optimization over the past weeks and plan to begin implementation.
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.