-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d2766d6
commit b6ae02d
Showing
1 changed file
with
17 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,43 @@ | ||
<div align="center"> | ||
## Overview | ||
|
||
[![Clean, Build](https://github.com/cardano-foundation/cf-ledger-sync/actions/workflows/build.yml/badge.svg)](https://github.com/cardano-foundation/cf-ledger-sync/actions/workflows/build.yml) | ||
[![CodeQL](https://github.com/cardano-foundation/cf-ledger-sync/actions/workflows/codeql.yml/badge.svg)](https://github.com/cardano-foundation/cf-ledger-sync/actions/workflows/codeql.yml) | ||
[![License](https://img.shields.io:/github/license/cardano-foundation/cf-ledger-sync?color=blue&label=license)](https://github.com/cardano-foundation/cf-ledger-sync/blob/master/LICENSE) | ||
Ledger Sync is a Java application designed to provide efficient access to Cardano blockchain data. | ||
|
||
</div> | ||
Released under an open-source licence, Ledger Sync aims to achieve the same data completeness as Cardano DB Sync while offering flexibility and customizations for developers. By addressing challenges in blockchain data retrieval and offering a reliable Java-based solution, Ledger Sync enhances accessibility to blockchain-related data, supporting diverse projects and fostering Cardano's open-source maturity. | ||
|
||
This repository contains the following applications: | ||
Ongoing developments include improving functionality, such as parallel processing during initial sync, scoping indexing, rewards data, governance off-chain data, granular pattern matching filtering, etc providing blueprints for various development scenarios, with the Foundation encouraging community engagement and contributions to further enhance Ledger Sync's capabilities. | ||
|
||
1. **Ledger Sync:** The main indexer application that reads data from the Cardano blockchain and writes to a PostgreSQL database. | ||
https://github.com/user-attachments/assets/1304ada3-2cf3-46b2-8de8-cb4293e791b4 | ||
|
||
2. **Ledger Sync - Scheduler App:** An optional application for scheduling jobs in Ledger Sync. By default, specific Ledger Sync scheduled jobs are executed as part of the main Ledger Sync application, but you can also run them independently using this application. | ||
### Modules | ||
|
||
3. **Ledger Sync - Streaming App:** This app reads data from a Cardano node and publishes blockchain data to messaging middleware like Kafka or RabbitMQ. It publishes blockchain data in the form of events. Various types of events can be published by the streaming app, and you can configure which events you want to publish. This is useful if you want to listen to blockchain events but build your own storage layer. | ||
1. **Ledger Sync**: This is the main indexer application that reads data from the Cardano blockchain and writes to a PostgreSQL database. | ||
|
||
For more details about the Streaming App, please check [here](https://cardano-foundation.github.io/cf-ledger-sync/applications/streamer_app). | ||
2. **Ledger Sync - Scheduler App**: This is an optional application for scheduling jobs in Ledger Sync. By default, specific Ledger Sync schedule jobs are executed as part of the main Ledger Sync application, but you can also run them independently with this application. | ||
|
||
# Documentation | ||
3. **Ledger Sync - Streaming App:** This app reads data from a Cardano node and publishes blockchain data to messaging middleware like Kafka or RabbitMQ. It publishes blockchain data in the form of events. There are various types of events that can be published by the streaming app, but you can configure which events you want to publish. This is useful when you want to listen to blockchain events but build your own storage layer. For more details about Streaming App, please check here | ||
|
||
Check out [**Ledger Sync documentation site**](https://cardano-foundation.github.io/cf-ledger-sync/) for more information. | ||
4. **Ledger Sync - Aggregation App:** This app delivers aggregated data (eg. address balance), facilitating easy analysis and interpretation. This data is collected separately from the main app and can be stored in a dedicated or in the same schema as the main app. This provides a flexibility for independently sync without impacting the main app sync. | ||
|
||
# Building from source | ||
|
||
## Prerequisites | ||
## Building from source | ||
|
||
### Prerequisites | ||
- Java 21 | ||
- Cardano Node or connection to a remote Cardano node | ||
- PostgreSQL database | ||
|
||
## Build JAR | ||
|
||
### Build JAR | ||
```bash | ||
git clone https://github.com/cardano-foundation/cf-ledger-sync | ||
cd cf-ledger-sync | ||
./gradlew clean build -x test | ||
``` | ||
|
||
## Contributing to Ledger Sync | ||
|
||
### Contributing to Ledger Sync | ||
We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's: | ||
|
||
- Reporting a bug | ||
- Discussing the current state of the code | ||
- Submitting a fix | ||
- Proposing new features | ||
|
||
Please check the details [here](CONTRIBUTING.md). | ||
Please check the details [here](https://github.com/cardano-foundation/cf-ledger-sync/blob/main/CONTRIBUTING.md). |