0Chain Weekly Debrief — March 16, 2022

Chad Hanson
Zus Network

--

Welcome back to the weekly debrief, I appreciate everyone’s patience with the small pause over the past week. Given this break, this week’s update includes a bit more content including non-dev and dev progress. We take a look at overall marketing progress and what to expect, as well as diving into some big code pushes and subsequent fixes which has enhanced blockchain speed and stability, bringing us closer to Active Set testing. Let’s dive in!

Non-Dev Updates

Many key ingredients to our marketing makeover and ramp up of content as we approach our pre-mainnet marketing launch. Let’s take a look at the overall status of progress:

Over the last several weeks, we have fully integrated our marketing agency into our platforms to help assess and augment marketing campaigns for mainnet rollout. In collaboration with them, we have been prepping a variety of marketing materials, some of which are complete and others in progress. Currently, we are awaiting to release them to coincide with mainnet milestones, active set testing, etc. We have built out a new community discord, per the request of the community, and are going through some final review and feedback to optimize the layout and content. This discord community will enable us to streamline information to our community, users, developers and Active Set. In addition, we recently hired a new Social Media team member so you will soon see an uptick in content being posted.

Simultaneous to the marketing progress and preparation, our Storage and Wallet app UI/UX have been completed and are currently in development. These are massive applications and will enable users to simply get started using our apps to help reduce barriers to onboarding new users. We cannot wait to show you all of this! In addition, you have heard us discuss the importance of our web explorer in the past. Following several rounds of proposals and reviews, we are nearing completion of the UI/UX and will soon ship to development phase for final implementation (currently being worked in a private repo).

Our token economics upgrade has been completed and written at this time and is currently undergoing final approval and review to ensure all considerations have been made. When marked with the approval stamp, it will be released. To coincide with this, we are preparing information materials for the tokenomics release to help provide detailed explanation for our community members and to help with anticipated FAQs. You can expect information materials over the tokenomics release to be the first release in a series of mainnet milestones.

Development Team Updates

Over the past two weeks, the dev side has seen some progress on the remaining main issues. As a result of the team’s hard work, they have closed 25 issues and merged 16 PRs on the 0Chain/0Chain repo. Let’s look at some of the main issues that were addressed:

  • Fixed the duplicate keys insert on events db issue. This issue has persisted for a long time — the process to trigger and insert the events was incorrect, and could cause a lot of duplicate items. As a result, the duplicate keys checking would cause performance issues. You can see the PR fix here.
  • Found and located an issue that failed our system tests, see PR
  • Finished the code for adding `authorizer settings` which added the `zcnsc` execution function for updating authorizer settings and global settings.As a result, we also updated related gosdk and zwalletcli to support this.
  • Finished the stakepool table for event db
  • Finished the transaction cost feature implementation which has been in progress for several weeks. This will help us balance the block and subsequently avoid pauses in block finalization. As a result, the consensus protocol will work more stable and smooth, which is major progress for blockchain functionality and stability.
  • Further byzantine tests were written and reviewed, with the merging of the `Conductor` test code that mock the `FBRequestor` and `MinerNotarizedBlockRequestor` attacks

In terms of smart contract progress, further progress has been made in the following areas:

  • Rewrote the challenge generation smart contract. Though still progress and needing code review, recent benchmark testing shows that the time has reduced from about 2000ms to 1.9ms, which is huge performance gain. We will review the code and fix potential issues while aiming to merge the code in the next 1–2 weeks..
  • We are nearing the completion of our block reward rewrite which will undergo final review.
  • Fixed system tests errors for magp serialization replacement code. The errors were mainly caused by two issues that came from msg, a) it does not support sorted map when encoding, which would lead to the same map data generating different bytes data, which is not what we wanted,. b) The msgp does not support time.Duration type. We attempted to fix this via replacing all out data struct to int64, however, this would make the code not compatible with our clients code. The way to fix the above two issues was by implementing the sorted map and time.Duration for the msgp through this fix.

While our blockchain and smart contract team made significant progress as noted above, we also saw a numerous fixes for the blobber, gosdk, zbox and zwalletcli

  • Fixed the file upload inside file issue
  • Fixed a lock release issue which happened when a file is committed
  • Fixed validator work directory issue
  • integration of write maker lock (distribution lock) on file operations, applied it on chunk file uploading
  • fixed a dead lock
  • add hashnode API
  • fixed time.Sleep and sign issue

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

--

--