Insight v0.0.3-beta
Version v0.0.3-beta focuses on data accuracy by introducing handling for reorgs. Other changes include refactoring the RPC component for easier reuse, creating a test setup with initial tests and improving the setup for running Insight locally.
Features and Enhancements
- Reorganization Handling and Storage Enhancements
- Introduced a new `ReorgHandler` component to detect and handle blockchain reorganizations, with updated metrics to track performance.
- Added storage support for chain reorganization
- Configurable reorg handler settings to manage detection intervals and block scans.
- Refactored RPC Client and Modularity Improvements
- Created an `IRPCClient` interface for better abstraction and testability of the RPC client.
- Refactored RPC-related functionality into a dedicated `rpc` package to improve code structure and performance.
- Updated orchestrator components to utilize the enhanced RPC client setup.
- Simplified RPC interactions with utility functions for data serialization.
- Data Insertion Refactoring
- Overhauled data insertion logic in the storage layer for configurable batching strategy, enhancing transaction handling across different storage systems.
- Introduced `InsertDataForBlocks` method in storage interfaces, streamlining data insertion processes.
API Changes
- API Configuration and Documentation
- Made the API host configurable, enhancing deployment flexibility across environments.
- Updated Swagger documentation handling to dynamically generate API docs at the `/openapi.json` endpoint.
- CORS Support
- Added CORS middleware to API routes, improving cross-origin request handling and enhancing API accessibility.
Infrastructure and Tooling
- Continuous Integration and Testing Setup
- Established a testing framework using Testify and Mockery, and integrated CI workflows.
- Local Development Enhancements
- Added an option to disable TLS for ClickHouse and included a Docker Compose setup for easier local development and testing.
Learn more about Insight at https://github.com/thirdweb-dev/insight