Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cardanosolutions/ogmios
❇️ A WebSocket JSON/RPC bridge for Cardano
https://github.com/cardanosolutions/ogmios
cardano cardano-node javascript json websocket
Last synced: 7 days ago
JSON representation
❇️ A WebSocket JSON/RPC bridge for Cardano
- Host: GitHub
- URL: https://github.com/cardanosolutions/ogmios
- Owner: CardanoSolutions
- License: mpl-2.0
- Created: 2020-03-16T21:58:59.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-08T17:02:57.000Z (about 1 month ago)
- Last Synced: 2024-12-08T20:03:18.839Z (14 days ago)
- Topics: cardano, cardano-node, javascript, json, websocket
- Language: Haskell
- Homepage: https://ogmios.dev
- Size: 59.2 MB
- Stars: 306
- Watchers: 16
- Forks: 91
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
**Ogmios** is a lightweight bridge interface for [cardano-node](https://github.com/intersectMBO/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` |[SanchoNet]: https://sancho.network/
## QuickStart
Using [Homebrew](https://brew.sh/):
```
brew tap CardanoSolutions/formulas
brew install ogmios
```See our [Ogmios client starter kit](https://github.com/CardanoSolutions/ogmios-ts-client-starter-kit#ogmios-client-starter-kit) or jump right into the [user manual](https://ogmios.dev).
## 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
NetworkqueryNetwork | 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.
LedgerqueryLedgerState | 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](https://github.com/CardanoSolutions/ogmios/tree/master/server/test/vectors). Use them without moderation for a smooth integration!# Roadmap
### Cutting-edge work
The project keeps a [changelog 💾](./CHANGELOG.md) 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 🎯][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 💡][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_):
TypeScript
Go
Kotlin
Java
Python
Elixir
C++## Sponsors
A big thank to [all our sponsors 💖](https://github.com/CardanoSolutions#-sponsors).
:book: User Manual
|
:triangular_ruler: Contributing
|
:floppy_disk: Changelog
|
Discord (#ogmios)
|
Twitter (@_KtorZ_)
Need more information? Have a look at the Frequently Asked Questions.[discussions]: https://github.com/CardanoSolutions/ogmios/discussions/categories/ideas-feature-requests?discussions_q=sort%3Atop+category%3A%22Ideas+%2F+Feature+Requests%22
[milestones]: https://github.com/CardanoSolutions/ogmios/milestones