hydra icon indicating copy to clipboard operation
hydra copied to clipboard

Implementation of the Hydra Head protocol

Hydra Head - Proof of Concept (POC)

A home to our colorful experiments and prototypes.

:sunrise_over_mountains: Introduction

Hydra is the layer-two scalability solution for Cardano, which aims to increase the speed of transactions (low latency, high throughput) and minimize transaction cost.

This repository contains the proof-of-concept implementation for the Hydra Head protocol. It is a developer preview that we've put together, marching towards a production ready solution. It outlines the basic architecture of a hydra-node, which runs a simplified (coordinated) Hydra Head protocol, connects to other hydra-nodes, interfaces the Cardano blockchain and provides an API to clients such as the included terminal user interface hydra-tui.

:warning: :warning: :warning:

This is still prototypical and exploratory work shared here for your interest.

It is NOT ready for production (yet).

:rocket: Getting started

The quickest way to get a hydra-node running is to use our docker images.

docker pull ghcr.io/input-output-hk/hydra-node:latest
docker run --rm ghcr.io/input-output-hk/hydra-node --help

More information (including a demo) available on user manual 📖!

:rainbow: Features

Proof of concept:

  • [x] Coordinated Hydra Head protocol
  • [x] Single Head per hydra-node
  • [x] Network statically configured, direct TCP connections
  • [x] WebSocket, message-based API Server
  • [x] Terminal user interface client
  • [x] Cardano-node integration via Direct connection
  • [x] Running on testnet

Later:

  • [ ] Persisted Head state
  • [ ] Audited and mainnet ready
  • [ ] Multiple Heads per hydra-node, managed via API
  • [ ] Support for external wallets (e.g. hardware wallets)
  • [ ] Optimistic Head closure and incremental de-/commit protocol extension
  • [ ] Relay-capable, mesh network

:handshake: Contributing

The best way to contribute right now is to provide feedback. Give the demo a test drive and have a look at our documentation. Should you have any questions, ideas or issues, we would like to hear from you:

When contributing to this project and interacting with others, please follow our Contributing Guidelines and Code of Conduct.


Thanks for visiting and enjoy :heart:!