Skip to content

OgmiosDotnetClient v2.0.0

Compare
Choose a tag to compare
@ItsDaveB ItsDaveB released this 10 Dec 20:59
a1ad29a

Release v2.0.0

I'm excited to announce the release of OgmiosDotnetClient v2.0.0, a major update that expands the library's capabilities and introduces a comprehensive example Worker application. This release builds upon the foundation of v1.0.0, offering enhanced features, improved performance, and tools to simplify integration with the Cardano blockchain.

Compatibility

  • Designed to work seamlessly with Ogmios v6.7.
  • Upgraded to target .NET 9.0, providing significant performance improvements and compatibility with the latest tools and libraries.

🚀 Features

Core Library Enhancements

  • Chain Synchronization:

    • Intersection Finding: Automatically locate a starting point for synchronization between the client and the blockchain.
    • Real-Time Updates:
      • Roll Forward: Process new blocks as they are added to the blockchain.
      • Roll Backward: Handle reorganizations by reverting to the last common point.
    • Pipelining: Optimize synchronization performance with multiple simultaneous requests, reducing latency and maximizing bandwidth.
    • Era-Specific Synchronization: Focus on era transitions or specific block milestones.
    • Rate Limiting: Control block requests using the MaxBlocksPerSecond configuration, preventing overloads.
    • Multiple Parallel Connections: Initiate connections from different starting points, improving synchronization times and resource efficiency.
  • Memory Pool Monitoring:

    • Acquire Mempool Snapshots: Use AcquireMempoolAsync to get consistent snapshots of the mempool for transaction querying.
    • Transaction Management:
      • Check for specific transactions with HasTransactionAsync.
      • Retrieve transactions sequentially using NextTransactionAsync.
    • Mempool Insights:
      • Query the size, transaction count, and capacity of the mempool using SizeOfMempoolAsync.
    • Release Resources: Free resources with ReleaseMempoolAsync when snapshots are no longer needed.
    • Graceful Shutdown: Cleanly close WebSocket connections with ShutdownAsync.

New in v2.0.0

Example Worker Application

  • Fully Functional Worker:
    • Demonstrates blockchain and mempool data processing.
    • Reads blocks and transactions starting from specified slots.
    • Saves processed data to an in-memory PostgreSQL database using Entity Framework Core, enabling easy replacement with other database providers.
  • Extensibility:
    • Modular design allows customization of blockchain and mempool event handling.
    • Easily configurable for additional database providers or external integrations.
  • Documentation:
    • Comprehensive setup and usage instructions available in the repository, with detailed guidance for extending the Worker application to meet specific use cases.
    • Worker Application Documentation

Technical Upgrades

  • .NET 9.0 Support:
    • Upgraded all projects to target .NET 9.0, unlocking improved performance and ensuring compatibility with the latest ecosystem.
    • Observed significant speed-ups in blockchain synchronization and mempool monitoring operations.

Demonstration

https://www.youtube.com/watch?v=vw6pFG0Q51s