Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move gen-hydra-key to hydra node #1031

Merged
merged 3 commits into from
Aug 21, 2023
Merged

Conversation

v0d1ch
Copy link
Contributor

@v0d1ch v0d1ch commented Aug 18, 2023

Hydra-tools is now only holding a single command and when using Hydra, it feels a bit unnecessary to just download another docker image / binary to generate keys.

At the same time, hydra-node already has two sub-commands and we could move it there easily.


  • CHANGELOG updated or not needed
  • Documentation updated or not needed
  • Haddocks updated or not needed
  • No new TODOs introduced or explained herafter

@v0d1ch v0d1ch self-assigned this Aug 18, 2023
@github-actions
Copy link

github-actions bot commented Aug 18, 2023

Transactions Costs

Sizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using arbitrary values and results are not fully deterministic and comparable to previous runs.

Metadata
Generated at 2023-08-21 14:52:25.940522939 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial 3ffaf6b87df35cb01a52eb23032b8f0b1a2a3ad3acf0930abc9c833a 4150
νCommit e4c32d6dc83b2917aa7805571f30437ad98b6d20d821d34d45943755 2093
νHead 8508839dfce39b6be65c018ce124ab549238e1b2ed08fb6588e5601f 8799
μHead 7e939052f278f7721cb1f98c3f2ca646827df9314a7e0d0168765b49* 4055
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per Head.

Cost of Init Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 4646 11.57 4.59 0.48
2 4854 13.17 5.20 0.51
3 5058 15.01 5.91 0.54
5 5468 19.46 7.63 0.60
10 6494 29.46 11.50 0.76
45 13671 99.65 38.61 1.84

Cost of Commit Transaction

This is using ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 599 12.67 4.97 0.31
2 784 16.49 6.69 0.37
3 968 20.37 8.42 0.42
5 1350 28.46 12.01 0.53
10 2278 51.44 21.99 0.82
18 3793 95.35 40.55 1.38

Cost of CollectCom Transaction

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 815 24.41 9.69 0.45
2 114 1136 36.84 14.79 0.60
3 170 1462 51.95 21.02 0.79
4 227 1775 68.35 27.83 0.98
5 283 2095 89.01 36.35 1.22

Cost of Close Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 681 17.67 8.24 0.38
2 851 18.58 9.31 0.40
3 1151 20.93 11.33 0.45
5 1569 24.27 14.36 0.52
10 2532 31.29 21.23 0.67
50 10504 93.08 79.53 1.94

Cost of Contest Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 728 23.03 10.28 0.44
2 961 24.52 11.77 0.48
3 1179 26.54 13.45 0.51
5 1528 30.03 16.33 0.58
10 2586 39.42 24.37 0.76
44 9390 99.67 76.49 1.92

Cost of Abort Transaction

Some variation because of random mixture of still initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 4619 17.54 7.25 0.55
2 5382 36.37 15.84 0.80
3 5797 55.24 24.15 1.03
4 5990 69.48 30.24 1.19

Cost of FanOut Transaction

Involves spending head output and burning head tokens. Uses ada-only UTxO for better comparability.

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
5 0 0 4673 8.79 3.70 0.45
5 1 57 4703 10.36 4.60 0.47
5 5 285 4851 15.61 7.80 0.55
5 10 569 5031 22.17 11.79 0.64
5 20 1139 5391 35.03 19.67 0.81
5 30 1708 5751 48.16 27.66 0.99
5 40 2277 6115 61.03 35.56 1.17
5 50 2847 6470 74.70 43.77 1.35
5 69 3931 7156 99.25 58.81 1.69

End-To-End Benchmark Results

This page is intended to collect the latest end-to-end benchmarks results produced by Hydra's Continuous Integration system from the latest master code.

Please take those results with a grain of salt as they are currently produced from very limited cloud VMs and not controlled hardware. Instead of focusing on the absolute results, the emphasis should be on relative results, eg. how the timings for a scenario evolve as the code changes.

Generated at 2023-08-21 14:44:17.21958487 UTC

3-nodes Scenario

A rather typical setup, with 3 nodes forming a Hydra head.

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 108.084125700
P99 268.73059844ms
P95 226.56070464999993ms
P50 88.31115ms
Number of Invalid txs 0

Baseline Scenario

This scenario represents a minimal case and as such is a good baseline against which to assess the overhead introduced by more complex setups. There is a single hydra-node d with a single client submitting single input and single output transactions with a constant UTxO set of 1.

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 4.712282006
P99 13.906874239999993ms
P95 9.933612050000002ms
P50 3.614796ms
Number of Invalid txs 0

@github-actions
Copy link

github-actions bot commented Aug 18, 2023

Test Results

356 tests  +2   351 ✔️ +2   16m 19s ⏱️ -8s
120 suites +1       5 💤 ±0 
    6 files   ±0       0 ±0 

Results for commit 1a94dcd. ± Comparison against base commit 065c35b.

♻️ This comment has been updated with latest results.

@pgrange pgrange force-pushed the move-gen-hydra-key-to-hydra-node branch from 1d2db86 to edf0077 Compare August 21, 2023 13:50
v0d1ch added 3 commits August 21, 2023 16:31
Also move the parsers and introduce a test for the new option.
Introduce a test to check if using default output file works.
Add needed deps to hydra-node executable
Also remove hydra-tools mentioning from various readme files and
docs.
@v0d1ch v0d1ch force-pushed the move-gen-hydra-key-to-hydra-node branch from edf0077 to 1a94dcd Compare August 21, 2023 14:32
@v0d1ch v0d1ch merged commit 9754dcc into master Aug 21, 2023
@v0d1ch v0d1ch deleted the move-gen-hydra-key-to-hydra-node branch August 21, 2023 15:02
@ch1bo ch1bo mentioned this pull request Aug 22, 2023
9 tasks
@ch1bo ch1bo added this to the 0.13.0 milestone Sep 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants