Skip to content

Fork of the Hydra Head for SundaeSwap's upstream contributions

License

Notifications You must be signed in to change notification settings

SundaeSwap-finance/hydra

 
 

Repository files navigation

Hydra 🐲

Implementation of the Hydra scalability protocols.

🌄 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 implementation for the Hydra Head protocol. Most prominently, it contains 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 example terminal user interface hydra-tui.

🚨 Mainnet Availability 🚨

The Hydra Head protocol version 0.10.0 or newer is compatible with the Cardano mainnet, which means it is possible to run a hydra-node on mainnet using real funds.

Before running a hydra-node to take part in the Hydra Head protocol, developers are strongly encouraged to review the known issues in the documentation in order to understand the current limitations and the possible consequences.

By using Hydra Head protocol version 0.10.0 or newer, you understand the protocol is in development and that use of the hydra-node on mainnet is entirely at your own risk.

You also acknowledge and agree to have an adequate understanding of the risks associated with use of the Hydra Head protocol version 0.10.0 or newer and that all information and materials published, distributed or otherwise made available on hydra.family and Hydra Github Repository is available on an ‘AS IS’ and ‘AS AVAILABLE’ basis, without any representations or warranties of any kind. All implied terms are excluded to the fullest extent permitted by law. For details, see also sections 7, 8 and 9 of the Apache 2.0 License.

🚀 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
docker run --rm ghcr.io/input-output-hk/hydra-node --help

Get started with the user manual 📖!

🌈 Features

  • Coordinated Hydra Head protocol
  • Single Head per hydra-node
  • Network statically configured, direct TCP connections
  • WebSocket/HTTP-based API
  • Example terminal user interface client
  • Cardano-node integration via Direct connection
  • Locally persisted Head state
  • Commit from any wallet (e.g. hardware wallets)

Later:

  • Incremental de-/commit and optimistic Head closure protocol extensions
  • Modular API via event streaming plugins
  • Automated handling of rollbacks
  • Relay-capable, mesh network
  • Multiple Heads per hydra-node, managed via API

See our roadmap for more details.

🤝 Contributing

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

Please follow our Contributing Guidelines and Code of Conduct.

🙏 Credits

  • Logo created by Alexander Wende

Thanks for visiting and enjoy ❤️!

About

Fork of the Hydra Head for SundaeSwap's upstream contributions

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 83.3%
  • TeX 10.6%
  • Shell 1.9%
  • TypeScript 1.5%
  • Nix 1.5%
  • HCL 0.8%
  • Other 0.4%