Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
johnnygreeney authored Oct 18, 2024
1 parent d2766d6 commit b6ae02d
Showing 1 changed file with 17 additions and 20 deletions.
37 changes: 17 additions & 20 deletions README.md
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).

0 comments on commit b6ae02d

Please sign in to comment.