Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Infrastructure providers

The infrastructure role uses cardano-up, which needs Docker. It is the only role that accepts several tools: repeat the --infra flag to select more than one. All selected providers run together in one cardano-up context for the project, inside a single infra/ component. Each provider writes its connection details to the project’s .env, and the off-chain component reads them from there.

ProviderFlagPublishes to .envUpstream
Kupo--infra kupoINDEXER_URLhttps://github.com/CardanoSolutions/kupo
Ogmios--infra ogmiosOGMIOS_URLhttps://ogmios.dev
Dolos--infra dolosDOLOS_GRPC_URL, NODE_SOCKET_PATHhttps://github.com/txpipe/dolos
Tx Submit API--infra tx-submit-apiTX_SUBMIT_URLhttps://github.com/blinklabs-io/tx-submit-api
Cardano Node--infra cardano-nodeNODE_SOCKET_PATHhttps://github.com/IntersectMBO/cardano-node
Cardano Node API--infra cardano-node-apiCARDANO_NODE_API_URLhttps://github.com/blinklabs-io/cardano-node-api
Dingo--infra dingoINDEXER_URL, NODE_SOCKET_PATHhttps://github.com/blinklabs-io/dingo
# An indexer (Kupo) and a query bridge (Ogmios) over one node (cardano-up adds cardano-node):
cardano-init --name my-protocol --off-chain meshjs --infra kupo --infra ogmios

# Start the services and write their connection details to .env (keeps running):
just -f infra/Justfile dev
  • Dolos and Dingo are nodes themselves. They need no separate cardano-node, and each provides its own NODE_SOCKET_PATH. Dingo also serves a Blockfrost-compatible API as INDEXER_URL.
  • One chain index per project. .env has one INDEXER_URL, so select either Kupo or Dingo.