Repository navigation
Caution
Critical upgrade for mainnet. yaci-store 2.0.6 and earlier lose the transactions of mainnet block 14,053,493. Mainnet instances that synced past slot 200,136,161 (2026-10-11 07:07 UTC) have bad data or have stopped syncing. Upgrade to 2.0.7, then run the repair script below.
What's Changed
Fix: mainnet sync stops at block 14,053,494
yaci-store 2.0.6 and earlier read mainnet block 14,053,493 as having no transactions, when it actually has 137. This release fixes that by upgrading yaci to 0.4.7. https://github.com/bloxbean/yaci/releases/tag/v0.4.7
If your instance synced past this block on an older version:
- With ledger-state enabled: sync stops at block 14,053,494 with the error
Utxos not found for all ids. - Without ledger-state: sync keeps running, but that block's 137 transactions are missing.
Am I affected? Run:
SELECT count(*) FROM transaction WHERE block = 14053493;If the result is less than 137, follow the repair steps below. Instances that haven't reached this block yet only need to upgrade. Preprod and preview aren't affected.
Repair steps (PostgreSQL)
Upgrading alone doesn't fix data that's already been stored. The repair script moves the sync back one block so the block is fetched again with the fix.
-
Upgrade to 2.0.7.
-
Stop yaci-store, keeping postgres running. For the Docker distribution, run this from the install folder:
./yaci-store.sh stop:yaci-store
-
Download the script into the install folder:
curl -O https://raw.githubusercontent.com/bloxbean/yaci-store/v2.0.7/scripts/repair/repair-mainnet-block-14053493.sql
-
Run the DB repair script
From the psql prompt
- Open psql with the
psql.shthat comes with the Docker distribution:Or open it directly:./psql.sh
docker compose -f compose/postgres-compose.yml exec yaci-store-postgres psql -U yaci -d yaci_store - Set the schema:
SET search_path TO yaci_store; - Open
repair-mainnet-block-14053493.sqlin a text editor, copy all of it, and paste it into the prompt.
Change the user, database or schema if yours are different. If the script prints
Cursor moved … back to 200136161, it worked. If it hits an error, nothing is changed. - Open psql with the
-
Start yaci-store:
./yaci-store.sh start
Then check that
SELECT count(*) FROM transaction WHERE block = 14053493;returns 137.
The script is safe to run on any database. It changes nothing on non-mainnet databases, on instances that haven't reached the block, or on instances that are already correct.
- [2.0.7] fix: upgrade yaci to 0.4.7 (mainnet block 14053493 sync stall) + repair script by @satran004 in #1247
Full Changelog: v2.0.6...v2.0.7