0Chain Weekly Debrief — August 10, 2022
Happy Wednesday! This week, as our development team works hard to ensure a secure and stable network, we were featured once again as one of the most active projects on Github.
Let’s give a big shout out for the dev team and all their effort!
As premmainnet events approaches, we would like to get the Active Set (AS) to be more involved. If you are part of the AS, make sure to post questions on Telegram, or send directly to me (Tiago) or Chad!
Last week, the blockchain and blobber team worked together to address the blobbers challenges pass rate issue. Meanwhile, they finished most of the code review for the token bridge smart contract, and autorizers servers. This week, the team will be fixing the remaining issues that were found and reviewing the code for 0swap to address any potential security issue.
Blockchain Team Updates
Last week the Blockchain team mainly closed 18 PRs and 7 issues:
The blockchain team fixed:
1) a chain stuck issue that was caused by a mistakenly hidden ‘node not found’ error.
2) a security related issue on fixed a security related issue on zcnsc mint smart contract that it would pass the signature verification if there is no signature provided. With security in mind, we want to provide the best possible experience for our users and community.
3) a security related issue on zcnsc, where it did not check if the client id was the target client id that is validated by authorizers. This fix will prevent malicious users from performing man-in-the-middle to mint tokens for themselves.
4) a bug on blobber delegate pool update event
5) empty index for user event updating https://github.com/0chain/0chain/pull/1554
6) emit events on updating of blobber details.Terms.
More fixes were conducted for potential overflow math operations. Furthermore, the team replaced git patch with scripts to update blobber config for running conductor tests as part of integration tests, and removed duration flag using on conductor tests for zbox rp-lock and removed unused DataRead field from blobber storage node to make the data struct compact, and returned UsedAllocation field in blobber API response. Lastly, when updatingthe min lock config, a fix was added which prevents a value from being auto-assigned thus preventing potential errors.
Blobber & gosdk team
The blobber and gosdk team closed 13 PRs, mainly for addressing the blobber challenge pass rate low issue.
The team fixed:
1) a hash_mismatch error, as well as the Refs ordering issue
2) the challenge CreatedAt timestamp ambiguity
3) challenge issues partially by:
- Adding lock between object path calculation and writemarker commit
- Fixing database connection leakage
- Using goroutines to send request to validators
- Allowing blank allocation to be valid.
4) OOM by loading and processing challenges one by one
5) ref ordering issue on renaming
6) a concurrent map read access issue
Finally, they added sdk for swap functions and exposed APIs on wasm for swap wallet and token.
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.