0Chain Weekly Debrief — June 15, 2022

Chad Hanson
Zus Network
5 min readJun 15, 2022

--

Happy Wednesday everyone! This week, we look at recent testing results which showcase the recent code upgrades the team has committed over the past several months. The blockchain and blobber teams are currently fine tuning some recently merged features while collaborating with our front end teams to connect API feeds to our numerous apps and platforms. Meanwhile, our business development, operations, and marketing teams continue their collaboration in preparation for rollout of various programs and platforms.

You may have seen our landing page go live for our Blobber network! Make sure to sign up and share your referral code with others to join. Our storage network allows you to plug in your hardware and start earning rewards. join the first cohort of storage providers that will provide cloud infrastructure to Web3 and businesses!

Network Performance in Perspective

Before we dive into the specifics of this week’s dev updates, we take a look at recent testing performed by 0Chain Dev Yury and Sculptex. The blockchain team has implemented some major upgrades to our network which has resulted in enhanced stability and performance. Yury reports that in his recent benchmark testing has shown really positive results in terms of API endpoints, transaction performance and speed. He notes that he is using a large data set for testing blockchain functionality, including over 1 million wallets, 2.5 million allocations, 100,000 delegators/stakers, and 10,000 blobbers. He adds that the 2.5 million allocations “is close to the set goal. I am working toward 10 million allocations but the generation takes time, likely a couple of days to get to that number.” From the results so far, the team is very pleased but did identify a few small optimizations that could further boost performance and speed of transactions.

With the promising results of blockchain testing, which is important for scaling of the network, the performance of the storage network also needs testing. Sculptex has been working on scale testing of Blobbers and performance for comparisons with other platforms. He gave some sneak peeks of early testing results to Space Force (Hopium) community members but hopes to be sharing more detail in coming weeks. He has uploaded well over half a million files this last week and is encouraged with results so far. Sculptex notes he is aiming to break the million file mark this week. With our Erasure Coding having been tested extensively in the past, storage of actual files is the only way to conduct proper testing. With his eyes set on hitting a million files shared across two blobbers, Sculptex’s future plans include max network performance as more blobbers join during Active Set.

Development Team Updates

With progress put into perspective, the blockchain team continues its work by closing 11 PRs and 11 issues on the 0Chain Repo. Recent updates by the team have resulted in positive results when looking at tokenomics structure and performance, blockchain functionality and speed, and smart contract performance–which continues to be under intensive work. While smart contracts continue to see ongoing work, many team members are optimizing (everyone’s favorite) the recent changes to features.This is a key component and can be viewed as a positive sign since many major changes have been finished, are compatible together, and benefit from small modifications to further boost performance.

In light of recent success with benchmark testing, the team has implemented a fix for all errors that were encountered with the testing as well as added support to run benchmark testing with pre-generated data, to mimic live data. With an emphasis on smart contract optimization, the team implemented pagination for all APIs on storagesc. This means that when information is called for and there are numerous lines of data, such as a blobber list, the lists will be provided in pages. This is a rather common technique in many apps and platforms, but requires small modification to the smart contract. The currency.coin PR upgraded the transaction value type which enables safe currency calculation for transaction fees, transaction values, stake pool fees and delegate pool fees. Work was continued on our read pool structure, which was simplified to keep only one balance field. Previously, there were two fields, the owner and visitor, which complicated token-locking logic without providing any benefits in return. The team implemented updated benchmark testing processes so that the tests will be conducted for each PR that is merged, ensuring new code will not break prior test results. The team fixed a zcnsc bridge burn issue, which will prevent issues upon migrating to native ZCN. The team also added nonce validation when receiving new transactions from clients while also adding concurrency safeguards to the current round timeout field. The global configuration was moved to the MPT base configuration to improve performance.

The Blobber and GoSDK team closed 8 PRs and 4 issues this week. The transaction nonce gap issue, which has hidden itself for some time, resulted in GoSDK users to have unstable transaction confirmation. Following several days of debugging, the team identified the issue and implemented a fix. The team has expanded its API providers for ZCN/USD feeds to ensure proper price streaming for users and service providers to refer to when making transactions or new allocations. The team also fixed an issue with performing a health check on a blobber. Finally, the team implemented support for an offline option for some commands, such as version recoverywallet, which does not require connection to 0Chain network. The recover wallet offline feature is an essential function and will assist in transition to mainnet by the Active Set. It enables the use of an ethereum seed phrase to generate wallets, which is a convenience option for users. With the ability to perform this function offline via the official 0Chain repo, we aim to provide user assurance and security. The team continues its work on a new PR, which focuses on changes to the blobber side in order to simply read-pool process logic and remove unnecessary fields/steps. This PR is currently undergoing work and will be merged following code review and testing.

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

--

--