Informal Systems

2023-06-20

CometBFT Engineering Newsletter: May Updates!

Ali Merchant • 2023-06-20

New Release Candidate: 0.38.rc-1

We're thrilled to announce the arrival of CometBFT 0.38's latest release candidate, 0.38.rc-1! This release introduces ABCI++ (part 2) and numerous enhancements and bug fixes to boost system stability and performance. To explore the release and its detailed changelog, visit this link.

QA Insights for 0.38

Our team has been hard at work ensuring the quality and reliability of CometBFT 0.38. Through extensive testing, we've compiled a comprehensive QA report, available here. If you're new to the QA process conducted by the CometBFT team, we recommend reading our informative blog post on QA for CometBFT.

Let's delve into some key insights from our QA process:

  • Performance: The QA testing confirms that CometBFT 0.38 maintains performance levels without any observed degradation compared to version 0.37.0. This encouraging result assures users that the new release maintains optimal performance.

  • Impact of Vote Extensions (VE): Our evaluation revealed that the use of large vote extensions (VE) can noticeably affect the overall performance of CometBFT. We recommend that teams evaluate this impact based on their specific use cases. The CometBFT team is ready to assist teams in testing QA for VE, should they require support.

  • Demo App Stability: The QA testing demonstrated the stability of the demo app, featuring CometBFTs PrepareProposal and ProcessProposal, which remains unaffected by vote extension signature verification.

These key insights provide an overview of the QA report, emphasizing the performance stability of CometBFT 0.38 while highlighting the potential impact of large vote extensions. We encourage teams to evaluate this impact in their specific use cases, and the CometBFT team is available to assist with testing QA for VE.

Q3 Prioritization

As we enter the third quarter, the CometBFT team has identified key problem statements that demand our attention:

1. Bandwidth consumption: We aim to optimize and reduce the expensive bandwidth usage in CometBFT. This optimization aligns with our discovery that Vote Extensions can impact performance. Reducing bandwidth consumption will alleviate this performance impact.

2. Storage architecture: We acknowledge the mismatches between CometBFT's storage backend capabilities and current production use cases. Our focus will be on addressing these issues, aiming to reduce the storage footprint and enhance the RPC capabilities of Comet, specifically the Data Companion API.

3. Technical Debt: Our team is committed to evolving the protos and versioned RPC while improving debuggability by cleaning up logs.

Bug Fixes!

While diligently pursuing our Q2 priorities, we've successfully resolved several bugs. Here's a brief summary of the fixes we've implemented:

Unsafe int cast in kill command We've fixed a critical bug in the kill command that previously caused unintended typecasting, leaving other processes vulnerable. The issue has been rectified, ensuring the security and stability of the system. You can find the fix here.

v0.37 pubsub/kvindexer An issue was raised regarding the improper parsing of BigInts in versions 0.34/0.37. We have addressed this problem and improved the handling of ints and floats in comparison operations. Previously, floats with fractions were mistakenly treated as integers. You can find the fixes for version 0.37 here and for version 0.34 here.

Community Updates

CometBFT has been actively collaborating with the wider engineering community, and we are delighted to share some recent highlights:

  • Team Comet has been in contact with several projects building on our software, including Vocdoni, dYdX, Vega Protocol, and dWallet. We have been gathering requirements and feedback from them to inform our roadmap.

  • If you’re a project building (or planning to build) on Comet, please reach out. We want to know what you’re building!

Events

Gateway to Cosmos

  • Adi, our Product Lead, delivered an insightful talk titled "When Comets Align."  In case you missed it, you can watch the recording of his talk here.

  • Feeling the urge to build something great? Ali, our DevRel expert, conducted a workshop on "Building Apps on ABCI." You can catch up on the workshop by watching the recording. (To be released soon.)

  • You can also see here in our Wiki a collection of all presentations and recordings related to CometBFT: https://github.com/cometbft/cometbft/wiki/CometBFT-presentations

ETHCC Paris

  • Join us at EthCC, Paris, where Ali will deliver a captivating talk on CometBFT as a public good. Don't miss the opportunity to learn more about our innovative technology.

Other Events

  • CometBFT team members will also be in attendance at Atom Berlin and AwesomeWasm in July. We are excited to meet the community and learn about the exciting projects you are building.

Shameless Plug

Community Calls We strongly encourage all CometBFT contributors, users, and enthusiasts to join our bi-weekly community calls held on Thursdays. These calls provide an excellent opportunity to engage with our core team and fellow developers. Expect productive discussions and well-researched insights. Subscribe to our community call notifications here.

Social Media For real-time updates and engaging content, make sure to follow us on Twitter. Stay in the loop and be part of the CometBFT community. If you have any questions or need assistance, feel free to reach out to us on Telegram or Discord. We are here to help!

Thank you for being a part of the CometBFT community. Stay tuned for more exciting updates in the next edition.