-
Notifications
You must be signed in to change notification settings - Fork 99
SafeClose client command #2335
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
SafeClose client command #2335
Conversation
Transaction costsSizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using
Script summary
|
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 5834 | 10.40 | 3.30 | 0.51 |
| 2 | 6035 | 12.44 | 3.94 | 0.54 |
| 3 | 6236 | 14.72 | 4.66 | 0.58 |
| 5 | 6641 | 18.72 | 5.91 | 0.64 |
| 10 | 7646 | 28.88 | 9.10 | 0.79 |
| 43 | 14285 | 98.78 | 30.87 | 1.80 |
Commit transaction costs
This uses ada-only outputs for better comparability.
| UTxO | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 558 | 2.44 | 1.16 | 0.20 |
| 2 | 740 | 3.38 | 1.73 | 0.22 |
| 3 | 921 | 4.36 | 2.33 | 0.24 |
| 5 | 1280 | 6.41 | 3.60 | 0.28 |
| 10 | 2177 | 12.13 | 7.25 | 0.40 |
| 54 | 10069 | 98.61 | 68.52 | 1.88 |
CollectCom transaction costs
| Parties | UTxO (bytes) | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|---|
| 1 | 57 | 525 | 25.20 | 7.30 | 0.43 |
| 2 | 114 | 636 | 34.38 | 9.91 | 0.53 |
| 3 | 170 | 747 | 42.35 | 12.18 | 0.61 |
| 4 | 227 | 858 | 54.23 | 15.48 | 0.74 |
| 5 | 283 | 969 | 57.94 | 16.69 | 0.78 |
| 6 | 340 | 1081 | 65.99 | 19.03 | 0.87 |
| 7 | 394 | 1196 | 84.26 | 23.84 | 1.06 |
| 8 | 450 | 1307 | 87.02 | 24.90 | 1.09 |
| 9 | 505 | 1418 | 93.64 | 27.00 | 1.16 |
Cost of Increment Transaction
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 1813 | 23.92 | 7.60 | 0.48 |
| 2 | 1882 | 24.77 | 8.48 | 0.49 |
| 3 | 2085 | 27.35 | 9.87 | 0.53 |
| 5 | 2380 | 31.49 | 12.36 | 0.60 |
| 10 | 3086 | 40.16 | 18.12 | 0.74 |
| 37 | 7175 | 91.34 | 50.37 | 1.57 |
Cost of Decrement Transaction
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 600 | 22.57 | 7.31 | 0.41 |
| 2 | 811 | 25.20 | 8.70 | 0.45 |
| 3 | 988 | 28.11 | 10.18 | 0.49 |
| 5 | 1285 | 31.47 | 12.46 | 0.55 |
| 10 | 1990 | 39.39 | 18.00 | 0.69 |
| 42 | 6688 | 97.40 | 55.49 | 1.63 |
Close transaction costs
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 601 | 28.46 | 8.69 | 0.47 |
| 2 | 826 | 29.18 | 9.60 | 0.49 |
| 3 | 969 | 33.32 | 11.42 | 0.54 |
| 5 | 1290 | 35.30 | 13.33 | 0.59 |
| 10 | 2105 | 46.36 | 19.81 | 0.76 |
| 37 | 6056 | 99.66 | 52.76 | 1.60 |
Contest transaction costs
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 670 | 33.87 | 10.16 | 0.53 |
| 2 | 765 | 35.17 | 11.17 | 0.55 |
| 3 | 934 | 37.91 | 12.62 | 0.59 |
| 5 | 1352 | 43.99 | 15.69 | 0.68 |
| 10 | 2096 | 54.76 | 22.02 | 0.84 |
| 29 | 4895 | 98.74 | 46.91 | 1.50 |
Abort transaction costs
There is some variation due to the random mixture of initial and already committed outputs.
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 5782 | 27.13 | 9.09 | 0.69 |
| 2 | 5962 | 37.12 | 12.53 | 0.80 |
| 3 | 5968 | 40.28 | 13.42 | 0.84 |
| 4 | 6292 | 55.18 | 18.63 | 1.01 |
| 5 | 6457 | 63.80 | 21.47 | 1.10 |
| 6 | 6713 | 75.27 | 25.42 | 1.24 |
| 7 | 6608 | 79.08 | 26.53 | 1.27 |
| 8 | 6768 | 89.31 | 30.00 | 1.39 |
FanOut transaction costs
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 ₳ |
|---|---|---|---|---|---|---|
| 10 | 0 | 0 | 5834 | 19.19 | 6.41 | 0.61 |
| 10 | 1 | 57 | 5869 | 19.89 | 6.76 | 0.62 |
| 10 | 5 | 285 | 6004 | 28.02 | 9.98 | 0.71 |
| 10 | 10 | 569 | 6174 | 39.06 | 14.30 | 0.84 |
| 10 | 20 | 1140 | 6515 | 59.98 | 22.53 | 1.08 |
| 10 | 30 | 1710 | 6856 | 79.15 | 30.16 | 1.31 |
| 10 | 39 | 2221 | 7160 | 98.93 | 37.88 | 1.54 |
End-to-end benchmark results
This page is intended to collect the latest end-to-end benchmark results produced by Hydra's continuous integration (CI) system from the latest master code.
Please note that these results are approximate as they are currently produced from limited cloud VMs and not controlled hardware. Rather than focusing on the absolute results, the emphasis should be on relative results, such as how the timings for a scenario evolve as the code changes.
Generated at 2025-11-27 13:01:51.692036492 UTC
Baseline Scenario
| Number of nodes | 1 |
|---|---|
| Number of txs | 300 |
| Avg. Confirmation Time (ms) | 5.178247706 |
| P99 | 7.540227289999968ms |
| P95 | 6.084533400000001ms |
| P50 | 4.984498ms |
| Number of Invalid txs | 0 |
Memory data
| Time | Used | Free |
|---|---|---|
| 2025-11-27 13:00:23.89215751 UTC | 1474M | 7045M |
| 2025-11-27 13:00:24.892123285 UTC | 1487M | 7003M |
| 2025-11-27 13:00:25.892122919 UTC | 1496M | 6994M |
| 2025-11-27 13:00:26.892106587 UTC | 1528M | 6961M |
| 2025-11-27 13:00:27.892095355 UTC | 1555M | 6887M |
| 2025-11-27 13:00:28.892218857 UTC | 1577M | 6838M |
| 2025-11-27 13:00:29.892153476 UTC | 1597M | 6816M |
| 2025-11-27 13:00:30.892123791 UTC | 1605M | 6803M |
| 2025-11-27 13:00:31.89213769 UTC | 1605M | 6801M |
| 2025-11-27 13:00:32.892150012 UTC | 1605M | 6801M |
| 2025-11-27 13:00:33.892095517 UTC | 1605M | 6801M |
| 2025-11-27 13:00:34.892130494 UTC | 1606M | 6801M |
| 2025-11-27 13:00:35.892167524 UTC | 1606M | 6801M |
| 2025-11-27 13:00:36.892164851 UTC | 1606M | 6801M |
| 2025-11-27 13:00:37.892152805 UTC | 1606M | 6800M |
| 2025-11-27 13:00:38.892172583 UTC | 1606M | 6800M |
| 2025-11-27 13:00:39.892119548 UTC | 1606M | 6800M |
| 2025-11-27 13:00:40.892131143 UTC | 1608M | 6798M |
| 2025-11-27 13:00:41.892149269 UTC | 1607M | 6799M |
| 2025-11-27 13:00:42.892102585 UTC | 1608M | 6798M |
| 2025-11-27 13:00:43.892121674 UTC | 1609M | 6797M |
| 2025-11-27 13:00:44.89209149 UTC | 1611M | 6795M |
| 2025-11-27 13:00:45.89211104 UTC | 1611M | 6795M |
| 2025-11-27 13:00:46.892128102 UTC | 1611M | 6795M |
| 2025-11-27 13:00:47.892124816 UTC | 1611M | 6795M |
| 2025-11-27 13:00:48.892129434 UTC | 1611M | 6794M |
| 2025-11-27 13:00:49.892115679 UTC | 1611M | 6794M |
| 2025-11-27 13:00:50.892136729 UTC | 1611M | 6794M |
| 2025-11-27 13:00:51.892124105 UTC | 1612M | 6793M |
| 2025-11-27 13:00:52.892143742 UTC | 1612M | 6793M |
Three local nodes
| Number of nodes | 3 |
|---|---|
| Number of txs | 900 |
| Avg. Confirmation Time (ms) | 36.770475752 |
| P99 | 72.76526265999998ms |
| P95 | 61.62258689999999ms |
| P50 | 32.6245245ms |
| Number of Invalid txs | 0 |
Memory data
| Time | Used | Free |
|---|---|---|
| 2025-11-27 13:01:04.708774864 UTC | 1493M | 6950M |
| 2025-11-27 13:01:05.708773278 UTC | 1502M | 6940M |
| 2025-11-27 13:01:06.708734636 UTC | 1508M | 6935M |
| 2025-11-27 13:01:07.708760129 UTC | 1509M | 6933M |
| 2025-11-27 13:01:08.708649421 UTC | 1512M | 6930M |
| 2025-11-27 13:01:09.70881641 UTC | 1519M | 6923M |
| 2025-11-27 13:01:10.708657934 UTC | 1518M | 6924M |
| 2025-11-27 13:01:11.708689488 UTC | 1575M | 6839M |
| 2025-11-27 13:01:12.708907814 UTC | 1634M | 6753M |
| 2025-11-27 13:01:13.70874871 UTC | 1688M | 6670M |
| 2025-11-27 13:01:14.708815628 UTC | 1720M | 6638M |
| 2025-11-27 13:01:15.70935319 UTC | 1731M | 6626M |
| 2025-11-27 13:01:16.708947934 UTC | 1771M | 6577M |
| 2025-11-27 13:01:17.709489533 UTC | 1778M | 6559M |
| 2025-11-27 13:01:18.7087482 UTC | 1792M | 6535M |
| 2025-11-27 13:01:19.709850025 UTC | 1801M | 6515M |
| 2025-11-27 13:01:20.7109572 UTC | 1813M | 6492M |
| 2025-11-27 13:01:21.712975515 UTC | 1833M | 6462M |
| 2025-11-27 13:01:22.711767207 UTC | 1860M | 6424M |
| 2025-11-27 13:01:23.713103604 UTC | 1862M | 6413M |
| 2025-11-27 13:01:24.713328915 UTC | 1864M | 6405M |
| 2025-11-27 13:01:25.709523748 UTC | 1865M | 6397M |
| 2025-11-27 13:01:26.708730029 UTC | 1870M | 6386M |
| 2025-11-27 13:01:27.708707109 UTC | 1885M | 6370M |
| 2025-11-27 13:01:28.708769542 UTC | 1886M | 6369M |
| 2025-11-27 13:01:29.708839911 UTC | 1886M | 6368M |
| 2025-11-27 13:01:30.708815022 UTC | 1887M | 6367M |
| 2025-11-27 13:01:31.708891487 UTC | 1889M | 6365M |
| 2025-11-27 13:01:32.708829579 UTC | 1893M | 6360M |
| 2025-11-27 13:01:33.70876579 UTC | 1893M | 6360M |
| 2025-11-27 13:01:34.708777965 UTC | 1893M | 6360M |
| 2025-11-27 13:01:35.708747042 UTC | 1893M | 6360M |
| 2025-11-27 13:01:36.709186918 UTC | 1894M | 6359M |
| 2025-11-27 13:01:37.708882052 UTC | 1896M | 6356M |
| 2025-11-27 13:01:38.708768494 UTC | 1897M | 6355M |
| 2025-11-27 13:01:39.708844332 UTC | 1897M | 6355M |
| 2025-11-27 13:01:40.708878548 UTC | 1899M | 6353M |
| 2025-11-27 13:01:41.708948925 UTC | 1899M | 6353M |
| 2025-11-27 13:01:42.708749453 UTC | 1899M | 6353M |
| 2025-11-27 13:01:43.708829675 UTC | 1900M | 6352M |
| 2025-11-27 13:01:44.708792318 UTC | 1899M | 6352M |
| 2025-11-27 13:01:45.708798258 UTC | 1900M | 6351M |
| 2025-11-27 13:01:46.708920734 UTC | 1900M | 6350M |
| 2025-11-27 13:01:47.708734404 UTC | 1902M | 6348M |
| 2025-11-27 13:01:48.708769281 UTC | 1904M | 6346M |
| 2025-11-27 13:01:49.708892394 UTC | 1909M | 6341M |
| 2025-11-27 13:01:50.708640277 UTC | 1909M | 6341M |
Transaction cost differencesNo cost or size differences found |
|
@HinsonSIDAN can you take a look at this? |
|
Yes thinks that's massive help for devexp. Appreciate for taking that up!!!!! |
73a4d3d to
deb9a71
Compare
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
noonio
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Signed-off-by: Sasha Bogicevic <[email protected]>
fix #2330
Add new client command for safe closing the Head
SafeClose.This one will only issue closing in case there are non-ADA assets in the confirmed snapshot UTxO.
In case there are some non-ADA tokens there will be corresponding log entry and a InvalidInput message over websocket - close command will not be issued until these tokens are burned.
This was requested by DeltaDeFi team to prevent accidental Head closing when there are still some tokens in the Head.