Skip to content

fix: icid tx version race condition#4

Open
HinsonSIDAN wants to merge 11 commits intov1.2.0-basefrom
v1.2.3
Open

fix: icid tx version race condition#4
HinsonSIDAN wants to merge 11 commits intov1.2.0-basefrom
v1.2.3

Conversation

@HinsonSIDAN
Copy link
Member


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

v0d1ch and others added 7 commits January 15, 2026 10:29
This reduces the memory usage significantly (1.7 GB vs. 137 MB for the
stress-test I was running)

Signed-off-by: Sasha Bogicevic <sasha.bogicevic@iohk.io>
GitHub Actions runners have limited disk space (~14GB available).
When building uncached Nix derivations (like our modified hydra-node),
the build can exhaust disk space during compilation.

This adds a cleanup step that removes unused tools before the build:
- .NET SDK (~1.8GB)
- Android SDK (~9GB)
- GHC (~5GB)
- CodeQL (~2.5GB)
- Unused Docker images

This frees up ~20GB of disk space, ensuring builds complete successfully.
- Add pull_request trigger for PRs targeting master branch
- Tag PR builds as pr-<number> for easy identification
- Use PR head SHA as version for traceability
@awcjack awcjack changed the base branch from v1.2.2 to v1.2.0-base January 21, 2026 06:21
@github-actions
Copy link

Transaction cost differences

No cost or size differences found

@github-actions
Copy link

Transaction 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 2026-01-21 06:47:49.245160092 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial c8a101a5c8ac4816b0dceb59ce31fc2258e387de828f02961d2f2045 2652
νCommit 61458bc2f297fff3cc5df6ac7ab57cefd87763b0b7bd722146a1035c 685
νHead a1442faf26d4ec409e2f62a685c1d4893f8d6bcbaf7bcb59d6fa1340 14599
μHead fd173b993e12103cd734ca6710d364e17120a5eb37a224c64ab2b188* 5284
νDeposit ae01dade3a9c346d5c93ae3ce339412b90a0b8f83f94ec6baa24e30c 1102
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per head.

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 5837 10.40 3.30 0.51
2 6037 12.23 3.86 0.54
3 6236 14.40 4.55 0.57
5 6641 18.84 5.95 0.64
10 7646 28.71 9.03 0.78
43 14281 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 561 2.44 1.16 0.20
2 743 3.38 1.73 0.22
3 923 4.36 2.33 0.24
5 1280 6.41 3.60 0.28
10 2176 12.13 7.25 0.40
54 10068 98.61 68.52 1.88

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 525 25.24 7.32 0.43
2 114 636 32.27 9.39 0.51
3 169 747 41.22 11.92 0.60
4 226 858 49.28 14.22 0.69
5 283 969 60.92 17.43 0.81
6 339 1085 67.93 19.47 0.89
7 395 1196 82.38 23.35 1.04
8 451 1303 91.82 25.96 1.14

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 1796 24.37 7.71 0.48
2 1953 25.47 8.70 0.50
3 2059 26.94 9.77 0.53
5 2472 32.83 12.74 0.62
10 3352 45.38 19.57 0.81
40 7558 97.36 54.01 1.66

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 606 22.80 7.37 0.41
2 699 22.58 7.95 0.42
3 963 26.09 9.60 0.47
5 1115 26.94 11.17 0.50
10 1966 38.32 17.69 0.67
41 6642 98.93 55.21 1.64

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 665 29.09 8.89 0.48
2 778 30.98 10.08 0.51
3 944 30.98 10.76 0.52
5 1261 35.04 13.25 0.58
10 1935 43.59 18.96 0.72
36 6024 98.70 51.84 1.59

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 691 33.83 10.16 0.53
2 812 35.89 11.39 0.56
3 896 37.24 12.41 0.58
5 1249 42.68 15.29 0.66
10 2014 54.09 21.82 0.83
29 4832 96.97 46.41 1.48

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 5813 27.16 9.12 0.69
2 5937 35.99 12.08 0.79
3 6085 44.75 15.06 0.89
4 6156 50.19 16.82 0.95
5 6283 59.40 19.89 1.05
6 6391 66.83 22.38 1.13
7 6465 73.71 24.69 1.21
8 6720 87.57 29.36 1.37

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 18.75 6.26 0.60
10 5 285 6004 30.23 10.73 0.74
10 10 569 6173 38.62 14.15 0.84
10 20 1139 6513 60.61 22.74 1.09
10 30 1710 6856 80.92 30.76 1.33
10 39 2222 7162 98.49 37.73 1.53

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 2026-01-21 06:52:19.780487696 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 5.798301366
P99 12.52322947999999ms
P95 7.603370650000002ms
P50 5.4294025ms
Number of Invalid txs 0

Memory data

