0Chain Weekly Debrief — November 2, 2022

Tiago Souza
Zus Network

--

Happy November! With all the talks regarding Twitter, influencers have started to wonder about crypto and Web3 integration. With all that is to come, it is important to emphasize the need for Decentralized Storage vs Centralized Storage to form a solid foundation for Web3. Included in this weekly update are some new tools for creating an offline wallet.

Now let’s dive into this week’s update! Last week the team conducted several rounds of load and chaos testing and found only a few issues. In addition, they continue working on the snapshot PR to add historical event data support for the frontend team. Meanwhile, the team finished the benchmark tests work in branch fix/benchmarks, which still require unit tests and system test fixes to finalize the PR. However, core changes and tests have already been done and will close in the following weeks. Also, there were a few updates on gosdk/zwalletcli/zboxcli, including a zwallet transaction fee support and a new create-wallet command support. Finally, the team closed PRs and issues, check below for more details:

Save blobbers in partitions: Benchmark was optimized for creating and updating new allocations. The data contained in one of the allocations was saved in a number of selected blobbers. Previously, each time an allocation was created, they would have to get blobbers from MPT and update the blobbers’ data. Data such as the capacity and offers, and then save them back to the MPT one by one. On the other hand, with partitions, if all of the blobbers are located in the same partition, it would only require 1 MPT to get action and 1 MPT to set action. This will improve the overall performance.

Apart from the changes from the blobber partitions, the team also optimized the update allocation smart contract. This ensures the allocation is not updated immediately when the contract is called. Instead, the update request will be checked. Blobbers are only when it is needed to resize (increase the allocation size) or to update blobber terms. With this change, all other updates, such as adding new blobbers to the allocation, and extending the allocation duration, will not need to load and update all the blobbers every time.

In addition, the team fixed conductor tests, incorrect magic block settings on conductor tests, and a gosdk crash issue, which was due to the bulkBarrierPreWrite unaligned arguments issue. Also, the team fixed zboxcli sync issues, added an authorizer to the token bridge smart contract, a new CLI command create-wallet to create an offline wallet, and an API to get the estimated transaction fees in any given transaction.

Furthermore, they added offline wallet creation to the SDK and additional support to transaction fees on client ends. Lastly, they exposed GetPublicEncryptionKey to mobile SDK and added macOS SDK build github workflow.

Hope you enjoyed the weekly update!

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

--

--