All Projects → input-output-hk → cardano-rosetta

input-output-hk / cardano-rosetta

Licence: Apache-2.0 license
An implementation of Rosetta for Cardano

Programming Languages

typescript
32286 projects
shell
77523 projects
Nix
1067 projects

Projects that are alternatives of or similar to cardano-rosetta

Wl Explorer
用于vue框架的文件管理器插件,云盘、网盘。File manager plug-in for vue framework, cloud disk.
Stars: ✭ 147 (+72.94%)
Mutual labels:  explorer
ShellAnything
ShellAnything is a C++ open-source software which allow one to easily customize and add new options to *Windows Explorer* context menu. Define specific actions when a user right-click on a file or a directory.
Stars: ✭ 103 (+21.18%)
Mutual labels:  explorer
minter-explorer-web
Official Minter Explorer website
Stars: ✭ 12 (-85.88%)
Mutual labels:  explorer
Rx Explorer
一款轻量的UWP文件管理器 | A lightweight UWP Explorer
Stars: ✭ 184 (+116.47%)
Mutual labels:  explorer
Cleargraph
⛓ Cleargraph is a GraphQL runtime for decentralized applications
Stars: ✭ 250 (+194.12%)
Mutual labels:  explorer
plutus-experimental-smart-contracts
Experimental Smart Contracts In Plutus.
Stars: ✭ 34 (-60%)
Mutual labels:  cardano
Fisco Bcos Browser
A broswer to show the detail infomation of a running FISCO BCOS chain
Stars: ✭ 138 (+62.35%)
Mutual labels:  explorer
explorer
Open source unified blockchain explorer
Stars: ✭ 96 (+12.94%)
Mutual labels:  explorer
Boltdbweb
A web based GUI for BoltDB files
Stars: ✭ 251 (+195.29%)
Mutual labels:  explorer
nessus-cardano
A Cardano playground that explores various build/runtime aspects of the project. Something like an incubation space, before we are propose changes upstream. The initial focus is on "container first" for the Cardano node.
Stars: ✭ 92 (+8.24%)
Mutual labels:  cardano
Qian
A minimalist file-explorer using Electron via Elm !
Stars: ✭ 198 (+132.94%)
Mutual labels:  explorer
Erc20 Explorer
An explorer for ERC20 based Ethereum tokens
Stars: ✭ 248 (+191.76%)
Mutual labels:  explorer
ansible-role-cardano-node
Ansible role for the provisioning of Shelly Cardano binaries from source.
Stars: ✭ 20 (-76.47%)
Mutual labels:  cardano
Bitcoin Transaction Explorer
Simple and pure block explorer you can run on top of a full node
Stars: ✭ 165 (+94.12%)
Mutual labels:  explorer
cardano-developer
A Cardano Developer Guide
Stars: ✭ 62 (-27.06%)
Mutual labels:  cardano
Tree.nvim
Neovim file-explorer powered by C++
Stars: ✭ 140 (+64.71%)
Mutual labels:  explorer
eosweb
EOS blockchain explorer
Stars: ✭ 29 (-65.88%)
Mutual labels:  explorer
cardano-addresses
Addresses and mnemonic manipulation & derivations
Stars: ✭ 118 (+38.82%)
Mutual labels:  cardano
Pi-Pool
Cardano Stakepool on Raspberry Pi
Stars: ✭ 204 (+140%)
Mutual labels:  cardano
termex
Explore the filesystem from your terminal
Stars: ✭ 21 (-75.29%)
Mutual labels:  explorer

Cardano Rosetta

CI Nightly

An 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

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 .

mainnet
DOCKER_BUILDKIT=1 \
docker build \
  --build-arg BUILDKIT_INLINE_CACHE=1 \
  --cache-from=inputoutput/cardano-rosetta:master \
  -t inputoutput/cardano-rosetta:2.0.0 \
  https://github.com/input-output-hk/cardano-rosetta.git#2.0.0
preprod
DOCKER_BUILDKIT=1 \
docker build \
  --build-arg BUILDKIT_INLINE_CACHE=1 \
  --build-arg NETWORK=preprod \
  --cache-from=inputoutput/cardano-rosetta:master \
  -t inputoutput/cardano-rosetta:2.0.0-preprod \
  https://github.com/input-output-hk/cardano-rosetta.git#2.0.0
preview
DOCKER_BUILDKIT=1 \
docker build \
  --build-arg BUILDKIT_INLINE_CACHE=1 \
  --build-arg NETWORK=preview \
  --cache-from=inputoutput/cardano-rosetta:master \
  -t inputoutput/cardano-rosetta:2.0.0-preview \
  https://github.com/input-output-hk/cardano-rosetta.git#2.0.0

Run

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 \
  inputoutput/cardano-rosetta:2.0.0
preprod
docker run \
  --name cardano-rosetta-preprod \
  -p 8081:8080 \
  -v cardano-rosetta-preprod:/data \
  --shm-size=2g \
  inputoutput/cardano-rosetta:2.0.0-preprod
preview
docker run \
  --name cardano-rosetta-preview \
  -p 8081:8080 \
  -v cardano-rosetta-preview:/data \
  --shm-size=2g \
  inputoutput/cardano-rosetta:2.0.0-preview

ℹ️ A trusted DB snapshot can be used to speed up the initial sync, however the internal instance of cardano-node must be synced past the snapshot point for it to be applied. This can be achieved by observing logs emitted from cardano-node indicating it's close to the network tip, before then following the instructions in the Upgrading section.

Configuration

Set ENVs for optional runtime configuration

-e MODE=offline

MODE

See Rosetta docs for information on modes

  • online - default
  • offline

DEFAULT_RELATIVE_TTL

Specify the TTL without needing to access an online method. Default: 1000

LOGGER_MIN_SEVERITY

  • trace
  • debug
  • info - default
  • warn
  • error
  • fatal

PAGE_SIZE

Default: 25

Upgrading

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:

1. Apply a Trusted cardano-db-sync Snapshot

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:

Build
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/db-sync-snapshot-schema-13-block-7960123-x86_64.tgz \
  --cache-from=inputoutput/cardano-rosetta:master \
  -t inputoutput/cardano-rosetta:2.0.0-apply-snapshot \
  https://github.com/input-output-hk/cardano-rosetta.git#2.0.0
Run
mainnet
docker run \
  --name cardano-rosetta \
  -p 8080:8080 \
  -v cardano-rosetta:/data \
  --shm-size=2g \
  inputoutput/cardano-rosetta:2.0.0-apply-snapshot

ℹ️ Build a new image as per the standard build instructions if you need to recreate the container, otherwise the data will be dropped and restored again.

ℹ️ The snapshot will only be applied if cardano-node is synced past the snapshot point, since the benefit of using it would be eliminated given cardano-db-sync rolls back to genesis under these conditions. For best results, ensure the node is close to the network tip prior to upgrading.

2. Re-sync From Genesis

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.

Documentation

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].