OgmiosDotnetClient v2.0.0
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
.
- Check for specific transactions with
- Mempool Insights:
- Query the size, transaction count, and capacity of the mempool using
SizeOfMempoolAsync
.
- Query the size, transaction count, and capacity of the mempool using
- Release Resources: Free resources with
ReleaseMempoolAsync
when snapshots are no longer needed. - Graceful Shutdown: Cleanly close WebSocket connections with
ShutdownAsync
.
- Acquire Mempool Snapshots: Use
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.