/ogmios

❇️ A WebSocket JSON/RPC bridge for Cardano

Primary LanguageHaskellMozilla Public License 2.0MPL-2.0


ogmios

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

QuickStart

See our Ogmios client starter kit or jump right into the user manual.

Features

Fast synchronization of blocks from the Cardano network(s)↗️
Transaction submission with enhanced error messages↗️
Evaluation of Plutus script execution units↗️
Local mempool monitoring↗️
Ledger state queries
Query Result
blockHeight The chain's highest block number.
chainTip The chain's current tip.
currentEpoch The current epoch of the ledger.
currentProtocolParameters The current protocol parameters.
delegationsAndRewards Current delegation settings and rewards of given reward accounts.
eraStart The information regarding the beginning of the current era.
eraSummaries Era bounds and slotting parameters details, required for proper slot arithmetic.
genesisConfig Get a compact version of the era's genesis configuration.
ledgerTip The most recent block tip known of the ledger.
nonMyopicMemberRewards Non-myopic member rewards for each pool. Used in ranking.
poolIds The list of all pool identifiers currently registered and active.
poolParameters Stake pool parameters submitted with registration certificates.
poolsRanking Retrieve stake pools ranking (a.k.a desirabilities).
proposedProtocolParameters The last update proposal w.r.t. protocol parameters, if any.
rewardsProvenance' Get details about rewards calculation for the ongoing epoch.
stakeDistribution Distribution of the stake across all known stake pools.
systemStart The chain's start time (UTC).
utxo Current UTXO, possibly filtered by output reference.
↗️
Dual WebSocket/HTTP support↗️
Structured JSON logging↗️
Health monitoring, with runtime and application statistics↗️

Roadmap

Cutting-edge work

The project keeps a changelog 💾 in which all past changes and recent-but-not-yet-released changes can be seen. Changes in the changelog have been implemented and are available in latest builds from the master branch.

Planned work

The github issues & milestones 🎯 list planned tasks that haven't been implemented but have reached enough maturity to be well-defined and scoped. Milestones have end-dates to give a broad estimate of when it is expected.

Future work

Finally, discussions 💡 contains ongoing discussions regarding the future of Ogmios, with design decisions still under consideration.

Clients / SDKs

Ogmios provides a language-agnostic API which can be implemented using any WebSocket or HTTP client. If you prefer using a SDK in your favorite language, see below the available clients (maintained by the community):

Logo:TypeScript
TypeScript
Logo:Go
Go
Logo:Kotlin
Kotlin
Logo:Java
Java

Sponsors

A big thank to all our sponsors 💖.


📖 User Manual | 📐 Contributing | 💾 Changelog | DiscordDiscord (#ogmios) | Twitter Twitter (@_KtorZ_)

Need more information? Have a look at the Frequently Asked Questions.

license=MPL-2.0