0Chain Weekly Debrief — June 29, 2022

Chad Hanson
Zus Network

--

Happy Wednesday! This week, we have a plethora of dev updates on both the blockchain and storage sides as the team continues to round out API feeds, improve documentation for easing adoption, and preparing for long-term network scaling. Thank you again to everyone who has already signed up for our storage application, secure wallet, or storage provider platform. If you haven’t already, make sure to take advantage of our extended deadlines to earn rewards.

Development Team Updates

The blockchain and smart contract teams have merged 18 PRs and closed 15 issues over the past week. Building upon prior weeks’ testing and debugging, the team has implemented various fixes to address performance and API feeds. The team identified bugs and implemented fixes for the /getUsersPool API endpoint, which would cause incorrect return of the client’s pool info, as well as the /alloc-written-size-per-period endpoint. New APIs were implemented to provide the amount of data added during a range of blocks, provide support to searching by block range for the getTransactionByFilter, and to return transaction hashes when filtered by LookUpHash, Name or ContentHash. The team’s rigorous testing ensures that API feeds provide accurate information while maintaining security. This is important so that front-end applications and users can securely access information. In turn, the team has also removed unnecessary swagger documentation to prevent redundancies.

Outside of addressing API-related issues, several updates were made for key network functionality and event database scalability. With the team’s recent testing, they were able to identify and fix an issue within conductor testing which would cause the creation of rounds too fast, resulting in the tests failing as the rounds would exceed the desired stopping point. Database-related fixes include improving the process of updating allocations to prevent new need for a new allocation as well as bugs related to the validator-related interactions with the event database. A memory leak issue was detected that could cause crashing of sharders. A fix was implemented to limit the event channel buffer size from 1 million to 100. Key generation scripts were updated to include the -tag bn256 build tag in order to ensure it performs adequately. Block reward constants were moved to the sc.yaml and MPT. These constants, which were previously hardcoded, are used for calculating block rewards and thus must perform as anticipated in order to ensure service providers are properly rewarded. The team also updated the magic block generation in order to meet mainnet requirements.

The blockchain team has also been working on the ability for sharder’s to upgrade and tier their storage. This is critical for future-proofing the sharders’ blockchain storage. As the network scales and time passes, sharders will be tasked with storing block history which will build up. By allowing sharders to store data on multiplied devices or even tiering them onto network storage for older, infrequently accessed blocks, the team is preparing for ensuring high network performance and long-term success of network scalability.

The Blobber and gosdk team have closed 9 PRs in the Blobber and gosdk repos in the past week. The team updated code to support file listing, which providers support for specifying a file path instead of a directory. This update makes the process work similarly to the linux ls command, which should return a file. In collaboration with the blockchain team’s fixes on conductor testing, the Blobber team also fixed a compilation error for conductor tests. Following testing and review of the znft sdk, the team implemented suggested fixes for the nft-based functionality. The team added further support for ZCN price feeds on the blobber side to ensure accuracy when creating allocations or staking. The team has placed additional focus on mobile support for zcncore functionality. The team added support for TransactionSchema and iOS frameworks/simulators. The team has also finished its PR for gomobile sdk build so that all the sdk could be supported for mobile development.

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

--

--