Releases: ItsDaveB/OgmiosDotnet
OgmiosDotnetClient v2.1.0
Release v2.1.0
I'm excited to announce the release of OgmiosDotnetClient v2.1.0, a major update that supports the Ogmios v6.10.0 release.
Compatibility
- Designed to work seamlessly with Ogmios v6.10.0.
Full Changelog: v6.7.0-beta.1...v6.10.0-beta-1
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.
Demonstration
OgmiosDotnetClient v1.0.0
v1.0.0
I'm thrilled to announce the first release of OgmiosDotnetClient, a .NET library that provides seamless integration with a Cardano Node via the Ogmios WebSocket interface. This release delivers powerful capabilities for both Chain Synchronization and Memory Pool Monitoring, offering developers a plug-and-play solution for Cardano integration in .NET applications.
Compatibility: This release is designed to work seamlessly with Ogmios v6.7.
🚀 Features
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:
- Synchronize from specific points of interest, such as era transitions or block milestones.
- Rate Limiting:
- New
MaxBlocksPerSecond
configuration option allows rate-limiting for block requests, preventing overloads when interacting with third-party services.
- New
- Multiple Parallel Connections:
- Support for multiple connections from different blockchain starting points improves synchronization times and efficiently utilizes resources from third-party services.
Memory Pool Monitoring
- Acquire Mempool Snapshots:
- Use
AcquireMempoolAsync
to obtain a consistent snapshot of the mempool for querying transactions and mempool details.
- Use
- Transaction Management:
- Check for specific transactions using
HasTransactionAsync
. - Retrieve transactions sequentially with
NextTransactionAsync
.
- Check for specific transactions using
- Mempool Insights:
- Query the current size, transaction count, and capacity of the mempool using
SizeOfMempoolAsync
.
- Query the current size, transaction count, and capacity of the mempool using
- Release Mempool:
- Free resources by releasing the acquired snapshot using
ReleaseMempoolAsync
.
- Free resources by releasing the acquired snapshot using
- Graceful Shutdown:
- Use
ShutdownAsync
to close WebSocket connections cleanly.
- Use
Thank you for trying OgmiosDotnetClient v1.0.0! Your feedback is invaluable, feel free to open issues or contribute to the project.