Time Used Free
2026-01-21 06:50:51.748485633 UTC 1704M 7133M
2026-01-21 06:50:52.756014743 UTC 1714M 7089M
2026-01-21 06:50:53.74842533 UTC 1732M 7071M
2026-01-21 06:50:54.748419554 UTC 1758M 7044M
2026-01-21 06:50:55.748499646 UTC 1762M 7010M
2026-01-21 06:50:56.748518108 UTC 1804M 6922M
2026-01-21 06:50:57.748548269 UTC 1824M 6900M
2026-01-21 06:50:58.748420895 UTC 1825M 6895M
2026-01-21 06:50:59.748491158 UTC 1831M 6886M
2026-01-21 06:51:00.748487495 UTC 1831M 6886M
2026-01-21 06:51:01.748408238 UTC 1831M 6886M
2026-01-21 06:51:02.748448356 UTC 1831M 6886M
2026-01-21 06:51:03.748489098 UTC 1831M 6886M
2026-01-21 06:51:04.748454407 UTC 1831M 6886M
2026-01-21 06:51:05.74850296 UTC 1831M 6886M
2026-01-21 06:51:06.748484339 UTC 1832M 6885M
2026-01-21 06:51:07.748436421 UTC 1832M 6885M
2026-01-21 06:51:08.748451823 UTC 1832M 6884M
2026-01-21 06:51:09.748441277 UTC 1832M 6884M
2026-01-21 06:51:10.748441534 UTC 1833M 6883M
2026-01-21 06:51:11.748414975 UTC 1834M 6883M
2026-01-21 06:51:12.748472877 UTC 1834M 6883M
2026-01-21 06:51:13.748494841 UTC 1835M 6881M
2026-01-21 06:51:14.74841808 UTC 1836M 6880M
2026-01-21 06:51:15.748490243 UTC 1836M 6880M
2026-01-21 06:51:16.748456457 UTC 1836M 6880M
2026-01-21 06:51:17.748473418 UTC 1836M 6880M
2026-01-21 06:51:18.748431402 UTC 1836M 6880M
2026-01-21 06:51:19.748487695 UTC 1836M 6880M
2026-01-21 06:51:20.748487665 UTC 1837M 6879M

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 34.600578044
P99 50.539935500000006ms
P95 45.41854699999999ms
P50 33.63306ms
Number of Invalid txs 0

Memory data

Time Used Free
2026-01-21 06:51:32.804483853 UTC 1737M 7016M
2026-01-21 06:51:33.804440382 UTC 1745M 7008M
2026-01-21 06:51:34.804409905 UTC 1746M 7007M
2026-01-21 06:51:35.804415375 UTC 1748M 7005M
2026-01-21 06:51:36.804396627 UTC 1748M 7005M
2026-01-21 06:51:37.804454286 UTC 1749M 7003M
2026-01-21 06:51:38.804505352 UTC 1761M 6991M
2026-01-21 06:51:39.804638141 UTC 1813M 6911M
2026-01-21 06:51:40.804541261 UTC 1867M 6829M
2026-01-21 06:51:41.806270102 UTC 1939M 6730M
2026-01-21 06:51:42.804544665 UTC 1982M 6687M
2026-01-21 06:51:43.804932368 UTC 1982M 6687M
2026-01-21 06:51:44.804651376 UTC 2019M 6640M
2026-01-21 06:51:45.805505767 UTC 2026M 6623M
2026-01-21 06:51:46.805085024 UTC 2043M 6597M
2026-01-21 06:51:47.805277915 UTC 2048M 6582M
2026-01-21 06:51:48.806191449 UTC 2055M 6565M
2026-01-21 06:51:49.804590744 UTC 2064M 6546M
2026-01-21 06:51:50.807616538 UTC 2074M 6526M
2026-01-21 06:51:51.804717651 UTC 2081M 6509M
2026-01-21 06:51:52.806577469 UTC 2085M 6496M
2026-01-21 06:51:53.804621149 UTC 2089M 6481M
2026-01-21 06:51:54.804663949 UTC 2091M 6474M
2026-01-21 06:51:55.805266381 UTC 2092M 6474M
2026-01-21 06:51:56.804524819 UTC 2093M 6472M
2026-01-21 06:51:57.804512375 UTC 2095M 6470M
2026-01-21 06:51:58.804510187 UTC 2099M 6466M
2026-01-21 06:51:59.804640014 UTC 2100M 6465M
2026-01-21 06:52:00.804554805 UTC 2100M 6465M
2026-01-21 06:52:01.804765416 UTC 2101M 6463M
2026-01-21 06:52:02.804513162 UTC 2101M 6463M
2026-01-21 06:52:03.804616391 UTC 2102M 6462M
2026-01-21 06:52:04.804476374 UTC 2102M 6462M
2026-01-21 06:52:05.804600904 UTC 2103M 6461M
2026-01-21 06:52:06.804567086 UTC 2103M 6460M
2026-01-21 06:52:07.80465681 UTC 2103M 6460M
2026-01-21 06:52:08.804526797 UTC 2106M 6457M
2026-01-21 06:52:09.804547155 UTC 2106M 6457M
2026-01-21 06:52:10.804667244 UTC 2107M 6456M
2026-01-21 06:52:11.804566165 UTC 2106M 6456M
2026-01-21 06:52:12.804656403 UTC 2117M 6445M
2026-01-21 06:52:13.804521229 UTC 2116M 6446M
2026-01-21 06:52:14.804829027 UTC 2118M 6444M
2026-01-21 06:52:15.804638955 UTC 2118M 6444M
2026-01-21 06:52:16.804560395 UTC 2118M 6444M
2026-01-21 06:52:17.804532002 UTC 2118M 6444M
2026-01-21 06:52:18.804546244 UTC 2119M 6442M

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