A multi-platform implementation of Rosetta for Cardano, targeting the version defined in the OpenApi schema. Skip to run if wishing to use a pre-built image from the Docker Hub repository.
Build from anywhere, optionally specifying a network name other than mainnet as a
build argument, and accessing cached build layers to reduce the initialization time. You can also
build with local source by replacing the GitHub link with .
linux/amd64linux/arm64
mainnet
DOCKER_BUILDKIT=1 \
docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--cache-from=cardanofoundation/cardano-rosetta:master \
-t cardanofoundation/cardano-rosetta:2.3.2 \
.preprod
DOCKER_BUILDKIT=1 \
docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--build-arg NETWORK=preprod \
--cache-from=cardanofoundation/cardano-rosetta:master \
-t cardanofoundation/cardano-rosetta:2.3.2-preprod \
.preview
DOCKER_BUILDKIT=1 \
docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--build-arg NETWORK=preview \
--cache-from=cardanofoundation/cardano-rosetta:master \
-t cardanofoundation/cardano-rosetta:2.3.2-preview \
.Sanchonet
DOCKER_BUILDKIT=1 \
docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--build-arg NETWORK=sanchonet \
--build-arg CARDANO_DB_SYNC_VERSION=13.4.0.0 \
--build-arg DB_SYNC_TAG=sanch-5-1-0
--cache-from=cardanofoundation/cardano-rosetta:master \
-t cardanofoundation/cardano-rosetta:2.3.2-sanchonet \
.Run the locally or pre-built images and mount a single volume into the standard storage
location, map the server port to the host, and allocate a suitably-sized /dev/shm. See the
complete Docker run reference for full control.
mainnet
docker run \
--name cardano-rosetta \
-p 8080:8080 \
-v cardano-rosetta:/data \
--shm-size=2g \
cardanofoundation/cardano-rosetta:2.3.2preprod
docker run \
--name cardano-rosetta-preprod \
-p 8081:8080 \
-v cardano-rosetta-preprod:/data \
--shm-size=2g \
cardanofoundation/cardano-rosetta:2.3.2-preprodpreview
docker run \
--name cardano-rosetta-preview \
-p 8081:8080 \
-v cardano-rosetta-preview:/data \
--shm-size=2g \
cardanofoundation/cardano-rosetta:2.3.2-previewSanchonet
docker run \
--name cardano-rosetta-preview \
-p 8081:8080 \
-v cardano-rosetta-preview:/data \
--shm-size=2g \
cardanofoundation/cardano-rosetta:2.3.2-sanchonetSet ENVs for optional runtime configuration
-e MODE=offlineSee Rosetta docs for information on modes
online- defaultoffline
Specify the TTL without needing to access an online method. Default: 1000
tracedebuginfo- defaultwarnerrorfatal
Default: 25
As per the release notes, you may be required to refresh the state managed by
cardano-db-sync. This can be achieved without requiring a network re-sync using one of the two
following approached:
A trustless approach to rebuild the DB, by syncing from genesis at the cost of an extended sync duration:
docker stop cardano-rosetta && \
docker rm cardano-rosetta && \
docker run --rm -v cardano-rosetta:/data ubuntu rm -rf /data/postgresql /data/db-sync... then start a container as per usual. Sync progress will be logged by the new container.
Run the build command with the addition of an argument providing a version and network-specific
link, sourced from the cardano-db-sync release notes.
For example:
mainnet
DOCKER_BUILDKIT=1 \
docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--build-arg SNAPSHOT_URL=https://update-cardano-mainnet.iohk.io/cardano-db-sync/13.4/db-sync-snapshot-schema-13.4-block-10683068-x86_64.tgz \
--cache-from=cardanofoundation/cardano-rosetta:master \
-t cardanofoundation/cardano-rosetta:2.3.2-apply-snapshot \
https://github.com/cardanofoundation/cardano-rosetta.git#2.3.2| Link | Audience |
|---|---|
| Construction API Documentation | Users of the Cardano Rosetta Construction API |
| Data API Documentation | Users of the Cardano Rosetta Data API |
| Cardano Rosetta Docs | Cardano Rosetta specific documentation |
| Developer | Core or external developers of cardano-rosetta-server |
| Maintainer | Solution maintainer |
| QA | Quality Assurance Engineers |