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/amd64
linux/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.2
preprod
docker run \
--name cardano-rosetta-preprod \
-p 8081:8080 \
-v cardano-rosetta-preprod:/data \
--shm-size=2g \
cardanofoundation/cardano-rosetta:2.3.2-preprod
preview
docker run \
--name cardano-rosetta-preview \
-p 8081:8080 \
-v cardano-rosetta-preview:/data \
--shm-size=2g \
cardanofoundation/cardano-rosetta:2.3.2-preview
Sanchonet
docker run \
--name cardano-rosetta-preview \
-p 8081:8080 \
-v cardano-rosetta-preview:/data \
--shm-size=2g \
cardanofoundation/cardano-rosetta:2.3.2-sanchonet
Set ENVs for optional runtime configuration
-e MODE=offline
See Rosetta docs for information on modes
online
- defaultoffline
Specify the TTL without needing to access an online method. Default: 1000
trace
debug
info
- defaultwarn
error
fatal
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 |