@cardano-ogmios/client

TypeScript client library for Cardano Ogmios


Keywords
cardano, cardano-node, javascript, json, websocket
License
MPL-2.0
Install
npm install @cardano-ogmios/client@5.5.1

Documentation


Ogmios: gateway to Cardano

Ogmios is a lightweight bridge interface for cardano-node. It provides an HTTP / WebSocket API that enables applications to interact with a local cardano-node via JSON+RPC-2.0.

Compatibility

Ogmios Cardano-node (mainnet, preview, preprod)
v6.9.* 10.1.2
v6.8.* 9.2.0, 9.1.1
v6.7.* 9.2.0, 9.1.1
v6.6.* 9.1.1
v6.5.* 9.0.0, 9.1.0
v6.4.* 8.9.3
v6.3.* 8.9.2
v6.2.* 8.9.0
v6.1.* 8.7.3
v5.6.* 1.35.4, 1.35.7

QuickStart

Using Homebrew:

brew tap CardanoSolutions/formulas
brew install ogmios

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 ↗️
State queries
Network
queryNetwork Information
blockHeight The chain's highest block number.
genesisConfiguration Get the genesis configuration of a specific era.
startTime The chain's start time (UTC).
tip The network's current tip.
Ledger
queryLedgerState Information
constitution The current on-chain constitution.
constitutionalCommittee A complete summary of the constitutional committee.
epoch The current epoch of the ledger.
eraStart The information regarding the beginning of the current ledger era.
eraSummaries Era bounds and slot parameters details, required for proper slotting arithmetic.
governanceProposals Currently active governance proposals and their ratification state (i.e. votes).
liveStakeDistribution Distribution of the stake across all known stake pools, relative to the total stake in the network.
projectedRewards The projected rewards of an account in a context where the top stake pools are fully saturated. This projection gives, in principle, a ranking of stake pools that maximizes delegator rewards.
protocolParameters The current protocol parameters.
proposedProtocolParameters The last update proposal w.r.t. protocol parameters, if any.
rewardAccountSummaries Current delegation settings and rewards of chosen reward accounts.
rewardsProvenance Get details about rewards calculation for the ongoing epoch.
stakePools The list of all pool identifiers currently registered and active.
tip The current tip the ledger is at. Said differently, the slot number and header hash of the last block that has been processed by the ledger.
treasuryAndReserves The Ada value of the treasury and reserves of the protocol.
utxo Current UTXO, possibly filtered by output reference.
↗️
Dual WebSocket/HTTP support ↗️
Structured JSON logging ↗️
Health monitoring, with runtime and application statistics ↗️

Tip

Test vectors that cover every part of the protocol are available here. Use them without moderation for a smooth integration!

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
Logo:Python
Python
Logo:Python
Elixir
Logo:C++
C++

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