Skip to main content

Get Started with Ogmios

Ogmios is a lightweight bridge interface for cardano-node. It offers a WebSockets API that enables local clients to speak Ouroboros' mini-protocols via JSON/RPC.

Ogmios doesn’t do much more than what the node itself does. It’s pretty much as low-level as things can get with the Cardano network. For many applications, this is too low in the abstraction layer and they would be better off using higher-level services like cardano-graphql, Rosetta, or Blockfrost.

Installation

The easiest way to get started with Ogmios is to use docker. Since Ogmios requires the presence of a Cardano node, it makes sense to use docker-compose to orchestrate both services. A compose file is available on the Ogmios repository, get it via:

git clone --depth 1 https://github.com/CardanoSolutions/ogmios.git
cd ogmios

Then, start the components stack using:

docker-compose up

If you prefer to build everything from source or without docker, please head to the Ogmios website.

Dashboard

You should now be able to access the dashboard on http://localhost:1337 with a real-time visualization of some of the server runtime metrics.

img

Query metrics

The dashboard is powered by JSON responses served by http://localhost:1337/health.

curl -H 'Accept: application/json' http://localhost:1337/health

JSON response:

{
"metrics": {
"totalUnrouted": 1,
"totalMessages": 30029,
"runtimeStats": {
"gcCpuTime": 1233009354,
"cpuTime": 81064672549,
"maxHeapSize": 41630,
"currentHeapSize": 1014
},
"totalConnections": 10,
"sessionDurations": {
"max": 57385,
"mean": 7057,
"min": 0
},
"activeConnections": 0
},
"startTime": "2021-03-15T16:16:41.470782977Z",
"lastTipUpdate": "2021-03-15T16:28:36.853115034Z",
"lastKnownTip": {
"hash": "c29428f386c701c1d1ba1fd259d4be78921ee9ee6c174eac898245ceb55e8061",
"blockNo": 5034297,
"slot": 15520688
},
"networkSynchronization": 0.99,
"currentEra": "Mary"
}

Ogmios documentation

To dive further into Ogmios and how to interact with the Ouroboros mini-protocols, visit ogmios.dev.