Yaci Store Zip Distribution (JARs)
Filename: yaci-store-<version>.zip
Includes:
yaci-store.jaryaci-store-ledger-state.jar- Config files (
application.properties)
Pre-requisites
- Java 21 or Java 24 (Recommended)
You can use sdkman to install Java 21 or 24.
sdk install java 24.0.1-tem
sdk use java 24.0.1-temCheck if JAVA_HOME env variable is set correctly:
echo $JAVA_HOMEEdit Config
- Edit
application.propertiesto set the Cardano network and Database connection settings - Check the following properties and update them accordingly
store.cardano.host=preview-node.world.dev.cardano.org
store.cardano.port=30002
store.cardano.protocol-magic=2spring.datasource.url=jdbc:postgresql://localhost:5432/yaci_indexer?currentSchema=preview
spring.datasource.username=user
spring.datasource.password=passwordUsage
-
To run Yaci Store (without ledger-state):
./bin/start.sh -
To enable ledger-state calculation with all other on-chain data:
./bin/start.sh ledger-state
If ledger state is enabled, verify the log message to ensure that ledger-state calculation is active
While running Yaci Store with ledger-state calculation enabled, you may see logs similar to the example below, indicating that address balance calculation is active — which is required for ledger-state calculation.
# of blocks written: 100, Time taken: 25 ms
Block No: 4746 , Era: Shelley
### Starting account balance calculation upto block: 4846 ###
Total Stake Address Balance records 0, Time taken to save: 0
Time taken to delete stake address balance history: 0
### Total balance processing and saving time 1 ###
# of blocks written: 100, Time taken: 28 ms
Block No: 4846 , Era: Shelley
### Starting account balance calculation upto block: 4946 ###
Total Stake Address Balance records 0, Time taken to save: 0
Time taken to delete stake address balance history: 0
### Total balance processing and saving time 1 ###Apply Optional Indexes
After the initial sync is complete:
./bin/yaci-cli.shThis launches the Admin CLI (yaci-store-admin-cli.jar). At the CLI prompt:
yaci-store> apply-indexesPostgreSQL Configuration for Ledger-State (Optional but Recommended)
If you are running ledger-state calculation for mainnet, you should tune your PostgreSQL configuration for optimal performance. While the default config will work, sync time will be significantly longer without these optimizations.
For Standalone Distribution users (Zip or Native):
- Increase PostgreSQL shared memory to 4GB or more (minimum 2GB recommended)
- Configure the following PostgreSQL-related properties in your application configuration (application-ledger-state.properties):
store.adapot.reward-bulk-load-work-mem=1GBstore.adapot.reward-bulk-load-maintenance-work-mem=2GBstore.adapot.stake-snapshot-work-mem=512MBstore.governance-aggr.drep-dist-work-mem=512MB