Skip to content

Commit

Permalink
Rewrite some sections and add conclusion
Browse files Browse the repository at this point in the history
  • Loading branch information
ch1bo committed Mar 31, 2023
1 parent 0280360 commit a90a79e
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 58 deletions.
167 changes: 109 additions & 58 deletions docs/monthly/2023-03-monthly.md
@@ -1,49 +1,71 @@
---
title: March 2023
slug: 2023-03
authors: [Franco, v0d1ch]
authors: [Franco, v0d1ch, ch1bo]
tags: [monthly]
---

This report summarizes the work on Hydra since February 2023. It serves as
preparation for the monthly review meeting, where the teams update major project
stakeholders on recent developments to gather their feedback on proposed plans.
preparation for the monthly review meeting
[slides](https://docs.google.com/presentation/d/1yZ4AqUQ8OBMG9ARMYvj3IOjaIAqglf7kZei4vsLMrbs/edit#slide=id.g1f87a7454a5_0_1392)/[recording](https://www.youtube.com/watch?v=mA9lMV0tKN8)
, where the teams update major project stakeholders on recent developments to
gather their feedback on proposed plans.

## Roadmap

Lets start with our roadmap as usual [roadmap](https://github.com/orgs/input-output-hk/projects/21).
We had one release this month and also updated several things on our
[roadmap](https://github.com/orgs/input-output-hk/projects/21).

- Released the new version [0.9.0](https://github.com/input-output-hk/hydra/releases/tag/0.9.0) :tada:
#### Released version 0.9.0

- Our current roadmap changes are directed towards creating something that users actually need.
That is why we converted some issues to ideas and/or discussions to gauge the community interest in them
and allow for a nice back and forth on features users need.

- This release brought in on-chain and off-chain changes that are fully reflected in our specification.
- This release brought in on-chain and off-chain changes that are now also fully
reflected in our specification.

- We managed to decrease costs of our plutus scripts by using new error code
framework.

- Our mutation test suite is now complete and we made sure it checks our tests
are failing for the right reason.

- It is worthwhile mentioning we had some external contributions.
- The contestation deadline is now pushed out by each contesting party, so the
contestation period parameter can be chosen irrespective of number of parties.

- We have added a tutorial contributed by [@perturbing](https://github.com/perturbing/).

- [Full release notes](https://github.com/input-output-hk/hydra/releases/tag/0.9.0) and list of [delivered features](https://github.com/input-output-hk/hydra/milestone/9?closed=1)

![](./img/2023-03-roadmap.png) <small><center>The latest roadmap many items marked as idea.</center></small>

#### Notable roadmap updates

- With 0.9.0 released, we continue focusing on mainnet compatiblity. And the
next, planned version **0.10.0** will be the first `hydra-node` which is
mainnet compatible.

- Also prioritized [API configurability
#380](https://github.com/input-output-hk/hydra/issues/380) higher and planned
into 0.10.0 as more users were requesting this.

- Next version **0.10.0** is almost ready. This will be the first mainnet
compatible release and we are close to publishing it.
- We aim for several more **0.x.0** versions to incorporate user-wished features
before reaching a 1.0.0, which would represent a fully maintained release
where features can be considered stable and won't be removed without
appropriate deprecation cycles.

- We opened a head on mainnet already! Community welcomed this nicely and a lot of people were drawing
on the Hydraw mainnet instance and managed to take it down in the process!
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">JUST IN: We have a Hydra Head live on the <a href="https://twitter.com/hashtag/Cardano?src=hash&amp;ref_src=twsrc%5Etfw">#Cardano</a> Mainnet πŸš€ <a href="https://t.co/6kDKq7T7no">pic.twitter.com/6kDKq7T7no</a></p>&mdash; Emmanuel π“‚€ πŸ• π“…“πŸ‡¬πŸ‡­πŸ¦„πŸŸ£βš‘οΈ (@thepizzaknight_) <a href="https://twitter.com/thepizzaknight_/status/1638572527789252608?ref_src=twsrc%5Etfw">March 22, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
- Labelled many features as πŸ’­ _idea_ to re-discuss them. Many have been on the
roadmap for long time without actual user input, while others are incubating
as [github idea
discussion](https://github.com/input-output-hk/hydra/discussions/categories/ideas).
We are planning to convert these idea issues to discussions to provide more
room for popular ideas from discussions instead.

- Gathered the team this time in Feldkirch Austria for some nice sessions and
discussions on future plans for Hydra.
- In short, if you want to see some feature added, **show your support** on the
corresponding [idea
discussion](https://github.com/input-output-hk/hydra/discussions/categories/ideas).

- Monthly review meeting
[slides](https://docs.google.com/presentation/d/1yZ4AqUQ8OBMG9ARMYvj3IOjaIAqglf7kZei4vsLMrbs/edit#slide=id.g1f87a7454a5_0_1392)/[recording](https://drive.google.com/file/d/1krzM8VN-gpKTtpVdC2JQx-lGti-4gKQS/view?ts=641b3c1c)
- The πŸ’¬ _feature_ items remaining are the currently identifed "must-haves" or
too vague to remove πŸ”΄ _red_ items.

![](./img/2023-03-roadmap.png) <small><center> The latest roadmap with multiple
new items and starting to reflect Hydra objectives of 2023.</center></small>
![](./img/2023-03-roadmap-ex-ideas.png) <small><center>The roadmap without idea items.</center></small>

## Development

Expand All @@ -52,50 +74,79 @@ report](https://github.com/input-output-hk/hydra/issues?q=is%3Aclosed+sort%3Aupd

This month, the team worked on the following:

- **The Hydra had a team workshop** and conducted the monthly review meeting for
March. They demonstrated a Hydra Head on mainnet, which was running the hydraw
demo application. While this marks an important milestone, they also
emphasized that more features are still to be added as needed for applications
to run on Hydra. Besides this, the roadmap is getting cleaned up to encourage
discussions and provide more space for user requests.

- **Making Hydra Mainnet compatible**. In the process we decided we want to safe
guard our users and prevent them from shooting themselves in the foot with a
mainnet gun. That is why we
- **Making Hydra mainnet compatible.** Besides making it technically possible to
run on mainnet, this is about safe guard our users and prevent them from
shooting themselves in the foot with a mainnet gun. That is why we
[limited](https://github.com/input-output-hk/hydra/issues/762) the amount of
ADA you can commit to a head on mainnet. Our smoke-tests should be running on
ADA you can commit to a head on mainnet. Our smoke tests should be running on
mainnet also so we made sure to
[return](https://github.com/input-output-hk/hydra/pull/770) the leftover funds
back to out faucet. There was also
back to our faucet. There was also
[work](https://github.com/input-output-hk/hydra/pull/775) on our CI that
accomodates actually running the tests on mainnet. We also realized we will need a
custom github runner for this.

- **Improving the Hydra UX**. We noticed a possible pitfall for the users where
you could restart your node using different parameters which would conflict
with the existing state. Now, hydra-node would
[prevent](https://github.com/input-output-hk/hydra/issues/764) this kind of
misconfiguration. Since we also want to make sure Hydra is safe to use in a
sense that you users can always fanout what they commited we
[prevent](https://github.com/input-output-hk/hydra/issues/698) committing the
output with reference scripts inside since that can easily lead to a stuck
Hydra Head.

- **Optimize the on-chain scripts** Reduced the cost of opening/closing a Head
(error codes [#748](https://github.com/input-output-hk/hydra/pull/748) + head
reference script [#701](https://github.com/input-output-hk/hydra/pull/701)).
Related to handling our plutus scripts we
[added](https://github.com/input-output-hk/hydra/pull/772) them to our golden
tests so we can detect accidental changes.
actually enables running the tests on mainnet using a dedicated github runner.

- **Improving the Hydra UX.** We noticed a possible pitfall when restarting the
`hydra-node` using different parameters than in the persisted state. Now, the
node would [prevent](https://github.com/input-output-hk/hydra/issues/764) this
kind of misconfiguration.

- **Optimize the on-chain scripts.** Reduced the cost of opening/closing a Head
by reducing size of scripts via error codes
[#748](https://github.com/input-output-hk/hydra/pull/748) and also having the
head script as a reference only
[#701](https://github.com/input-output-hk/hydra/pull/701)).

The mutation test also got improved by making all cases expect the
corresponding error codes
[#705](https://github.com/input-output-hk/hydra/issues/705) and new [golden
test suite ](https://github.com/input-output-hk/hydra/pull/772) ensures the
scripts hashes don't change accidentially.

Furthermore, we addressed a problem discovered in our property tests
[#724](https://github.com/input-output-hk/hydra/pull/724) by prevent
committing outputs with reference scripts to a Head
[#766](https://github.com/input-output-hk/hydra/pull/766). This is still a
documented known issue, but a workaround is available.

## Community

=== Mention our community members wanting to help out with the website here ===
=== Mention CBIA meeting here ===
- **Team workshop in Austria.** Meetup of core contributors in Feldkirch,
Austria for retrospective, grooming and discussions on future plans for
Hydra. Part of the agenda was also a presentation of Hydra to members of the
Cardano Foundation and a meeting with builders from the Cardano community.

The highlight, though was the common effort of going the last mile to open a
head on mainnet for the monthly review meeting! πŸŽ‰

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">JUST IN: We have a Hydra Head live on the <a href="https://twitter.com/hashtag/Cardano?src=hash&amp;ref_src=twsrc%5Etfw">#Cardano</a> Mainnet πŸš€ <a href="https://t.co/6kDKq7T7no">pic.twitter.com/6kDKq7T7no</a></p>&mdash; Emmanuel π“‚€ πŸ• π“…“πŸ‡¬πŸ‡­πŸ¦„πŸŸ£βš‘οΈ (@thepizzaknight_) <a href="https://twitter.com/thepizzaknight_/status/1638572527789252608?ref_src=twsrc%5Etfw">March 22, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

We demonstrated our good old `hydraw` application on that Hydra head and we
saw thousands of pixels painted by hundreds of users (no detailed metrics).

- **Next step in Hydra for Payments.** Also announced in the monthly meeting was
the next phase on the Hydra for Payments project. The scope of this will be to
extend hydra-pay and build a mobile payment channels app that makes direct use
of it - working title: HydraNow.

## Conclusion

The monthly review meeting for March was conducted on 2023-03-27 via Google
Meet -

[slides](https://docs.google.com/presentation/d/1yZ4AqUQ8OBMG9ARMYvj3IOjaIAqglf7kZei4vsLMrbs/edit#slide=id.g1f87a7454a5_0_1392)/[recording](https://drive.google.com/file/d/1krzM8VN-gpKTtpVdC2JQx-lGti-4gKQS/view?ts=641b3c1c)
Meet - [slides](https://docs.google.com/presentation/d/1yZ4AqUQ8OBMG9ARMYvj3IOjaIAqglf7kZei4vsLMrbs/edit#slide=id.g1f87a7454a5_0_1392)/[recording](https://www.youtube.com/watch?v=mA9lMV0tKN8).

This month was very important for the project and culminated in the first
demonstration of a Hydra Head on mainnet! The demo was well received and we in
the meeting, on following twitter announcements and the published recording on
youtube. Inspired by this, we saw multiple people reach out how they could help
and collaborate on communicating, educating and ultimately spreading the love.
The invitation via the new discord category worked well - we had about 40
community members in the call - and we will continue with this workflow. Make
sure to follow the Hydra [#announcements](discord.gg/Bwdy2jNdm2) on the IOG
Technical discord server.

While being mainnet compatible is a major milestone for the project, there are
still many known issues, short-coming and requested features. The roadmap
changes of this month should make it clear that we are serious about the
latter - Hydra will only reach 1.0.0 if it is used by an application on mainnet.
Hence, we will focus on adding features required for payments, voting, auctions, .. and your use case.

Hydra Head is ready to be used on mainnet .. are you?
Binary file added docs/monthly/img/2023-03-roadmap-ex-ideas.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/monthly/img/2023-03-roadmap.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit a90a79e

Please sign in to comment.