This directory contains various documentation files for setting up, configuring, and running the Cardano DB Sync Node. Below is a list of available documents, ordered by their importance for users.
-
Installing - Detailed steps for installing the Cardano DB Sync from source without using Nix. This includes prerequisites, dependency installation, and building the project to ensure a smooth setup process.
-
Installing with Nix - Comprehensive guide for installing Cardano DB Sync using Nix. It provides instructions on setting up the Nix environment, configuring Nix, and using it to manage the build and installation process.
-
Building and Running - Instructions for setting up and running the Cardano DB Sync Node, including building the project using both Cabal and Nix, setting up the PostgreSQL database, and running the node with the appropriate configuration.
-
Configuration - Details on how to configure the Cardano DB Sync Node, including configuration file settings, environment variables, and best practices for optimizing performance and reliability.
-
Command Line Options - Complete documentation on command-line options for the Cardano DB Sync Node, including descriptions of each option, usage examples, and tips for effective command-line management.
-
Running - Guide to running the Cardano DB Sync Node, covering the steps required to start the node, monitor its operation, and ensure it runs smoothly within different environments and configurations.
-
Docker - Instructions for using Docker to run the Cardano DB Sync Node, including setting up a Docker environment, creating Docker images, and running the node inside a Docker container for isolated and reproducible deployments.
-
Upgrading PostgreSQL - Guide for upgrading PostgreSQL versions for use with Cardano DB Sync, including steps for backing up data, upgrading the PostgreSQL instance, and restoring the database to ensure compatibility and data integrity.
-
Validation - Information on the validation process for genesis, blocks, transactions, and runtime rewards, explaining how the node validates data to ensure integrity and consistency throughout the blockchain synchronization.
-
Migrations - Details on database migrations for different versions of Cardano DB Sync, including instructions on applying migrations, handling schema changes, and ensuring data integrity during upgrades.
-
Schema - Overview of the database schema used by the Cardano DB Sync Node, providing a detailed description of the tables, relationships, and data types used in the database.
-
Schema Management - Instructions on managing the database schema and creating migrations, covering tools and techniques for making schema changes and ensuring they are applied correctly.
-
Syncing and Rollbacks - Details on the syncing procedure and handling rollbacks, explaining how the node syncs with the blockchain and manages rollbacks in case of errors or inconsistencies.
-
Community Tools - Information on various community tools like Koios and Blockfrost, providing an overview of these tools, their features, and how they can be used to interact with Cardano DB Sync.
-
Interesting Queries - A collection of useful SQL queries for interacting with the database, including examples of queries for retrieving data, analyzing transactions, and generating reports.
-
Troubleshooting - Common issues and troubleshooting steps for Cardano DB Sync, providing solutions for various problems that users may encounter while running the node.
-
Release Process - Detailed process for releasing new versions of Cardano DB Sync, covering the steps required to prepare, test, and publish a new release.
-
State Snapshot - Guide to creating and restoring state snapshots, explaining how to take snapshots of the database state and restore them when needed.
-
Pool OffChain Data - Handling off-chain data for staking pools, providing details on managing off-chain data and integrating it with the Cardano DB Sync Node.
-
SMASH - Information on the Stakepool Metadata Aggregation Server (SMASH), explaining the purpose of SMASH, how it works, and how to set it up.
-
HLint and Stylish Haskell - Setting up
hlint
andstylish-haskell
for code linting and formatting, providing instructions on configuring these tools to maintain code quality and consistency.