Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ follows:
</Tabs>
</div>

## Convert the existing Ledger snapshots with `snapshot-converter`
## Upgrading a Ledger snapshots from 10.4.x to 10.5.x

:::warning

Expand All @@ -157,8 +157,29 @@ chain from Genesis, however this can take some hours.

We provide the `snapshot-converter` tool which can load a snapshot in the Legacy
format and write it either in the in-memory or on-disk formats for
UTxO-HD. Supposing you have copied a legacy snapshot to
`<tmpdir>/snapshots/<slotno>` you can run the following command:
UTxO-HD.

:::info

On cardano-node 10.6 there was a change in serialization unrelated to the
UTxO-HD changes. This means that going from 10.4.x to 10.5.x can benefit from
this doing a quick conversion using `snapshot-converter` as explained here, but
it won't work when the target is 10.6 or newer. Such a format update can
only be done via a replay of the chain.

The `snapshot-converter` tool still exists in the repository and will convert
between the different UTxO-HD formats but it will no longer be able to load a
snapshot older than 10.6, and therefore it won't be able to "upgrade" a Legacy
snapshot to a UTxO-HD snapshot anymore.

For this reason, the process below is only useful for upgrading from 10.4.x to
10.5.x, and **it must be performed with the `snapshot-converter` version that
was released with nodes 10.5.x**.

:::

Supposing you have copied a legacy snapshot to `<tmpdir>/snapshots/<slotno>` you
can run the following command:

<div class="tabsblock">
<Tabs>
Expand Down
22 changes: 22 additions & 0 deletions ouroboros-consensus-cardano/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ This package also contains a few executables:

* `app/immdb-server.hs`: serve an immutable DB via ChainSync and BlockFetch.

* `app/snapshot-converter.hs`: converts snapshots among different storage formats.

### Assertions

Our top level `cabal.project` enables assertions in both our local packages
Expand Down Expand Up @@ -378,3 +380,23 @@ To point a node to a running ImmDB server, use a topology file like
]
}
```


## snapshot-converter

## About

This tool converts snapshots among the different backends supported by the node.

## Running the tool

Invoking the tool follows the same simple pattern always:

```sh
cabal run snapshot-converter -- <IN> <OUT> --config /path/to/cardano/config.json
```

The `<IN>` and `<OUT>` parameters depend on the input and output format, receiving options:
- `--mem-in PATH`/`--mem-out PATH` for InMemory
- `--lmdb-in PATH`/`--lmdb-out PATH` for LMDB
- `--lsm-database-in DB_PATH --lsm-snapshot-in PATH`/`--lsm-database-out DB_PATH --lsm-snapshot-out PATH` for LSM-trees.
Loading
Loading