├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ ├── feature_request.md │ ├── node_release.md │ ├── performance_issue │ └── user-facing-feature.md ├── PULL_REQUEST_TEMPLATE.md ├── bin │ ├── check-git-dependencies │ └── retry ├── master-check-exceptions.list ├── mlc_config.json └── workflows │ ├── actionlint-exceptions.txt │ ├── actionlint.yml │ ├── cabal.project.local.ci │ ├── check-cabal-files.yml │ ├── check-git-dependencies.yml │ ├── check-hlint.yml │ ├── check-mainnet-config.yml │ ├── github-page.yml │ ├── haskell.yml │ ├── markdown-links-ci-check.yml │ ├── nightly-trigger.yml │ ├── release-ghcr.yaml │ ├── release-upload.yaml │ ├── shellcheck-exceptions.txt │ ├── shellcheck.yml │ ├── stale-bot.yml │ ├── stylish-haskell.yml │ └── update-hackage-and-chap.yml ├── .gitignore ├── .hlint.yaml ├── .stylish-haskell.yaml ├── CHANGELOG.md ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.rst ├── LICENSE ├── Makefile ├── NOTICE ├── README.rst ├── RELEASE.md ├── SECURITY.md ├── STYLEGUIDE.md ├── bench ├── cardano-profile │ ├── LICENSE │ ├── NOTICE │ ├── app │ │ ├── cardano-profile.hs │ │ └── cardano-timeline.hs │ ├── cardano-profile.cabal │ ├── data │ │ ├── all-profiles-coay.json │ │ ├── db-sync │ │ │ ├── cost_model.json │ │ │ ├── db-sync.sql │ │ │ ├── epoch_param.json │ │ │ └── timeline-2025-03-01.json │ │ ├── genesis │ │ │ ├── epoch-timeline.json │ │ │ └── overlays │ │ │ │ ├── blocksize64k.json │ │ │ │ ├── budget │ │ │ │ └── block │ │ │ │ │ ├── memory │ │ │ │ │ ├── double.json │ │ │ │ │ └── oneandahalf.json │ │ │ │ │ └── steps │ │ │ │ │ ├── double.json │ │ │ │ │ └── oneandahalf.json │ │ │ │ ├── v10-preview.json │ │ │ │ ├── v8-preview.json │ │ │ │ ├── v9-preview.json │ │ │ │ └── voting.json │ │ ├── presets │ │ │ └── mainnet.json │ │ └── test │ │ │ ├── chainsync-early-alonzo-coay │ │ │ ├── node-specs.json │ │ │ ├── profile.json │ │ │ └── topology.json │ │ │ ├── chainsync-early-byron-coay │ │ │ ├── node-specs.json │ │ │ ├── profile.json │ │ │ └── topology.json │ │ │ ├── ci-test-bage.json │ │ │ ├── ci-test-coay │ │ │ ├── node-specs.json │ │ │ ├── profile.json │ │ │ └── topology.json │ │ │ ├── ci-test-dense10-coay │ │ │ ├── node-specs.json │ │ │ ├── profile.json │ │ │ └── topology.json │ │ │ ├── default-coay │ │ │ ├── node-specs.json │ │ │ ├── profile.json │ │ │ └── topology.json │ │ │ └── fast-nomadperf-coay │ │ │ ├── node-specs.json │ │ │ ├── profile.json │ │ │ └── topology.json │ ├── src │ │ └── Cardano │ │ │ └── Benchmarking │ │ │ ├── Profile.hs │ │ │ └── Profile │ │ │ ├── Builtin │ │ │ ├── Cloud.hs │ │ │ ├── Empty.hs │ │ │ ├── ForgeStress.hs │ │ │ ├── K3.hs │ │ │ ├── Legacy │ │ │ │ ├── Dense.hs │ │ │ │ └── Dish.hs │ │ │ ├── Miniature.hs │ │ │ ├── Model.hs │ │ │ ├── Plutuscall.hs │ │ │ └── Scenario │ │ │ │ ├── Base.hs │ │ │ │ ├── Chainsync.hs │ │ │ │ ├── Idle.hs │ │ │ │ └── TracerOnly.hs │ │ │ ├── Extra │ │ │ └── Scaling.hs │ │ │ ├── Genesis.hs │ │ │ ├── NodeSpecs.hs │ │ │ ├── Playground.hs │ │ │ ├── Primitives.hs │ │ │ ├── Types.hs │ │ │ ├── Vocabulary.hs │ │ │ └── Workload │ │ │ ├── Latency.hs │ │ │ └── Voting.hs │ ├── test │ │ ├── Cardano │ │ │ └── Benchmarking │ │ │ │ └── Profile │ │ │ │ └── NodeSpecs │ │ │ │ └── Tests.hs │ │ └── Main.hs │ └── utils │ │ ├── api-pparams-to-genesis.jq │ │ ├── apiPparamsImport.sh │ │ ├── diff.sh │ │ └── test.sh ├── cardano-topology │ ├── LICENSE │ ├── NOTICE │ ├── app │ │ └── cardano-topology.hs │ ├── cardano-topology.cabal │ ├── data │ │ └── test │ │ │ ├── 10-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ ├── node-3.json │ │ │ ├── node-4.json │ │ │ ├── node-5.json │ │ │ ├── node-6.json │ │ │ ├── node-7.json │ │ │ ├── node-8.json │ │ │ ├── node-9.json │ │ │ └── topology.json │ │ │ ├── 6-dense-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ ├── node-3.json │ │ │ ├── node-4.json │ │ │ ├── node-5.json │ │ │ └── topology.json │ │ │ ├── chainsync-early-alonzo-coay │ │ │ ├── explorer.json │ │ │ ├── node-0.json │ │ │ └── topology.json │ │ │ ├── ci-test-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ └── topology.json │ │ │ ├── ci-test-dense10-coay │ │ │ ├── node-0.json │ │ │ └── topology.json │ │ │ ├── ci-test-nomadperf-coay │ │ │ ├── explorer.json │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ └── topology.json │ │ │ ├── ci-test-nomadperf-nop2p-coay │ │ │ ├── explorer.json │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ └── topology.json │ │ │ ├── ci-test-p2p-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ └── topology.json │ │ │ ├── default-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ ├── node-3.json │ │ │ ├── node-4.json │ │ │ ├── node-5.json │ │ │ └── topology.json │ │ │ ├── default-nomadperf-coay │ │ │ ├── explorer.json │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ ├── node-3.json │ │ │ ├── node-4.json │ │ │ ├── node-5.json │ │ │ └── topology.json │ │ │ ├── default-nomadperf-nop2p-coay │ │ │ ├── explorer.json │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ ├── node-3.json │ │ │ ├── node-4.json │ │ │ ├── node-5.json │ │ │ └── topology.json │ │ │ ├── default-p2p-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ ├── node-3.json │ │ │ ├── node-4.json │ │ │ ├── node-5.json │ │ │ └── topology.json │ │ │ ├── fast-solo-coay │ │ │ ├── node-0.json │ │ │ └── topology.json │ │ │ ├── forge-stress-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ └── topology.json │ │ │ ├── forge-stress-p2p-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ └── topology.json │ │ │ ├── model-value-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ ├── node-3.json │ │ │ └── topology.json │ │ │ ├── trace-bench-coay │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-2.json │ │ │ ├── node-3.json │ │ │ ├── node-4.json │ │ │ ├── node-5.json │ │ │ └── topology.json │ │ │ ├── value-nomadperf-nop2p-coay │ │ │ ├── explorer.json │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-10.json │ │ │ ├── node-11.json │ │ │ ├── node-12.json │ │ │ ├── node-13.json │ │ │ ├── node-14.json │ │ │ ├── node-15.json │ │ │ ├── node-16.json │ │ │ ├── node-17.json │ │ │ ├── node-18.json │ │ │ ├── node-19.json │ │ │ ├── node-2.json │ │ │ ├── node-20.json │ │ │ ├── node-21.json │ │ │ ├── node-22.json │ │ │ ├── node-23.json │ │ │ ├── node-24.json │ │ │ ├── node-25.json │ │ │ ├── node-26.json │ │ │ ├── node-27.json │ │ │ ├── node-28.json │ │ │ ├── node-29.json │ │ │ ├── node-3.json │ │ │ ├── node-30.json │ │ │ ├── node-31.json │ │ │ ├── node-32.json │ │ │ ├── node-33.json │ │ │ ├── node-34.json │ │ │ ├── node-35.json │ │ │ ├── node-36.json │ │ │ ├── node-37.json │ │ │ ├── node-38.json │ │ │ ├── node-39.json │ │ │ ├── node-4.json │ │ │ ├── node-40.json │ │ │ ├── node-41.json │ │ │ ├── node-42.json │ │ │ ├── node-43.json │ │ │ ├── node-44.json │ │ │ ├── node-45.json │ │ │ ├── node-46.json │ │ │ ├── node-47.json │ │ │ ├── node-48.json │ │ │ ├── node-49.json │ │ │ ├── node-5.json │ │ │ ├── node-50.json │ │ │ ├── node-51.json │ │ │ ├── node-6.json │ │ │ ├── node-7.json │ │ │ ├── node-8.json │ │ │ ├── node-9.json │ │ │ └── topology.json │ │ │ └── value-volt-nomadperf-coay │ │ │ ├── explorer.json │ │ │ ├── node-0.json │ │ │ ├── node-1.json │ │ │ ├── node-10.json │ │ │ ├── node-11.json │ │ │ ├── node-12.json │ │ │ ├── node-13.json │ │ │ ├── node-14.json │ │ │ ├── node-15.json │ │ │ ├── node-16.json │ │ │ ├── node-17.json │ │ │ ├── node-18.json │ │ │ ├── node-19.json │ │ │ ├── node-2.json │ │ │ ├── node-20.json │ │ │ ├── node-21.json │ │ │ ├── node-22.json │ │ │ ├── node-23.json │ │ │ ├── node-24.json │ │ │ ├── node-25.json │ │ │ ├── node-26.json │ │ │ ├── node-27.json │ │ │ ├── node-28.json │ │ │ ├── node-29.json │ │ │ ├── node-3.json │ │ │ ├── node-30.json │ │ │ ├── node-31.json │ │ │ ├── node-32.json │ │ │ ├── node-33.json │ │ │ ├── node-34.json │ │ │ ├── node-35.json │ │ │ ├── node-36.json │ │ │ ├── node-37.json │ │ │ ├── node-38.json │ │ │ ├── node-39.json │ │ │ ├── node-4.json │ │ │ ├── node-40.json │ │ │ ├── node-41.json │ │ │ ├── node-42.json │ │ │ ├── node-43.json │ │ │ ├── node-44.json │ │ │ ├── node-45.json │ │ │ ├── node-46.json │ │ │ ├── node-47.json │ │ │ ├── node-48.json │ │ │ ├── node-49.json │ │ │ ├── node-5.json │ │ │ ├── node-50.json │ │ │ ├── node-51.json │ │ │ ├── node-6.json │ │ │ ├── node-7.json │ │ │ ├── node-8.json │ │ │ ├── node-9.json │ │ │ └── topology.json │ ├── src │ │ └── Cardano │ │ │ └── Benchmarking │ │ │ ├── Topology.hs │ │ │ └── Topology │ │ │ ├── Projection.hs │ │ │ └── Types.hs │ └── test │ │ ├── Cardano │ │ └── Benchmarking │ │ │ └── Topology │ │ │ └── Projection │ │ │ └── Tests.hs │ │ └── Main.hs ├── locli │ ├── CHANGELOG.md │ ├── LICENSE │ ├── LICENSE_easyplot │ ├── NOTICE │ ├── app │ │ ├── locli-quick.hs │ │ └── locli.hs │ ├── doc │ │ ├── The internals of locli.graphml │ │ ├── The internals of locli.pdf │ │ ├── The workbench.graphml │ │ └── The workbench.pdf │ ├── locli.cabal │ ├── src-quick │ │ ├── Cardano │ │ │ └── Analysis │ │ │ │ ├── Reducer.hs │ │ │ │ └── Reducer │ │ │ │ └── Util.hs │ │ ├── Data │ │ │ └── Reducer.hs │ │ └── Graphics │ │ │ └── EasyPlot.hs │ ├── src │ │ ├── Cardano │ │ │ ├── Analysis │ │ │ │ ├── API.hs │ │ │ │ ├── API │ │ │ │ │ ├── Chain.hs │ │ │ │ │ ├── ChainFilter.hs │ │ │ │ │ ├── Context.hs │ │ │ │ │ ├── Dictionary.hs │ │ │ │ │ ├── Field.hs │ │ │ │ │ ├── Ground.hs │ │ │ │ │ ├── LocliVersion.hs │ │ │ │ │ ├── Metrics.hs │ │ │ │ │ ├── Run.hs │ │ │ │ │ └── Types.hs │ │ │ │ ├── BlockProp.hs │ │ │ │ ├── MachPerf.hs │ │ │ │ └── Summary.hs │ │ │ ├── Command.hs │ │ │ ├── JSON.hs │ │ │ ├── Org.hs │ │ │ ├── Render.hs │ │ │ ├── Report.hs │ │ │ ├── TopHandler.hs │ │ │ ├── Unlog │ │ │ │ ├── BackendDB.hs │ │ │ │ ├── BackendFile.hs │ │ │ │ ├── LogObject.hs │ │ │ │ ├── LogObjectDB.hs │ │ │ │ └── Resources.hs │ │ │ └── Util.hs │ │ └── Data │ │ │ ├── Accum.hs │ │ │ ├── CDF.hs │ │ │ ├── DataDomain.hs │ │ │ └── Profile.hs │ └── test │ │ ├── Test │ │ ├── Analysis │ │ │ └── CDF.hs │ │ └── Unlog │ │ │ ├── LogObjectDB.hs │ │ │ └── Org.hs │ │ └── test-locli.hs ├── org-id-find-plus.el ├── plutus-scripts-bench │ ├── LICENSE │ ├── NOTICE │ ├── app │ │ └── gen-plutus.hs │ ├── plutus-scripts-bench.cabal │ └── src │ │ └── Cardano │ │ └── Benchmarking │ │ ├── PlutusScripts.hs │ │ ├── PlutusScripts │ │ ├── CustomCall.hs │ │ ├── CustomCallTypes.hs │ │ ├── EcdsaSecp256k1Loop.hs │ │ ├── HashOntoG2AndAdd.hs │ │ ├── Loop2024.hs │ │ ├── LoopV3.hs │ │ ├── Ripemd160.hs │ │ ├── SchnorrSecp256k1Loop.hs │ │ └── SupplementalDatum.hs │ │ └── ScriptAPI.hs ├── script │ ├── loop.plutus │ ├── probe.sh │ ├── sum1ToN.plutus │ ├── test-large.ljson │ ├── test-plutus-to-file.json │ └── test-stand-alone.json ├── tx-generator-config-base.json ├── tx-generator │ ├── CHANGELOG.md │ ├── LICENSE │ ├── NOTICE │ ├── README.md │ ├── app │ │ ├── calibrate-script.hs │ │ └── tx-generator.hs │ ├── data │ │ ├── EcdsaSecp256k1Loop.redeemer.json │ │ ├── HashOntoG2AndAdd.redeemer.json │ │ ├── Loop.redeemer.json │ │ ├── Loop2024.redeemer.json │ │ ├── LoopV3.redeemer.json │ │ ├── Ripemd160.redeemer.json │ │ ├── SchnorrSecp256k1Loop.redeemer.json │ │ ├── protocol-parameters-v10.json │ │ ├── protocol-parameters-v8.json │ │ ├── protocol-parameters-v9.json │ │ └── protocol-parameters.json │ ├── scripts-fallback │ │ ├── EcdsaSecp256k1Loop.plutus │ │ ├── HashOntoG2AndAdd.plutus │ │ ├── Loop.plutus │ │ ├── Loop2024.plutus │ │ ├── LoopV3.plutus │ │ ├── Ripemd160.plutus │ │ └── SchnorrSecp256k1Loop.plutus │ ├── scripts-legacy │ │ ├── EcdsaSecp256k1Loop_2023.plutus │ │ └── SchnorrSecp256k1Loop_2023.plutus │ ├── src-calibrate │ │ └── Cardano │ │ │ └── TxGenerator │ │ │ └── Calibrate │ │ │ └── Utils.hs │ ├── src │ │ └── Cardano │ │ │ ├── Benchmarking │ │ │ ├── Command.hs │ │ │ ├── Compiler.hs │ │ │ ├── GeneratorTx.hs │ │ │ ├── GeneratorTx │ │ │ │ ├── NodeToNode.hs │ │ │ │ ├── SizedMetadata.hs │ │ │ │ ├── Submission.hs │ │ │ │ └── SubmissionClient.hs │ │ │ ├── LogTypes.hs │ │ │ ├── OuroborosImports.hs │ │ │ ├── Script.hs │ │ │ ├── Script │ │ │ │ ├── Action.hs │ │ │ │ ├── Aeson.hs │ │ │ │ ├── Core.hs │ │ │ │ ├── Env.hs │ │ │ │ ├── Selftest.hs │ │ │ │ └── Types.hs │ │ │ ├── TpsThrottle.hs │ │ │ ├── Tracer.hs │ │ │ ├── Types.hs │ │ │ ├── Version.hs │ │ │ └── Wallet.hs │ │ │ └── TxGenerator │ │ │ ├── Fund.hs │ │ │ ├── FundQueue.hs │ │ │ ├── Genesis.hs │ │ │ ├── Internal │ │ │ ├── Fifo.hs │ │ │ └── Orphans.hs │ │ │ ├── PlutusContext.hs │ │ │ ├── ProtocolParameters.hs │ │ │ ├── PureExample.hs │ │ │ ├── Script │ │ │ └── Types.hs │ │ │ ├── Setup │ │ │ ├── NixService.hs │ │ │ ├── NodeConfig.hs │ │ │ ├── Plutus.hs │ │ │ └── SigningKey.hs │ │ │ ├── Tx.hs │ │ │ ├── Types.hs │ │ │ ├── UTxO.hs │ │ │ └── Utils.hs │ ├── test │ │ ├── ApiTest.hs │ │ ├── Bench.hs │ │ ├── Main.hs │ │ └── script.json │ └── tx-generator.cabal └── workbench.gnuplot ├── cabal.project ├── cardano-node-capi ├── CHANGELOG.md ├── LICENSE ├── NOTICE ├── cardano-node-capi.cabal └── src │ └── Node.hs ├── cardano-node-chairman ├── LICENSE ├── NOTICE ├── app │ ├── Cardano │ │ ├── Chairman.hs │ │ └── Chairman │ │ │ ├── Commands.hs │ │ │ └── Commands │ │ │ ├── Run.hs │ │ │ └── Version.hs │ └── cardano-node-chairman.hs ├── cardano-node-chairman.cabal └── test │ ├── Main.hs │ └── Spec │ ├── Chairman │ ├── Cardano.hs │ └── Chairman.hs │ └── Network.hs ├── cardano-node ├── ChangeLog.md ├── LICENSE ├── NOTICE ├── README.md ├── app │ └── cardano-node.hs ├── cardano-node.cabal ├── src │ └── Cardano │ │ ├── Node │ │ ├── Configuration │ │ │ ├── LedgerDB.hs │ │ │ ├── Logging.hs │ │ │ ├── NodeAddress.hs │ │ │ ├── POM.hs │ │ │ ├── Socket.hs │ │ │ ├── Topology.hs │ │ │ └── TopologyP2P.hs │ │ ├── Handlers │ │ │ ├── Shutdown.hs │ │ │ └── TopLevel.hs │ │ ├── Orphans.hs │ │ ├── Parsers.hs │ │ ├── Pretty.hs │ │ ├── Protocol.hs │ │ ├── Protocol │ │ │ ├── Alonzo.hs │ │ │ ├── Byron.hs │ │ │ ├── Cardano.hs │ │ │ ├── Checkpoints.hs │ │ │ ├── Conway.hs │ │ │ ├── Shelley.hs │ │ │ └── Types.hs │ │ ├── Queries.hs │ │ ├── Run.hs │ │ ├── STM.hs │ │ ├── Startup.hs │ │ ├── TraceConstraints.hs │ │ ├── Tracing.hs │ │ ├── Tracing │ │ │ ├── API.hs │ │ │ ├── Compat.hs │ │ │ ├── Consistency.hs │ │ │ ├── DefaultTraceConfig.hs │ │ │ ├── Documentation.hs │ │ │ ├── Era │ │ │ │ ├── Byron.hs │ │ │ │ ├── HardFork.hs │ │ │ │ └── Shelley.hs │ │ │ ├── Formatting.hs │ │ │ ├── NodeInfo.hs │ │ │ ├── NodeStartupInfo.hs │ │ │ ├── Peers.hs │ │ │ ├── Render.hs │ │ │ ├── StateRep.hs │ │ │ ├── Tracers.hs │ │ │ └── Tracers │ │ │ │ ├── BlockReplayProgress.hs │ │ │ │ ├── ChainDB.hs │ │ │ │ ├── Consensus.hs │ │ │ │ ├── ConsensusStartupException.hs │ │ │ │ ├── Diffusion.hs │ │ │ │ ├── ForgingStats.hs │ │ │ │ ├── KESInfo.hs │ │ │ │ ├── LedgerMetrics.hs │ │ │ │ ├── NodeToClient.hs │ │ │ │ ├── NodeToNode.hs │ │ │ │ ├── NodeVersion.hs │ │ │ │ ├── NonP2P.hs │ │ │ │ ├── P2P.hs │ │ │ │ ├── Peer.hs │ │ │ │ ├── Resources.hs │ │ │ │ ├── Shutdown.hs │ │ │ │ └── Startup.hs │ │ └── Types.hs │ │ └── Tracing │ │ ├── Config.hs │ │ ├── HasIssuer.hs │ │ ├── Metrics.hs │ │ ├── OrphanInstances │ │ ├── Byron.hs │ │ ├── Common.hs │ │ ├── Consensus.hs │ │ ├── HardFork.hs │ │ ├── Network.hs │ │ └── Shelley.hs │ │ ├── Peer.hs │ │ ├── Render.hs │ │ ├── Shutdown.hs │ │ ├── Startup.hs │ │ └── Tracers.hs └── test │ ├── Test │ └── Cardano │ │ ├── Config │ │ └── Mainnet.hs │ │ ├── Node │ │ ├── FilePermissions.hs │ │ ├── Gen.hs │ │ ├── Json.hs │ │ └── POM.hs │ │ └── Tracing │ │ ├── NewTracing │ │ ├── Consistency.hs │ │ └── data │ │ │ ├── badConfig.yaml │ │ │ └── goodConfig.yaml │ │ └── OrphanInstances │ │ ├── HardFork.hs │ │ ├── data │ │ ├── ntcByronOnly.json │ │ ├── ntc_HFV1_ByronV1_ShelleyV11.json │ │ ├── ntc_HFV1_ByronV1_ShelleyV11_ConwayV11.json │ │ ├── ntc_HFV3_ByronV1.json │ │ ├── ntc_HFV3_ByronV1_ShelleyV8.json │ │ ├── ntc_HFV3_ByronV1_ShelleyV8_ConwayV2.json │ │ └── ntc_HFV3_allDisabled.json │ │ └── ntcByronOnly.json │ └── cardano-node-test.hs ├── cardano-submit-api ├── CHANGELOG.md ├── LICENSE ├── NOTICE ├── README.md ├── app │ └── Main.hs ├── cardano-submit-api.cabal ├── config │ └── tx-submit-mainnet-config.yaml ├── src │ └── Cardano │ │ ├── TxSubmit.hs │ │ └── TxSubmit │ │ ├── CLI │ │ ├── Parsers.hs │ │ └── Types.hs │ │ ├── Config.hs │ │ ├── Metrics.hs │ │ ├── Orphans.hs │ │ ├── Rest │ │ ├── Parsers.hs │ │ ├── Types.hs │ │ └── Web.hs │ │ ├── Tracing │ │ └── ToObjectOrphans.hs │ │ ├── Types.hs │ │ ├── Util.hs │ │ └── Web.hs ├── swagger.yaml └── test │ ├── run.sh │ └── test.hs ├── cardano-testnet ├── CHANGELOG.md ├── LICENSE ├── NOTICE ├── README.md ├── app │ └── cardano-testnet.hs ├── cardano-testnet.cabal ├── files │ └── data │ │ ├── alonzo │ │ └── genesis.alonzo.spec.json │ │ └── conway │ │ └── genesis.conway.spec.json ├── src │ ├── Cardano │ │ └── Testnet.hs │ ├── Parsers │ │ ├── Cardano.hs │ │ ├── Help.hs │ │ ├── Run.hs │ │ └── Version.hs │ └── Testnet │ │ ├── Components │ │ ├── Configuration.hs │ │ └── Query.hs │ │ ├── Defaults.hs │ │ ├── EpochStateProcessing.hs │ │ ├── Filepath.hs │ │ ├── Ping.hs │ │ ├── Process │ │ ├── Cli │ │ │ ├── DRep.hs │ │ │ ├── Keys.hs │ │ │ ├── SPO.hs │ │ │ └── Transaction.hs │ │ └── Run.hs │ │ ├── Property │ │ ├── Assert.hs │ │ ├── Run.hs │ │ └── Util.hs │ │ ├── Runtime.hs │ │ ├── Start │ │ ├── Byron.hs │ │ ├── Cardano.hs │ │ └── Types.hs │ │ ├── SubmitApi.hs │ │ ├── TestEnumGenerator.hs │ │ ├── TestQueryCmds.hs │ │ └── Types.hs └── test │ ├── cardano-testnet-golden │ ├── Cardano │ │ └── Testnet │ │ │ └── Test │ │ │ └── Golden │ │ │ ├── Config.hs │ │ │ ├── Help.hs │ │ │ └── Util.hs │ ├── cardano-testnet-golden.hs │ └── files │ │ └── golden │ │ ├── allegra_node_default_config.json │ │ ├── alonzo_node_default_config.json │ │ ├── babbage_node_default_config.json │ │ ├── conway_node_default_config.json │ │ ├── help.cli │ │ ├── help │ │ ├── babbage.cli │ │ ├── byron.cli │ │ ├── cardano.cli │ │ ├── conway.cli │ │ ├── help.cli │ │ ├── shelley.cli │ │ └── version.cli │ │ ├── mary_node_default_config.json │ │ └── shelley_node_default_config.json │ └── cardano-testnet-test │ ├── Cardano │ └── Testnet │ │ └── Test │ │ ├── Api │ │ └── TxReferenceInputDatum.hs │ │ ├── Cli │ │ ├── Conway │ │ │ └── StakeSnapshot.hs │ │ ├── KesPeriodInfo.hs │ │ ├── LeadershipSchedule.hs │ │ ├── Plutus │ │ │ ├── CostCalculation.hs │ │ │ └── Scripts.hs │ │ ├── Query.hs │ │ ├── QuerySlotNumber.hs │ │ ├── StakeSnapshot.hs │ │ ├── Transaction.hs │ │ └── Transaction │ │ │ └── RegisterDeregisterStakeAddress.hs │ │ ├── FoldEpochState.hs │ │ ├── Gov │ │ ├── CommitteeAddNew.hs │ │ ├── DRepActivity.hs │ │ ├── DRepDeposit.hs │ │ ├── DRepRetirement.hs │ │ ├── GovActionTimeout.hs │ │ ├── InfoAction.hs │ │ ├── NoConfidence.hs │ │ ├── PParamChangeFailsSPO.hs │ │ ├── PredefinedAbstainDRep.hs │ │ ├── ProposeNewConstitution.hs │ │ ├── ProposeNewConstitutionSPO.hs │ │ ├── Transaction │ │ │ └── HashMismatch.hs │ │ ├── TreasuryDonation.hs │ │ ├── TreasuryGrowth.hs │ │ └── TreasuryWithdrawal.hs │ │ ├── Misc.hs │ │ ├── Node │ │ └── Shutdown.hs │ │ ├── RunTestnet.hs │ │ ├── SanityCheck.hs │ │ └── SubmitApi │ │ └── Transaction.hs │ ├── cardano-testnet-test.hs │ └── files │ ├── calculatePlutusScriptCost.json │ ├── calculateSimpleScriptCost.json │ ├── golden │ ├── queries │ │ ├── drepStateOut.json │ │ ├── govStateOut.json │ │ ├── protocolParametersFileOut.json │ │ ├── protocolParametersOut.txt │ │ ├── queryConstitutionOut.json │ │ ├── refScriptSizeOut.json │ │ ├── stakeAddressInfoOut.json │ │ └── tipOut.json │ └── tx.failed.response.json.golden │ ├── input │ └── sample-constitution.txt │ ├── plutus │ └── v3 │ │ ├── 42.datum │ │ ├── always-succeeds.plutus │ │ ├── certifying-script.plutus │ │ ├── minting-script.plutus │ │ └── proposing-script.plutus │ ├── sample-constitution-anchor │ └── sample-proposal-anchor ├── cardano-tracer ├── CHANGELOG.md ├── CODEOWNERS ├── LICENSE ├── NOTICE ├── README.md ├── app │ └── cardano-tracer.hs ├── bench │ └── cardano-tracer-bench.hs ├── cardano-tracer.cabal ├── configuration │ ├── complete-example.json │ ├── complete-example.yaml │ ├── membench-example.yaml │ ├── metrics_help.json │ ├── minimal-example-rtview.json │ ├── minimal-example-rtview.yaml │ ├── minimal-example.json │ └── minimal-example.yaml ├── demo │ ├── acceptor.hs │ ├── multi │ │ ├── README.md │ │ ├── active-tracer-config.json │ │ ├── forwarder.hs │ │ ├── passive-tracer-config.json │ │ └── run.sh │ └── ssh │ │ ├── README.md │ │ ├── active-tracer-config.json │ │ ├── forwarder.hs │ │ ├── passive-tracer-config.json │ │ └── run.sh ├── docs │ ├── cardano-rtview.md │ └── cardano-tracer.md ├── src │ └── Cardano │ │ └── Tracer │ │ ├── Acceptors │ │ ├── Client.hs │ │ ├── Run.hs │ │ ├── Server.hs │ │ └── Utils.hs │ │ ├── CLI.hs │ │ ├── Configuration.hs │ │ ├── Environment.hs │ │ ├── Handlers │ │ ├── Logs │ │ │ ├── File.hs │ │ │ ├── Journal.hs │ │ │ ├── Rotator.hs │ │ │ ├── TraceObjects.hs │ │ │ └── Utils.hs │ │ ├── Metrics │ │ │ ├── Monitoring.hs │ │ │ ├── Prometheus.hs │ │ │ ├── Servers.hs │ │ │ └── Utils.hs │ │ ├── Notifications │ │ │ ├── Check.hs │ │ │ ├── Email.hs │ │ │ ├── Send.hs │ │ │ ├── Settings.hs │ │ │ ├── Timer.hs │ │ │ ├── Types.hs │ │ │ └── Utils.hs │ │ ├── RTView │ │ │ ├── Run.hs │ │ │ ├── State │ │ │ │ ├── Displayed.hs │ │ │ │ ├── EraSettings.hs │ │ │ │ ├── Historical.hs │ │ │ │ ├── Last.hs │ │ │ │ └── Peers.hs │ │ │ ├── UI │ │ │ │ ├── CSS │ │ │ │ │ ├── Bulma.hs │ │ │ │ │ └── Own.hs │ │ │ │ ├── Charts.hs │ │ │ │ ├── HTML │ │ │ │ │ ├── About.hs │ │ │ │ │ ├── Body.hs │ │ │ │ │ ├── Logs.hs │ │ │ │ │ ├── Main.hs │ │ │ │ │ ├── NoNodes.hs │ │ │ │ │ ├── Node │ │ │ │ │ │ ├── Column.hs │ │ │ │ │ │ ├── EKG.hs │ │ │ │ │ │ └── Peers.hs │ │ │ │ │ └── Notifications.hs │ │ │ │ ├── Img │ │ │ │ │ └── Icons.hs │ │ │ │ ├── JS │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── ChartJS.hs │ │ │ │ │ ├── Charts.hs │ │ │ │ │ └── Utils.hs │ │ │ │ ├── Logs.hs │ │ │ │ ├── Notifications.hs │ │ │ │ ├── Theme.hs │ │ │ │ ├── Types.hs │ │ │ │ └── Utils.hs │ │ │ ├── Update │ │ │ │ ├── Chain.hs │ │ │ │ ├── EKG.hs │ │ │ │ ├── EraSettings.hs │ │ │ │ ├── Historical.hs │ │ │ │ ├── KES.hs │ │ │ │ ├── Leadership.hs │ │ │ │ ├── Logs.hs │ │ │ │ ├── NodeInfo.hs │ │ │ │ ├── NodeState.hs │ │ │ │ ├── Nodes.hs │ │ │ │ ├── Peers.hs │ │ │ │ ├── Reload.hs │ │ │ │ ├── Resources.hs │ │ │ │ └── Transactions.hs │ │ │ └── Utils.hs │ │ ├── ReForwarder.hs │ │ ├── SSL │ │ │ └── Certs.hs │ │ ├── State │ │ │ └── TraceObjects.hs │ │ ├── System.hs │ │ └── Utils.hs │ │ ├── MetaTrace.hs │ │ ├── Run.hs │ │ ├── Types.hs │ │ └── Utils.hs └── test │ ├── Cardano │ └── Tracer │ │ └── Test │ │ ├── Acceptor.hs │ │ ├── DataPoint │ │ └── Tests.hs │ │ ├── Forwarder.hs │ │ ├── ForwardingStressTest │ │ ├── Config.hs │ │ ├── Messages.hs │ │ ├── Script.hs │ │ └── Types.hs │ │ ├── Logs │ │ └── Tests.hs │ │ ├── Queue │ │ └── Tests.hs │ │ ├── Restart │ │ └── Tests.hs │ │ ├── TestSetup.hs │ │ └── Utils.hs │ ├── cardano-tracer-test-ext.hs │ ├── cardano-tracer-test.hs │ └── config.yaml ├── ci-shell ├── ci ├── check-dependencies-merged-to-master.sh └── check-hydra.sh ├── configuration ├── cardano │ ├── mainnet-alonzo-genesis.json │ ├── mainnet-byron-genesis.json │ ├── mainnet-checkpoints.json │ ├── mainnet-config-bp.json │ ├── mainnet-config-new-tracing.json │ ├── mainnet-config.json │ ├── mainnet-config.yaml │ ├── mainnet-conway-genesis.json │ ├── mainnet-peer-snapshot.json │ ├── mainnet-shelley-genesis.json │ ├── mainnet-topology.json │ ├── testnet-template-alonzo.json │ ├── testnet-template-byron.json │ ├── testnet-template-config.json │ ├── testnet-template-conway.json │ ├── testnet-template-shelley.json │ ├── testnet-template-topology-empty-p2p.json │ └── update-config-files.sh ├── defaults │ ├── byron-mainnet │ │ ├── configuration.yaml │ │ ├── genesis.json │ │ └── topology.json │ ├── byron-testnet │ │ ├── configuration.yaml │ │ ├── genesis.json │ │ └── topology.json │ └── simpleview │ │ ├── config-0.yaml │ │ ├── config-1.yaml │ │ ├── config-2.yaml │ │ ├── topology-node-0.json │ │ ├── topology-node-1.json │ │ └── topology-node-2.json ├── mainnet-ci │ ├── configuration.yaml │ ├── generate.sh │ ├── genesis.json │ ├── hash.txt │ ├── key0.sk │ ├── key0.sk.lock │ ├── key1.sk │ ├── key1.sk.lock │ ├── key2.sk │ ├── key2.sk.lock │ ├── key3.sk │ ├── key3.sk.lock │ ├── key4.sk │ ├── key4.sk.lock │ ├── key5.sk │ ├── key5.sk.lock │ ├── key6.sk │ ├── key6.sk.lock │ ├── log-config-cluster.yaml │ ├── mainnet-genesis-dryrun-with-stakeholders.json │ ├── mainnet-staging-short-epoch-genesis.json │ ├── shelley-staging-genesis.json │ ├── shelley-staging-short-genesis.json │ ├── system-start.txt │ └── testnet-genesis.json └── readme.md ├── default.nix ├── docker-compose.yml ├── flake.lock ├── flake.nix ├── lib.mk ├── merged_prs.md ├── nix.mk ├── nix ├── README.md ├── TODO.org ├── binary-release.nix ├── cardanolib-py │ ├── README.md │ ├── cardanolib.py │ ├── default.nix │ └── setup.py ├── custom-config.nix ├── default.nix ├── docker │ ├── README.md │ ├── context │ │ └── bin │ │ │ ├── entrypoint │ │ │ ├── run-client │ │ │ └── run-node │ ├── default.nix │ └── submit-api.nix ├── flake-compat.nix ├── haskell.nix ├── nixos │ ├── cardano-node-service.nix │ ├── cardano-submit-api-service.nix │ ├── cardano-tracer-service.nix │ ├── default.nix │ ├── module-list.nix │ ├── tests │ │ ├── cardano-node-artifact.nix │ │ ├── cardano-node-edge.nix │ │ └── default.nix │ └── tx-generator-service.nix ├── pkgs.nix ├── scripts-submit-api.nix ├── scripts.nix ├── set-git-rev.nix ├── supported-systems.nix ├── svclib.nix ├── util.nix └── workbench │ ├── analyse │ ├── analyse.sh │ └── chain-filters │ │ ├── adopt-10.json │ │ ├── epoch3+.json │ │ ├── epoch4+.json │ │ ├── epoch5+.json │ │ ├── fromslot-20k.json │ │ ├── model.json │ │ ├── no-ebnd.json │ │ ├── no-rewards.json │ │ ├── nonnegative.json │ │ ├── rewards.json │ │ ├── size-full.json │ │ ├── size-moderate-2.json │ │ ├── size-moderate.json │ │ ├── size-small.json │ │ └── unitary.json │ ├── backend │ ├── backend.sh │ ├── nomad-job.nix │ ├── nomad.nix │ ├── nomad.sh │ ├── nomad │ │ ├── cloud.nix │ │ ├── cloud.sh │ │ ├── exec.nix │ │ ├── exec.sh │ │ └── patch.nix │ ├── runner.nix │ ├── supervisor-conf.nix │ ├── supervisor.nix │ └── supervisor.sh │ ├── chaindb.sh │ ├── default.nix │ ├── doc.org │ ├── ede │ ├── chart.ede │ ├── manifest.ede │ ├── report.ede │ ├── table.ede │ ├── tablevars-delta-pct.ede │ └── tablevars-delta.ede │ ├── env.sh │ ├── evaluate │ └── evaluate.sh │ ├── genesis │ ├── genesis-utxo.skey │ ├── genesis-utxo.vkey │ ├── genesis.jq │ ├── genesis.sh │ └── guardrails-script.plutus │ ├── lib-cabal.sh │ ├── lib.sh │ ├── manifest.sh │ ├── modules │ ├── documentation.nix │ ├── genesis.nix │ └── profile.nix │ ├── nomad.sh │ ├── profile │ ├── presets │ │ └── mainnet │ │ │ ├── config.json │ │ │ ├── genesis │ │ │ ├── byron │ │ │ │ └── genesis.json │ │ │ ├── genesis-shelley.json │ │ │ ├── genesis.alonzo.json │ │ │ └── genesis.conway.json │ │ │ └── topology-proxy.json │ ├── profile.nix │ └── profile.sh │ ├── publish.sh │ ├── run.sh │ ├── scenario.sh │ ├── service │ ├── generator.nix │ ├── healthcheck.nix │ ├── nodes.nix │ ├── ssh.nix │ ├── tracer.nix │ └── tracing.nix │ ├── shell.nix │ ├── snapshot.nix │ ├── topology │ └── topology.sh │ ├── wb │ ├── wb.nix │ └── workload │ ├── latency.nix │ └── voting.nix ├── plutus-example └── example-scripts │ └── anyone-can-mint.plutus ├── release.nix ├── scripts ├── README.md ├── babbage │ ├── alonzo-babbage-test-genesis.json │ ├── conway-babbage-test-genesis.json │ ├── example-babbage-script-usage.sh │ ├── mkfiles.sh │ ├── script-context-equivalance-test.sh │ ├── script-mint-context-equivalance-test.sh │ └── staking-example │ │ ├── claim-script-staking-rewards.sh │ │ └── register-and-delegate-script-staking-address.sh ├── bin-path.sh ├── byron-to-alonzo │ ├── burn.sh │ ├── mint.sh │ ├── mkfiles.sh │ ├── update-1.sh │ ├── update-2.sh │ ├── update-3.sh │ ├── update-4.sh │ └── update-5.sh ├── ci │ └── check-cabal-files.sh ├── gen-cabal-nosystemd.sh ├── gen-merge-summary.sh ├── generate-release-changelog-links.hs ├── githooks │ └── haskell-style-lint ├── lite │ ├── README.md │ ├── byron-testnet.sh │ ├── configuration │ │ ├── shelley-1.yaml │ │ ├── shelley-2.yaml │ │ ├── shelley-3.yaml │ │ ├── topology-node-1.json │ │ ├── topology-node-2.json │ │ └── topology-node-3.json │ ├── example-build-cmd.sh │ ├── mainnet-new-tracing.sh │ ├── mainnet.sh │ ├── shelley-testnet-2.sh │ ├── shelley-testnet.sh │ ├── shutdown-ipc-example.sh │ └── split-txouts.sh ├── plutus │ ├── always-fails.sh │ ├── data │ │ ├── 42.datum │ │ ├── 42.datum.cbor │ │ ├── 42.redeemer │ │ ├── 42.redeemer.cbor │ │ ├── typed-42.datum │ │ ├── typed-42.datum.cbor │ │ └── typed-42.redeemer │ ├── example-txin-locking-plutus-script.sh │ ├── script-context-equivalance-test.sh │ ├── script-context-equivalence-test-minting.sh │ ├── scripts │ │ ├── v1 │ │ │ ├── always-fails.plutus │ │ │ ├── always-succeeds-spending.plutus │ │ │ ├── anyone-can-mint.plutus │ │ │ ├── context-equivalance-test.plutus │ │ │ ├── custom-guess-42-datum-42.plutus │ │ │ ├── guess-42-stake.plutus │ │ │ └── minting-context-equivalance-test.plutus │ │ └── v2 │ │ │ ├── always-fails.plutus │ │ │ ├── always-succeeds-spending.plutus │ │ │ ├── anyone-can-mint.plutus │ │ │ ├── context-equivalence-test.plutus │ │ │ ├── custom-guess-42-datum-42.plutus │ │ │ ├── guess-42-datum-42-txin.plutus │ │ │ ├── guess-42-stake.plutus │ │ │ ├── loop.plutus │ │ │ ├── minting-context-equivalance-test.plutus │ │ │ ├── minting-script.plutus │ │ │ ├── required-redeemer.plutus │ │ │ ├── stake-script.plutus │ │ │ └── sum.plutus │ ├── simple-minting-policy.sh │ └── staking-example │ │ ├── claim-script-staking-rewards.sh │ │ ├── deregister-stake-address.sh │ │ └── register-stake-pool.sh ├── prolog ├── protocol-params.json ├── test-stake-cred-script │ └── create-collateral.sh └── version-change-log.sh ├── shell.nix ├── trace-dispatcher ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── NOTICE ├── README.md ├── bench │ └── trace-dispatcher-bench.hs ├── doc │ ├── config.json │ ├── config.nix │ ├── config.yaml │ └── trace-dispatcher.md ├── src │ ├── Cardano │ │ ├── Logging.hs │ │ └── Logging │ │ │ ├── Configuration.hs │ │ │ ├── ConfigurationParser.hs │ │ │ ├── Consistency.hs │ │ │ ├── DocuGenerator.hs │ │ │ ├── Formatter.hs │ │ │ ├── Forwarding.hs │ │ │ ├── FrequencyLimiter.hs │ │ │ ├── Prometheus │ │ │ ├── Exposition.hs │ │ │ ├── NetworkRun.hs │ │ │ └── TCPServer.hs │ │ │ ├── Trace.hs │ │ │ ├── TraceDispatcherMessage.hs │ │ │ ├── Tracer │ │ │ ├── Composed.hs │ │ │ ├── DataPoint.hs │ │ │ ├── EKG.hs │ │ │ ├── Forward.hs │ │ │ └── Standard.hs │ │ │ ├── Types.hs │ │ │ ├── Types │ │ │ ├── NodeInfo.hs │ │ │ ├── NodePeers.hs │ │ │ └── NodeStartupInfo.hs │ │ │ ├── Utils.hs │ │ │ └── Version.hs │ └── Control │ │ ├── Tracer.hs │ │ └── Tracer │ │ └── Arrow.hs ├── test │ ├── Cardano │ │ └── Logging │ │ │ └── Test │ │ │ ├── Config.hs │ │ │ ├── Oracles.hs │ │ │ ├── Script.hs │ │ │ ├── Tracer.hs │ │ │ ├── Types.hs │ │ │ └── Unit │ │ │ ├── Aggregation.hs │ │ │ ├── Configuration.hs │ │ │ ├── DataPoint.hs │ │ │ ├── Documentation.hs │ │ │ ├── EKG.hs │ │ │ ├── FrequencyLimiting.hs │ │ │ ├── Routing.hs │ │ │ ├── TestObjects.hs │ │ │ └── Trivial.hs │ ├── data │ │ └── docGeneration.md │ └── trace-dispatcher-test.hs └── trace-dispatcher.cabal ├── trace-forward ├── CHANGELOG.md ├── CODEOWNERS ├── LICENSE ├── NOTICE ├── README.md ├── src │ └── Trace │ │ └── Forward │ │ ├── Configuration │ │ ├── DataPoint.hs │ │ └── TraceObject.hs │ │ ├── Protocol │ │ ├── DataPoint │ │ │ ├── Acceptor.hs │ │ │ ├── Codec.hs │ │ │ ├── Forwarder.hs │ │ │ └── Type.hs │ │ └── TraceObject │ │ │ ├── Acceptor.hs │ │ │ ├── Codec.hs │ │ │ ├── Forwarder.hs │ │ │ └── Type.hs │ │ ├── Run │ │ ├── DataPoint │ │ │ ├── Acceptor.hs │ │ │ └── Forwarder.hs │ │ └── TraceObject │ │ │ ├── Acceptor.hs │ │ │ └── Forwarder.hs │ │ └── Utils │ │ ├── DataPoint.hs │ │ └── TraceObject.hs ├── test │ ├── Main.hs │ └── Test │ │ └── Trace │ │ └── Forward │ │ └── Protocol │ │ ├── Common.hs │ │ ├── DataPoint │ │ ├── Codec.hs │ │ ├── Direct.hs │ │ ├── Examples.hs │ │ ├── Item.hs │ │ └── Tests.hs │ │ └── TraceObject │ │ ├── Codec.hs │ │ ├── Direct.hs │ │ ├── Examples.hs │ │ ├── Item.hs │ │ └── Tests.hs └── trace-forward.cabal ├── trace-resources ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── NOTICE ├── README.md ├── bench │ └── trace-resources-bench.hs ├── cbits │ ├── os-support-darwin.c │ └── os-support-win.c ├── include │ ├── os-support-darwin.h │ └── os-support-win.h ├── src │ └── Cardano │ │ └── Logging │ │ ├── Resources.hs │ │ └── Resources │ │ ├── Darwin.hsc │ │ ├── Dummy.hs │ │ ├── Linux.hs │ │ ├── Types.hs │ │ └── Windows.hsc ├── test │ └── trace-resources-test.hs └── trace-resources.cabal └── wb_profiles.mk /.gitattributes: -------------------------------------------------------------------------------- 1 | # GitHub Linguist annotations. 2 | 3 | configuration/cardano/mainnet-config.json text eol=lf 4 | configuration/cardano/mainnet-alonzo-genesis.json text eol=lf 5 | configuration/cardano/mainnet-byron-genesis.json text eol=lf 6 | configuration/cardano/mainnet-conway-genesis.json text eol=lf 7 | configuration/cardano/mainnet-shelley-genesis.json text eol=lf 8 | cardano-testnet/test/cardano-testnet-test/files/sample-proposal-anchor text eol=lf 9 | cardano-testnet/test/cardano-testnet-test/files/sample-constitution-anchor text eol=lf 10 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Cardano CLI Issues 4 | url: https://github.com/IntersectMBO/cardano-cli/issues 5 | about: Report CLI related issues here 6 | - name: Cardano API Issues 7 | url: https://github.com/IntersectMBO/cardano-api/issues 8 | about: Report API related issues here 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Submit a feature request 4 | title: "[FR] - " 5 | labels: ["type: enhancement", "needs triage"] 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Internal/External** 11 | *Internal* if an IOHK staff member. 12 | *External* otherwise. 13 | 14 | **Area** 15 | *Token Locking* Related to Token Locking (Allegra). 16 | *Native Tokens* Related to Native Tokens (Mary). 17 | *Plutus* Related to Plutus Scripts (Alonzo). 18 | *Other* Any other topic (Delegation, Ranking, ...). 19 | 20 | **Describe the feature you'd like** 21 | A clear and detailed description of what you are suggesting. 22 | 23 | **Describe alternatives you've considered** 24 | A clear and concise description of any alternative solutions or features you've considered. 25 | 26 | **Additional context / screenshots** 27 | Add any other context or screenshots about the feature request here. 28 | -------------------------------------------------------------------------------- /.github/bin/retry: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | n="$1" 4 | 5 | shift 6 | 7 | for i in $(seq 1 "$n"); do 8 | "$@" && exit 9 | exit_code="$?" 10 | echo "Attempt $i failed: $@" 11 | sleep 1 12 | done 13 | 14 | exit "$exit_code" 15 | -------------------------------------------------------------------------------- /.github/master-check-exceptions.list: -------------------------------------------------------------------------------- 1 | vshabanov/ekg-json 2 | input-output-hk/iohk-monitoring-framework 3 | -------------------------------------------------------------------------------- /.github/mlc_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignorePatterns": [ 3 | { 4 | "pattern": "^(http|https)://127.0.0.1" 5 | }, 6 | { 7 | "pattern": "https://iohk.myjetbrains.com" 8 | }, 9 | { 10 | "pattern": "https://iohk.zendesk.com" 11 | }, 12 | { 13 | "pattern": "^#$" 14 | } 15 | ], 16 | "retryOn429": true, 17 | "retryCount": 4, 18 | "aliveStatusCodes": [ 19 | 200, 20 | 206 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /.github/workflows/actionlint-exceptions.txt: -------------------------------------------------------------------------------- 1 | .github/workflows/haskell.yml 2 | .github/workflows/release-ghcr.yaml 3 | .github/workflows/release-upload.yaml 4 | .github/workflows/stylish-haskell.yml 5 | -------------------------------------------------------------------------------- /.github/workflows/cabal.project.local.ci: -------------------------------------------------------------------------------- 1 | package HsOpenSSL 2 | flags: +use-pkg-config 3 | -------------------------------------------------------------------------------- /.github/workflows/check-cabal-files.yml: -------------------------------------------------------------------------------- 1 | name: Check cabal files 2 | 3 | on: 4 | pull_request: # Required for workflows to be able to be approved from forks 5 | merge_group: 6 | 7 | jobs: 8 | check-cabal-files: 9 | runs-on: ubuntu-latest 10 | 11 | steps: 12 | - name: Install Haskell 13 | uses: input-output-hk/actions/haskell@latest 14 | id: setup-haskell 15 | with: 16 | cabal-version: "3.10.2.0" 17 | 18 | - uses: actions/checkout@v3 19 | 20 | - name: Cabal check 21 | run: ./scripts/ci/check-cabal-files.sh 22 | -------------------------------------------------------------------------------- /.github/workflows/check-git-dependencies.yml: -------------------------------------------------------------------------------- 1 | name: Check git dependencies 2 | 3 | on: 4 | pull_request: # Required for workflows to be able to be approved from forks 5 | merge_group: 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | 11 | defaults: 12 | run: 13 | shell: bash 14 | 15 | steps: 16 | 17 | - uses: actions/checkout@v3 18 | 19 | - name: Check git dependencies 20 | run: | 21 | .github/bin/check-git-dependencies 22 | -------------------------------------------------------------------------------- /.github/workflows/check-hlint.yml: -------------------------------------------------------------------------------- 1 | name: Check HLint 2 | 3 | on: 4 | pull_request: # Required for workflows to be able to be approved from forks 5 | merge_group: 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | 11 | defaults: 12 | run: 13 | shell: bash 14 | 15 | steps: 16 | 17 | - uses: actions/checkout@v4 18 | 19 | - name: 'Set up HLint' 20 | uses: rwe/actions-hlint-setup@v1 21 | with: 22 | version: 3.5 23 | 24 | - name: 'Run HLint' 25 | uses: rwe/actions-hlint-run@v2 26 | -------------------------------------------------------------------------------- /.github/workflows/markdown-links-ci-check.yml: -------------------------------------------------------------------------------- 1 | name: Check Markdown links 2 | 3 | on: 4 | pull_request: # Required for workflows to be able to be approved from forks 5 | merge_group: 6 | 7 | jobs: 8 | markdown-link-check: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v3 12 | - uses: tcort/github-action-markdown-link-check@v1 13 | with: 14 | use-quiet-mode: yes 15 | config-file: '.github/mlc_config.json' 16 | -------------------------------------------------------------------------------- /.github/workflows/nightly-trigger.yml: -------------------------------------------------------------------------------- 1 | name: Nightly Trigger 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '0 5 * * *' 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | 12 | defaults: 13 | run: 14 | shell: bash 15 | 16 | steps: 17 | 18 | - uses: actions/checkout@v3 19 | 20 | - name: Tag 21 | run: | 22 | git branch -D nightly || true 23 | git checkout -b nightly 24 | git push origin nightly --force 25 | 26 | - name: Invoke workflow 27 | uses: input-output-hk/workflow-dispatch@v1 28 | with: 29 | workflow: .github/workflows/haskell.yml 30 | ref: nightly 31 | token: ${{ secrets.MACHINE_TOKEN }} 32 | inputs: '{ "reason": "nightly", "tests": "all" }' 33 | -------------------------------------------------------------------------------- /.github/workflows/stale-bot.yml: -------------------------------------------------------------------------------- 1 | name: 'Close stale issues and PR' 2 | on: 3 | schedule: 4 | - cron: '30 1 * * *' 5 | 6 | jobs: 7 | stale: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/stale@v6 11 | with: 12 | stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 120 days.' 13 | stale-pr-message: 'This PR is stale because it has been open 45 days with no activity.' 14 | close-issue-message: 'This issue was closed because it has been stalled for 120 days with no activity. Remove stale label or comment or this will be closed in 60 days.' 15 | close-pr-message: 'This issue was closed because it has been stalled for 60 days with no activity.' 16 | days-before-stale: 30 17 | days-before-close: 120 18 | days-before-pr-stale: 45 19 | days-before-pr-close: 60 20 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | See [code of conduct]. 2 | 3 | [code of conduct]: https://github.com/input-output-hk/cardano-engineering-handbook/blob/main/CODE-OF-CONDUCT.md 4 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2021-2023 Input Output Global Inc (IOG). 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | Please report (suspected) security vulnerabilities to security@intersectmbo.org. You will receive a 6 | response from us within 48 hours. If the issue is confirmed, we will release a patch as soon 7 | as possible. 8 | 9 | Please provide a clear and concise description of the vulnerability, including: 10 | 11 | * the affected version(s) of cardano-node, 12 | * steps that can be followed to exercise the vulnerability, 13 | * any workarounds or mitigations 14 | 15 | If you have developed any code or utilities that can help demonstrate the suspected 16 | vulnerability, please mention them in your email but ***DO NOT*** attempt to include them as 17 | attachments as this may cause your Email to be blocked by spam filters. 18 | See the security file in the [Cardano engineering handbook](https://github.com/input-output-hk/cardano-engineering-handbook/blob/main/SECURITY.md). 19 | -------------------------------------------------------------------------------- /STYLEGUIDE.md: -------------------------------------------------------------------------------- 1 | The [style guide](https://github.com/input-output-hk/cardano-node-wiki/wiki/Style-guide) can be found 2 | on the [`cardano-node` repository's wiki](https://github.com/input-output-hk/cardano-node-wiki/wiki). 3 | -------------------------------------------------------------------------------- /bench/cardano-profile/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2021-2023 Input Output Global Inc (IOG). 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/db-sync/db-sync.sql: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | 3 | SELECT array_to_json(array_agg(rows)) 4 | FROM (SELECT * FROM epoch_param ORDER BY epoch_no) AS rows 5 | 6 | SELECT array_to_json(array_agg(rows)) 7 | FROM (SELECT * FROM cost_model ORDER BY id) AS rows 8 | 9 | ################################################################################ 10 | 11 | PGHOST=127.0.0.1 PGPORT=5432 PGDATABASE=mainnet PGUSER=mainnet psql -c "COPY( SELECT array_to_json(array_agg(rows)) FROM (SELECT * FROM epoch_param ORDER BY epoch_no) AS rows) TO '/tmp/epoch_param.json';" 12 | 13 | PGHOST=127.0.0.1 PGPORT=5432 PGDATABASE=mainnet PGUSER=mainnet psql -c "COPY( SELECT array_to_json(array_agg(rows)) FROM (SELECT * FROM cost_model ORDER BY id) AS rows) TO '/tmp/cost_model.json';" 14 | 15 | ################################################################################ 16 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/genesis/overlays/blocksize64k.json: -------------------------------------------------------------------------------- 1 | { 2 | "shelley": { 3 | "protocolParams": { 4 | "maxBlockBodySize": 65536 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/genesis/overlays/budget/block/memory/double.json: -------------------------------------------------------------------------------- 1 | { 2 | "alonzo": { 3 | "maxBlockExUnits": { 4 | "exUnitsMem": 124000000 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/genesis/overlays/budget/block/memory/oneandahalf.json: -------------------------------------------------------------------------------- 1 | { 2 | "alonzo": { 3 | "maxBlockExUnits": { 4 | "exUnitsMem": 93000000 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/genesis/overlays/budget/block/steps/double.json: -------------------------------------------------------------------------------- 1 | { 2 | "alonzo": { 3 | "maxBlockExUnits": { 4 | "exUnitsSteps": 40000000000 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/genesis/overlays/budget/block/steps/oneandahalf.json: -------------------------------------------------------------------------------- 1 | { 2 | "alonzo": { 3 | "maxBlockExUnits": { 4 | "exUnitsSteps": 30000000000 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/genesis/overlays/voting.json: -------------------------------------------------------------------------------- 1 | { 2 | "conway": { 3 | "dRepVotingThresholds": { 4 | "motionNoConfidence": 0.51, 5 | "committeeNormal": 0.51, 6 | "committeeNoConfidence": 0.51, 7 | "updateToConstitution": 0.51, 8 | "hardForkInitiation": 0.51, 9 | "ppNetworkGroup": 0.51, 10 | "ppEconomicGroup": 0.51, 11 | "ppTechnicalGroup": 0.51, 12 | "ppGovGroup": 0.51, 13 | "treasuryWithdrawal": 0.51 14 | }, 15 | "committeeMinSize": 0, 16 | "committeeMaxTermLength": 200, 17 | "govActionLifetime": 10, 18 | "govActionDeposit": 100000, 19 | "dRepDeposit": 2000000, 20 | "dRepActivity": 20, 21 | "minFeeRefScriptCostPerByte": 0, 22 | "committee": { 23 | "members": {}, 24 | "threshold": 0 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/presets/mainnet.json: -------------------------------------------------------------------------------- 1 | { "genesis": 2 | { "network_magic": 764824073 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/test/chainsync-early-alonzo-coay/node-specs.json: -------------------------------------------------------------------------------- 1 | { 2 | "node-0": { 3 | "i": 0, 4 | "kind": "chaindb-server", 5 | "pools": 0, 6 | "autostart": true, 7 | "name": "node-0", 8 | "isProducer": false, 9 | "port": 30000, 10 | "region": null, 11 | "shutdown_on_slot_synced": 38901589, 12 | "shutdown_on_block_synced": null 13 | }, 14 | "explorer": { 15 | "i": 1, 16 | "kind": "explorer", 17 | "pools": 0, 18 | "autostart": false, 19 | "name": "explorer", 20 | "isProducer": false, 21 | "port": 30001, 22 | "region": null, 23 | "shutdown_on_slot_synced": 38901589, 24 | "shutdown_on_block_synced": null 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/test/chainsync-early-alonzo-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [], 3 | "relayNodes": [ 4 | { 5 | "name": "explorer", 6 | "nodeId": 0, 7 | "org": "IOHK", 8 | "pools": null, 9 | "producers": [], 10 | "region": "eu-central-1", 11 | "stakePool": null 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/test/chainsync-early-byron-coay/node-specs.json: -------------------------------------------------------------------------------- 1 | { 2 | "node-0": { 3 | "i": 0, 4 | "kind": "chaindb-server", 5 | "pools": 0, 6 | "autostart": true, 7 | "name": "node-0", 8 | "isProducer": false, 9 | "port": 30000, 10 | "region": null, 11 | "shutdown_on_slot_synced": 237599, 12 | "shutdown_on_block_synced": null 13 | }, 14 | "explorer": { 15 | "i": 1, 16 | "kind": "explorer", 17 | "pools": 0, 18 | "autostart": false, 19 | "name": "explorer", 20 | "isProducer": false, 21 | "port": 30001, 22 | "region": null, 23 | "shutdown_on_slot_synced": 237599, 24 | "shutdown_on_block_synced": null 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/test/chainsync-early-byron-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [], 3 | "relayNodes": [ 4 | { 5 | "name": "explorer", 6 | "nodeId": 0, 7 | "org": "IOHK", 8 | "pools": null, 9 | "producers": [], 10 | "region": "eu-central-1", 11 | "stakePool": null 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/test/ci-test-coay/node-specs.json: -------------------------------------------------------------------------------- 1 | { 2 | "node-0": { 3 | "i": 0, 4 | "kind": "pool", 5 | "pools": 1, 6 | "autostart": true, 7 | "name": "node-0", 8 | "isProducer": true, 9 | "port": 30000, 10 | "region": "loopback", 11 | "shutdown_on_slot_synced": null, 12 | "shutdown_on_block_synced": 3 13 | }, 14 | "node-1": { 15 | "i": 1, 16 | "kind": "pool", 17 | "pools": 1, 18 | "autostart": true, 19 | "name": "node-1", 20 | "isProducer": true, 21 | "port": 30001, 22 | "region": "loopback", 23 | "shutdown_on_slot_synced": null, 24 | "shutdown_on_block_synced": 3 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/test/ci-test-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [ 9 | "node-1" 10 | ], 11 | "region": "loopback", 12 | "stakePool": true 13 | }, 14 | { 15 | "name": "node-1", 16 | "nodeId": 1, 17 | "org": "IOHK", 18 | "pools": 1, 19 | "producers": [ 20 | "node-0" 21 | ], 22 | "region": "loopback", 23 | "stakePool": true 24 | } 25 | ], 26 | "relayNodes": [] 27 | } 28 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/test/ci-test-dense10-coay/node-specs.json: -------------------------------------------------------------------------------- 1 | { 2 | "node-0": { 3 | "i": 0, 4 | "kind": "pool", 5 | "pools": 10, 6 | "autostart": true, 7 | "name": "node-0", 8 | "isProducer": true, 9 | "port": 30000, 10 | "region": "loopback", 11 | "shutdown_on_slot_synced": null, 12 | "shutdown_on_block_synced": 3 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-profile/data/test/ci-test-dense10-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [], 9 | "region": "loopback", 10 | "stakePool": true 11 | } 12 | ], 13 | "relayNodes": [] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-profile/src/Cardano/Benchmarking/Profile/Workload/Latency.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE Trustworthy #-} 2 | {-# LANGUAGE OverloadedStrings #-} 3 | 4 | -------------------------------------------------------------------------------- 5 | 6 | module Cardano.Benchmarking.Profile.Workload.Latency ( 7 | latencyWorkload 8 | ) where 9 | 10 | -------------------------------------------------------------------------------- 11 | 12 | import Prelude 13 | -- Package: self. 14 | import qualified Cardano.Benchmarking.Profile.Types as Types 15 | 16 | -------------------------------------------------------------------------------- 17 | 18 | latencyWorkload :: Types.Workload 19 | latencyWorkload = Types.Workload { 20 | Types.workloadName = "latency" 21 | , Types.parameters = mempty 22 | , Types.entrypoints = Types.Entrypoints { 23 | Types.pre_generator = Nothing 24 | , Types.producers = "latency" 25 | } 26 | , Types.wait_pools = False 27 | } 28 | -------------------------------------------------------------------------------- /bench/cardano-profile/utils/apiPparamsImport.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | jq --null-input ' 4 | include "api-pparams-to-genesis"; 5 | 6 | cardano_api_pparams_to_geneses($pparams[0]; $desc) 7 | ' --slurpfile pparams "${1:?USAGE: $0 CARDANO-API-PPARAMS-JSON}" \ 8 | --arg desc "Imported from $(basename "$1")" \ 9 | --sort-keys 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30002, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30003, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30004, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30005, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30006, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-6.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30007, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-7.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30008, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-8.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30009, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/10-coay/node-9.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/6-dense-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30001 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30005 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30002 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/6-dense-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30002 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30000 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30003 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/6-dense-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30003 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30001 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30004 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/6-dense-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30004 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30002 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30005 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/6-dense-coay/node-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30005 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30003 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30000 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/6-dense-coay/node-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30000 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30004 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30001 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/chainsync-early-alonzo-coay/explorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/chainsync-early-alonzo-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [] 3 | } 4 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/chainsync-early-alonzo-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [], 3 | "relayNodes": [ 4 | { 5 | "name": "explorer", 6 | "nodeId": 0, 7 | "org": "IOHK", 8 | "pools": null, 9 | "producers": [], 10 | "region": "eu-central-1", 11 | "stakePool": null 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [ 9 | "node-1" 10 | ], 11 | "region": "loopback", 12 | "stakePool": true 13 | }, 14 | { 15 | "name": "node-1", 16 | "nodeId": 1, 17 | "org": "IOHK", 18 | "pools": 1, 19 | "producers": [ 20 | "node-0" 21 | ], 22 | "region": "loopback", 23 | "stakePool": true 24 | } 25 | ], 26 | "relayNodes": [] 27 | } 28 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-dense10-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [] 3 | } 4 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-dense10-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [], 9 | "region": "loopback", 10 | "stakePool": true 11 | } 12 | ], 13 | "relayNodes": [] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-nomadperf-coay/explorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30001, 11 | "valency": 1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-nomadperf-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30001 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-nomadperf-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30000 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-nomadperf-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [ 9 | "node-1" 10 | ], 11 | "region": "eu-central-1", 12 | "stakePool": true 13 | }, 14 | { 15 | "name": "node-1", 16 | "nodeId": 1, 17 | "org": "IOHK", 18 | "pools": 1, 19 | "producers": [ 20 | "node-0" 21 | ], 22 | "region": "us-east-1", 23 | "stakePool": true 24 | } 25 | ], 26 | "relayNodes": [ 27 | { 28 | "name": "explorer", 29 | "nodeId": 2, 30 | "org": "IOHK", 31 | "pools": null, 32 | "producers": [ 33 | "node-0", 34 | "node-1" 35 | ], 36 | "region": "eu-central-1", 37 | "stakePool": null 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-nomadperf-nop2p-coay/explorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30001, 11 | "valency": 1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-nomadperf-nop2p-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-nomadperf-nop2p-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-nomadperf-nop2p-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [ 9 | "node-1" 10 | ], 11 | "region": "eu-central-1", 12 | "stakePool": true 13 | }, 14 | { 15 | "name": "node-1", 16 | "nodeId": 1, 17 | "org": "IOHK", 18 | "pools": 1, 19 | "producers": [ 20 | "node-0" 21 | ], 22 | "region": "us-east-1", 23 | "stakePool": true 24 | } 25 | ], 26 | "relayNodes": [ 27 | { 28 | "name": "explorer", 29 | "nodeId": 2, 30 | "org": "IOHK", 31 | "pools": null, 32 | "producers": [ 33 | "node-0", 34 | "node-1" 35 | ], 36 | "region": "eu-central-1", 37 | "stakePool": null 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-p2p-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30001 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-p2p-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30000 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/ci-test-p2p-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [ 9 | "node-1" 10 | ], 11 | "region": "loopback", 12 | "stakePool": true 13 | }, 14 | { 15 | "name": "node-1", 16 | "nodeId": 1, 17 | "org": "IOHK", 18 | "pools": 1, 19 | "producers": [ 20 | "node-0" 21 | ], 22 | "region": "loopback", 23 | "stakePool": true 24 | } 25 | ], 26 | "relayNodes": [] 27 | } 28 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30002, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30003, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30004, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-coay/node-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30005, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-coay/node-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-coay/explorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30001, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30002, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30003, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30004, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30005, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30001 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30002 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30003 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30002 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30000 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30004 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30000 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30001 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30005 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30004 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30005 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30000 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-coay/node-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30005 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30003 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30001 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-coay/node-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30003 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 3 13 | }, 14 | { 15 | "accessPoints": [ 16 | { 17 | "address": "127.0.0.1", 18 | "port": 30004 19 | } 20 | ], 21 | "advertise": false, 22 | "trustable": true, 23 | "valency": 3 24 | }, 25 | { 26 | "accessPoints": [ 27 | { 28 | "address": "127.0.0.1", 29 | "port": 30002 30 | } 31 | ], 32 | "advertise": false, 33 | "trustable": true, 34 | "valency": 3 35 | } 36 | ], 37 | "publicRoots": [], 38 | "useLedgerAfterSlot": -1 39 | } 40 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-nop2p-coay/explorer.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30001, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30002, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30003, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30004, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30005, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-nop2p-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30002, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30003, 16 | "valency": 1 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-nop2p-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30002, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30000, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30004, 16 | "valency": 1 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-nop2p-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30001, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30005, 16 | "valency": 1 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-nop2p-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30004, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30005, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30000, 16 | "valency": 1 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-nop2p-coay/node-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30005, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30003, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30001, 16 | "valency": 1 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-nomadperf-nop2p-coay/node-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30003, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30004, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30002, 16 | "valency": 1 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-p2p-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30001 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-p2p-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30002 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-p2p-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30003 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-p2p-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30004 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-p2p-coay/node-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30005 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/default-p2p-coay/node-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30000 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/fast-solo-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [] 3 | } 4 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/fast-solo-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [], 9 | "region": "loopback", 10 | "stakePool": true 11 | } 12 | ], 13 | "relayNodes": [] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/forge-stress-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/forge-stress-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30002, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/forge-stress-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/forge-stress-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [ 9 | "node-1" 10 | ], 11 | "region": "loopback", 12 | "stakePool": true 13 | }, 14 | { 15 | "name": "node-1", 16 | "nodeId": 1, 17 | "org": "IOHK", 18 | "pools": 1, 19 | "producers": [ 20 | "node-2" 21 | ], 22 | "region": "loopback", 23 | "stakePool": true 24 | }, 25 | { 26 | "name": "node-2", 27 | "nodeId": 2, 28 | "org": "IOHK", 29 | "pools": 1, 30 | "producers": [ 31 | "node-0" 32 | ], 33 | "region": "loopback", 34 | "stakePool": true 35 | } 36 | ], 37 | "relayNodes": [] 38 | } 39 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/forge-stress-p2p-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30001 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/forge-stress-p2p-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30002 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/forge-stress-p2p-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [ 5 | { 6 | "address": "127.0.0.1", 7 | "port": 30000 8 | } 9 | ], 10 | "advertise": false, 11 | "trustable": true, 12 | "valency": 1 13 | } 14 | ], 15 | "publicRoots": [], 16 | "useLedgerAfterSlot": -1 17 | } 18 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/forge-stress-p2p-coay/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "coreNodes": [ 3 | { 4 | "name": "node-0", 5 | "nodeId": 0, 6 | "org": "IOHK", 7 | "pools": 1, 8 | "producers": [ 9 | "node-1" 10 | ], 11 | "region": "loopback", 12 | "stakePool": true 13 | }, 14 | { 15 | "name": "node-1", 16 | "nodeId": 1, 17 | "org": "IOHK", 18 | "pools": 1, 19 | "producers": [ 20 | "node-2" 21 | ], 22 | "region": "loopback", 23 | "stakePool": true 24 | }, 25 | { 26 | "name": "node-2", 27 | "nodeId": 2, 28 | "org": "IOHK", 29 | "pools": 1, 30 | "producers": [ 31 | "node-0" 32 | ], 33 | "region": "loopback", 34 | "stakePool": true 35 | } 36 | ], 37 | "relayNodes": [] 38 | } 39 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/model-value-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/model-value-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30002, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/model-value-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30003, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/model-value-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/trace-bench-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30005, 11 | "valency": 1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/trace-bench-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30002, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30000, 11 | "valency": 1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/trace-bench-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30003, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30001, 11 | "valency": 1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/trace-bench-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30004, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30002, 11 | "valency": 1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/trace-bench-coay/node-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30005, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30003, 11 | "valency": 1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/trace-bench-coay/node-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30004, 11 | "valency": 1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30002, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30003, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30051, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30018, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30036, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30002, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30000, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30004, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30049, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30016, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30034, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-10.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30011, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30009, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30013, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30007, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30025, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30043, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-11.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30009, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30010, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30014, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30008, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30026, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30044, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-12.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30013, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30014, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30015, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30009, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30030, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30048, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-13.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30014, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30012, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30016, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30010, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30028, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30046, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-14.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30012, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30013, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30017, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30011, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30029, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30047, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-15.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30016, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30017, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30018, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30012, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30033, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30051, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-16.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30017, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30015, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30019, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30013, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30031, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30049, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-17.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30015, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30016, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30020, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30014, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30032, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30050, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-18.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30019, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30020, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30021, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30015, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30036, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30000, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-19.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30020, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30018, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30022, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30016, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30034, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30001, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30000, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30001, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30005, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30050, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30017, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30035, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-20.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30018, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30019, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30023, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30017, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30035, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30002, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-21.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30022, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30023, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30024, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30018, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30039, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30003, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-22.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30023, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30021, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30025, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30019, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30037, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30004, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-23.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30021, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30022, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30026, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30020, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30038, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30005, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-24.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30025, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30026, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30027, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30021, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30042, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30006, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-25.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30026, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30024, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30028, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30022, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30040, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30007, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-26.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30024, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30025, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30029, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30023, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30041, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30008, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-27.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30028, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30029, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30030, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30024, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30045, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30009, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-28.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30029, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30027, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30031, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30025, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30043, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30010, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-29.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30027, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30028, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30032, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30026, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30044, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30011, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30004, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30005, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30006, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30000, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30021, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30039, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-30.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30031, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30032, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30033, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30027, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30048, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30012, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-31.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30032, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30030, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30034, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30028, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30046, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30013, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-32.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30030, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30031, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30035, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30029, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30047, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30014, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-33.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30034, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30035, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30036, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30030, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30051, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30015, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-34.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30035, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30033, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30037, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30031, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30049, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30016, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-35.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30033, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30034, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30038, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30032, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30050, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30017, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-36.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30037, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30038, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30039, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30033, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30000, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30018, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-37.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30038, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30036, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30040, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30034, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30001, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30019, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-38.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30036, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30037, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30041, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30035, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30002, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30020, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-39.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30040, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30041, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30042, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30036, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30003, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30021, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30005, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30003, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30007, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30001, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30019, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30037, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-40.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30041, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30039, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30043, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30037, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30004, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30022, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-41.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30039, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30040, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30044, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30038, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30005, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30023, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-42.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30043, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30044, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30045, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30039, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30006, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30024, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-43.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30044, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30042, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30046, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30040, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30007, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30025, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-44.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30042, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30043, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30047, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30041, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30008, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30026, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-45.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30046, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30047, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30048, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30042, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30009, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30027, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-46.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30047, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30045, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30049, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30043, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30010, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30028, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-47.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30045, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30046, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30050, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30044, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30011, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30029, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-48.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30049, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30050, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30051, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30045, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30012, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30030, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-49.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30050, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30048, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30001, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30046, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30013, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30031, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30003, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30004, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30008, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30002, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30020, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30038, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-50.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30048, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30049, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30002, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30047, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30014, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30032, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-51.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30001, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30002, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30000, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30048, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30015, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30033, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-6.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30007, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30008, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30009, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30003, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30024, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30042, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-7.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30008, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30006, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30010, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30004, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30022, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30040, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-8.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30006, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30007, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30011, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30005, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30023, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30041, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/cardano-topology/data/test/value-nomadperf-nop2p-coay/node-9.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "127.0.0.1", 5 | "port": 30010, 6 | "valency": 1 7 | }, 8 | { 9 | "addr": "127.0.0.1", 10 | "port": 30011, 11 | "valency": 1 12 | }, 13 | { 14 | "addr": "127.0.0.1", 15 | "port": 30012, 16 | "valency": 1 17 | }, 18 | { 19 | "addr": "127.0.0.1", 20 | "port": 30006, 21 | "valency": 1 22 | }, 23 | { 24 | "addr": "127.0.0.1", 25 | "port": 30027, 26 | "valency": 1 27 | }, 28 | { 29 | "addr": "127.0.0.1", 30 | "port": 30045, 31 | "valency": 1 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /bench/locli/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /bench/locli/app/locli.hs: -------------------------------------------------------------------------------- 1 | import Cardano.Prelude 2 | 3 | import Control.Monad.Trans.Except.Exit (orDie) 4 | import qualified Options.Applicative as Opt 5 | 6 | import Cardano.Command (opts, pref, renderCommandError, runCommand) 7 | import Cardano.TopHandler 8 | 9 | 10 | main :: IO () 11 | main = toplevelExceptionHandler $ do 12 | 13 | co <- Opt.customExecParser pref opts 14 | 15 | orDie renderCommandError $ runCommand co 16 | -------------------------------------------------------------------------------- /bench/locli/doc/The internals of locli.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/bench/locli/doc/The internals of locli.pdf -------------------------------------------------------------------------------- /bench/locli/doc/The workbench.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/bench/locli/doc/The workbench.pdf -------------------------------------------------------------------------------- /bench/locli/test/Test/Unlog/LogObjectDB.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE TemplateHaskell #-} 2 | {-# OPTIONS_GHC -Wno-missing-signatures #-} 3 | module Test.Unlog.LogObjectDB where 4 | 5 | import Cardano.Prelude 6 | import Cardano.Unlog.LogObjectDB 7 | 8 | import qualified Data.Set as Set (difference, empty) 9 | 10 | import Hedgehog 11 | 12 | 13 | -- This property ensures there are converter implementations 14 | -- for all LOBody constructors. These converters are used 15 | -- to reliably reconstruct a LOBody value from a database result row. 16 | 17 | prop_LOBody_converter_for_each_constructor = property $ 18 | allLOBodyConstructors `Set.difference` knownLOBodyConstructors 19 | === 20 | Set.empty 21 | 22 | tests :: IO Bool 23 | tests = 24 | checkSequential $$discover 25 | -------------------------------------------------------------------------------- /bench/locli/test/test-locli.hs: -------------------------------------------------------------------------------- 1 | import Cardano.Prelude 2 | 3 | import Hedgehog.Main (defaultMain) 4 | 5 | import qualified Test.Analysis.CDF 6 | import qualified Test.Unlog.Org 7 | import qualified Test.Unlog.LogObjectDB 8 | 9 | main :: IO () 10 | main = 11 | defaultMain 12 | [ Test.Analysis.CDF.tests 13 | , Test.Unlog.Org.tests 14 | , Test.Unlog.LogObjectDB.tests 15 | ] 16 | -------------------------------------------------------------------------------- /bench/plutus-scripts-bench/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /bench/script/loop.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV1", 3 | "description": "", 4 | "cborHex": "588d588b01000033322233223222322533530083322333573466e2000800403002d40092080897a13263530063357389211572656465656d6572206973203c2031303030303030000074984c01540084dd680099000991800800911991299a9803999ab9a3370e002904044bd0048040803099180180099b8100148008c00800800448004800448800848800480041" 5 | } 6 | -------------------------------------------------------------------------------- /bench/tx-generator/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /bench/tx-generator/README.md: -------------------------------------------------------------------------------- 1 | # Transaction Generator 2 | 3 | The transaction generator stresses a cluster of Cardano nodes with a simmulated work load of transaction. 4 | It works in two phases: 5 | 6 | * Phase 1: Secure a genesis fund and prepare a set of initial UTxOs via the local protocol. 7 | * Phase 2: Connect to a set of nodes via the node-to-node protocol and offer/transmit a number of transaction at a certain rate limit. 8 | 9 | ## Running the tx-generator 10 | Either provide the configuration via a number of CLI arguments or run a JSON based benchmarking script. 11 | An example script is in `bench/tx-generator/test/script.json`. 12 | 13 | ``` 14 | Usage: tx-generator COMMAND 15 | 16 | Available commands: 17 | cliArguments tx-generator with CLI arguments 18 | eraTransition tx-generator demo era transition 19 | json tx-generator run JsonScript 20 | ``` 21 | 22 | Current maintainers: Marc and Serge 23 | -------------------------------------------------------------------------------- /bench/tx-generator/app/tx-generator.hs: -------------------------------------------------------------------------------- 1 | import Cardano.Benchmarking.Command (runCommand) 2 | 3 | main :: IO () 4 | main = runCommand 5 | -------------------------------------------------------------------------------- /bench/tx-generator/data/EcdsaSecp256k1Loop.redeemer.json: -------------------------------------------------------------------------------- 1 | { 2 | "constructor": 0, 3 | "fields": [ 4 | { 5 | "int": 1000000 6 | }, 7 | { 8 | "bytes": "0392d7b94bc6a11c335a043ee1ff326b6eacee6230d3685861cd62bce350a172e0" 9 | }, 10 | { 11 | "bytes": "16e0bf1f85594a11e75030981c0b670370b3ad83a43f49ae58a2fd6f6513cde9" 12 | }, 13 | { 14 | "bytes": "5fb12954b28be6456feb080cfb8467b6f5677f62eb9ad231de7a575f4b6857512754fb5ef7e0e60e270832e7bb0e2f0dc271012fa9c46c02504aa0e798be6295" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /bench/tx-generator/data/HashOntoG2AndAdd.redeemer.json: -------------------------------------------------------------------------------- 1 | { 2 | "constructor": 0, 3 | "fields": [ 4 | { 5 | "int": 1000000 6 | }, 7 | { 8 | "list": [ 9 | { 10 | "bytes": "714805c6" 11 | }, 12 | { 13 | "bytes": "c413111e" 14 | }, 15 | { 16 | "bytes": "2d7eb870" 17 | }, 18 | { 19 | "bytes": "4ecbd6a1" 20 | } 21 | ] 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /bench/tx-generator/data/Loop.redeemer.json: -------------------------------------------------------------------------------- 1 | { 2 | "int": 1000000 3 | } 4 | -------------------------------------------------------------------------------- /bench/tx-generator/data/Loop2024.redeemer.json: -------------------------------------------------------------------------------- 1 | { 2 | "int": 1000000 3 | } 4 | -------------------------------------------------------------------------------- /bench/tx-generator/data/LoopV3.redeemer.json: -------------------------------------------------------------------------------- 1 | { 2 | "int": 1000000 3 | } 4 | -------------------------------------------------------------------------------- /bench/tx-generator/data/Ripemd160.redeemer.json: -------------------------------------------------------------------------------- 1 | { 2 | "constructor": 0, 3 | "fields": [ 4 | { 5 | "int": 1000000 6 | }, 7 | { 8 | "bytes": "5a56da88e6fd8419181dec4d3dd6997bab953d2f" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /bench/tx-generator/data/SchnorrSecp256k1Loop.redeemer.json: -------------------------------------------------------------------------------- 1 | { 2 | "constructor": 0, 3 | "fields": [ 4 | { 5 | "int": 1000000 6 | }, 7 | { 8 | "bytes": "599de3e582e2a3779208a210dfeae8f330b9af00a47a7fb22e9bb8ef596f301b" 9 | }, 10 | { 11 | "bytes": "30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030" 12 | }, 13 | { 14 | "bytes": "5a56da88e6fd8419181dec4d3dd6997bab953d2fc71ab65e23cfc9e7e3d1a310613454a60f6703819a39fdac2a410a094442afd1fc083354443e8d8bb4461a9b" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /bench/tx-generator/scripts-fallback/HashOntoG2AndAdd.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV3", 3 | "description": "", 4 | "cborHex": "59015759015401010032323225323232333573466e200052080897a1300349011572656465656d6572206973203c203130303030303000133006001900291000a4006440043232325333573466e1d200000218009bad35742003300637586ae84d5d100084c0112401035054310035573c0046aae74004dd51aba1357446aae78dd5001119319ab9c0018001801111999aab9f00128001400cdd71aba100298019aba20024000c00488c894ccd5cd19b874820225e800c52613233005337020089001001198010009bc2488160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003003222590028800c884cc014004cdde99bc3002333792941200000600311918008009180111980100100081" 5 | } 6 | -------------------------------------------------------------------------------- /bench/tx-generator/scripts-fallback/Loop.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV1", 3 | "description": "", 4 | "cborHex": "587a58780100003322323222322533532333573466e200052080897a0090085002132632498cd5ce24811572656465656d6572206973203c2031303030303030000061300550021375a0026460020024464a66a666ae68cdc38012410112f400c00a2008264600400266e04009200230020021200112200212200101" 5 | } 6 | -------------------------------------------------------------------------------- /bench/tx-generator/scripts-fallback/Loop2024.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV1", 3 | "description": "", 4 | "cborHex": "583f583d01000032222325333573466e200052080897a1613005001375a0046460020024464a666ae68cdc3a410112f40042240022600266e04009200230020021" 5 | } 6 | -------------------------------------------------------------------------------- /bench/tx-generator/scripts-fallback/LoopV3.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV3", 3 | "description": "", 4 | "cborHex": "58465844010100322532333573466e200052080897a1613003001375a6ae84d5d11aab9e375400264600200244a666ae68cdc3a410112f40022930991980180180099b8100148009" 5 | } 6 | -------------------------------------------------------------------------------- /bench/tx-generator/scripts-fallback/Ripemd160.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV3", 3 | "description": "", 4 | "cborHex": "58b058ae01010032253232325333573466e200052080897a11300349011572656465656d6572206973203c2031303030303030001133005001900291000a40064400432323255333573466e1d2000002118009bad35742003375c6ae84d5d1000844c0112401035054310035573c0046aae74004dd51aba1357446aae78dd5001119319ab9c0018001918008009112a999ab9a3370e904044bd00108a4c22646646600a00a00266e0400d200200137ac0021" 5 | } 6 | -------------------------------------------------------------------------------- /bench/tx-generator/test/Bench.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE BlockArguments #-} 2 | {-# LANGUAGE LambdaCase #-} 3 | {-# LANGUAGE Trustworthy #-} 4 | module Main (main) where 5 | 6 | import Cardano.Benchmarking.Script.Env (emptyEnv, newEnvConsts) 7 | import Cardano.Benchmarking.Script.Selftest 8 | 9 | import Prelude 10 | 11 | import Control.Monad.STM (atomically) 12 | 13 | import Criterion.Main 14 | 15 | main :: IO () 16 | main = defaultMain [ 17 | bgroup "cardano-tx-generator-integration" [ 18 | bench "tx-gen" $ whnfIO do 19 | envConsts <- atomically do 20 | newEnvConsts (error "No IOManager!") Nothing 21 | runSelftest emptyEnv envConsts Nothing >>= \case 22 | Right _ -> pure () 23 | Left err -> error $ show err 24 | ] 25 | ] 26 | 27 | -------------------------------------------------------------------------------- /cardano-node-capi/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Revision history for cardano-node-c 2 | 3 | ## 0.1.0.0 -- YYYY-mm-dd 4 | 5 | * First version. Released on an unsuspecting world. 6 | -------------------------------------------------------------------------------- /cardano-node-capi/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /cardano-node-chairman/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2020-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /cardano-node-chairman/app/Cardano/Chairman/Commands.hs: -------------------------------------------------------------------------------- 1 | module Cardano.Chairman.Commands where 2 | 3 | import Cardano.Chairman.Commands.Run 4 | import Cardano.Chairman.Commands.Version 5 | 6 | import Options.Applicative 7 | 8 | {- HLINT ignore "Monoid law, left identity" -} 9 | 10 | commands :: Parser (IO ()) 11 | commands = subparser $ mempty 12 | <> cmdRun 13 | <> cmdVersion 14 | -------------------------------------------------------------------------------- /cardano-node-chairman/app/cardano-node-chairman.hs: -------------------------------------------------------------------------------- 1 | module Main where 2 | 3 | import Cardano.Chairman.Commands 4 | import qualified Cardano.Crypto.Init as Crypto 5 | 6 | import Control.Monad 7 | import Options.Applicative 8 | 9 | main :: IO () 10 | main = do 11 | Crypto.cryptoInit 12 | 13 | join 14 | . customExecParser (prefs (showHelpOnEmpty <> showHelpOnError)) 15 | $ info (commands <**> helper) $ mconcat 16 | [ fullDesc 17 | , progDesc "Chairman checks Cardano clusters for progress and consensus." 18 | , header "Chairman sits in a room full of Shelley nodes, and checks \ 19 | \if they are all behaving ..." 20 | ] 21 | -------------------------------------------------------------------------------- /cardano-node-chairman/test/Spec/Chairman/Cardano.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE OverloadedStrings #-} 2 | {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} 3 | {-# HLINT ignore "Use camelCase" #-} 4 | 5 | module Spec.Chairman.Cardano where 6 | 7 | import Cardano.Testnet (cardanoTestnetDefault, mkConf, testnetNodes) 8 | 9 | import Data.Default.Class 10 | 11 | import Testnet.Property.Util (integrationRetryWorkspace) 12 | 13 | import qualified Hedgehog as H 14 | import qualified Hedgehog.Extras as H 15 | 16 | import Spec.Chairman.Chairman (chairmanOver) 17 | 18 | hprop_chairman :: H.Property 19 | hprop_chairman = integrationRetryWorkspace 2 "cardano-chairman" $ \tempAbsPath' -> H.runWithDefaultWatchdog_ $ do 20 | conf <- mkConf tempAbsPath' 21 | 22 | allNodes <- testnetNodes <$> cardanoTestnetDefault def def conf 23 | 24 | chairmanOver 120 50 conf allNodes 25 | -------------------------------------------------------------------------------- /cardano-node/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /cardano-node/README.md: -------------------------------------------------------------------------------- 1 | # cardano-node 2 | -------------------------------------------------------------------------------- /cardano-node/src/Cardano/Node/Tracing/Compat.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE LambdaCase #-} 2 | 3 | module Cardano.Node.Tracing.Compat 4 | ( toDetailLevel 5 | , fromDetailLevel 6 | ) where 7 | 8 | import qualified Cardano.BM.Data.Tracer as IOMF 9 | import qualified Cardano.Logging.Types as TD 10 | 11 | toDetailLevel :: IOMF.TracingVerbosity -> TD.DetailLevel 12 | toDetailLevel = \case 13 | IOMF.MinimalVerbosity -> TD.DMinimal 14 | IOMF.NormalVerbosity -> TD.DNormal 15 | IOMF.MaximalVerbosity -> TD.DMaximum 16 | 17 | fromDetailLevel :: TD.DetailLevel -> IOMF.TracingVerbosity 18 | fromDetailLevel = \case 19 | TD.DMinimal -> IOMF.MinimalVerbosity 20 | TD.DNormal -> IOMF.NormalVerbosity 21 | TD.DDetailed -> IOMF.NormalVerbosity 22 | TD.DMaximum -> IOMF.MaximalVerbosity 23 | -------------------------------------------------------------------------------- /cardano-node/src/Cardano/Node/Tracing/Peers.hs: -------------------------------------------------------------------------------- 1 | {-# OPTIONS_GHC -fno-warn-orphans #-} 2 | 3 | module Cardano.Node.Tracing.Peers 4 | ( NodePeers (..) 5 | , traceNodePeers 6 | ) where 7 | 8 | import Cardano.Logging 9 | import Cardano.Node.Tracing.Tracers.Peer (PeerT, ppPeer) 10 | import Cardano.Logging.Types.NodePeers (NodePeers(..)) 11 | 12 | instance MetaTrace NodePeers where 13 | namespaceFor NodePeers {} = 14 | Namespace [] ["NodePeers"] 15 | severityFor (Namespace _ ["NodePeers"]) _ = 16 | Just Info 17 | severityFor _ns _ = 18 | Nothing 19 | documentFor (Namespace _ ["NodePeers"]) = 20 | Just "" 21 | documentFor _ns = 22 | Nothing 23 | allNamespaces = [ Namespace [] ["NodePeers"]] 24 | 25 | traceNodePeers 26 | :: Trace IO NodePeers 27 | -> [PeerT blk] 28 | -> IO () 29 | traceNodePeers tr ev = traceWith tr $ NodePeers (fmap ppPeer ev) 30 | -------------------------------------------------------------------------------- /cardano-node/test/Test/Cardano/Tracing/OrphanInstances/data/ntcByronOnly.json: -------------------------------------------------------------------------------- 1 | {"contents":"ByronNodeToClientVersion1","tag":"HardForkNodeToClientDisabled"} -------------------------------------------------------------------------------- /cardano-node/test/Test/Cardano/Tracing/OrphanInstances/data/ntc_HFV1_ByronV1_ShelleyV11.json: -------------------------------------------------------------------------------- 1 | {"eraNodeToClientVersions":["ByronNodeToClientVersion1","ShelleyNodeToClientVersion11","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled"],"hardForkSpecificNodeToClientVersion":"HardForkSpecificNodeToClientVersion3","tag":"HardForkNodeToClientEnabled"} -------------------------------------------------------------------------------- /cardano-node/test/Test/Cardano/Tracing/OrphanInstances/data/ntc_HFV1_ByronV1_ShelleyV11_ConwayV11.json: -------------------------------------------------------------------------------- 1 | {"eraNodeToClientVersions":["ByronNodeToClientVersion1","ShelleyNodeToClientVersion11","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","ShelleyNodeToClientVersion11"],"hardForkSpecificNodeToClientVersion":"HardForkSpecificNodeToClientVersion3","tag":"HardForkNodeToClientEnabled"} -------------------------------------------------------------------------------- /cardano-node/test/Test/Cardano/Tracing/OrphanInstances/data/ntc_HFV3_ByronV1.json: -------------------------------------------------------------------------------- 1 | {"eraNodeToClientVersions":["ByronNodeToClientVersion1","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled"],"hardForkSpecificNodeToClientVersion":"HardForkSpecificNodeToClientVersion3","tag":"HardForkNodeToClientEnabled"} -------------------------------------------------------------------------------- /cardano-node/test/Test/Cardano/Tracing/OrphanInstances/data/ntc_HFV3_ByronV1_ShelleyV8.json: -------------------------------------------------------------------------------- 1 | {"eraNodeToClientVersions":["ByronNodeToClientVersion1","ShelleyNodeToClientVersion8","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled"],"hardForkSpecificNodeToClientVersion":"HardForkSpecificNodeToClientVersion3","tag":"HardForkNodeToClientEnabled"} -------------------------------------------------------------------------------- /cardano-node/test/Test/Cardano/Tracing/OrphanInstances/data/ntc_HFV3_ByronV1_ShelleyV8_ConwayV2.json: -------------------------------------------------------------------------------- 1 | {"eraNodeToClientVersions":["ByronNodeToClientVersion1","ShelleyNodeToClientVersion8","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","ShelleyNodeToClientVersion8"],"hardForkSpecificNodeToClientVersion":"HardForkSpecificNodeToClientVersion3","tag":"HardForkNodeToClientEnabled"} -------------------------------------------------------------------------------- /cardano-node/test/Test/Cardano/Tracing/OrphanInstances/data/ntc_HFV3_allDisabled.json: -------------------------------------------------------------------------------- 1 | {"eraNodeToClientVersions":["EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled","EraNodeToClientDisabled"],"hardForkSpecificNodeToClientVersion":"HardForkSpecificNodeToClientVersion3","tag":"HardForkNodeToClientEnabled"} -------------------------------------------------------------------------------- /cardano-node/test/Test/Cardano/Tracing/OrphanInstances/ntcByronOnly.json: -------------------------------------------------------------------------------- 1 | {"contents":"ByronNodeToClientVersion1","tag":"HardForkNodeToClientDisabled"} -------------------------------------------------------------------------------- /cardano-submit-api/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog for Cardano-submit-api 2 | 3 | ## vNext 4 | 5 | ## 10.0 -- Oct 2024 6 | 7 | * Bump for Node 10.0 8 | 9 | ## 3.2.0 -- Nov 2023 10 | 11 | ** Using `cardano-api-8.33` and `cardano-cli-8.15` 12 | 13 | ## 8.5.0 -- Oct 2023 14 | 15 | * Using `cardano-api-8.25` and `cardano-cli-8.11` 16 | * Add Conway Tx support 17 | 18 | ## 8.4.0 -- Sep 2023 19 | 20 | * Updated dependencies to `cardano-api-8.20`, `ouroboros-network-0.9.1`. 21 | 22 | ## 8.0.0 -- May 2023 23 | 24 | - [Add tx_submit_fail_count metric](https://github.com/intersectmbo/cardano-node/pull/4566) 25 | - [Configurable metrics port in submit-api](https://github.com/intersectmbo/cardano-node/pull/4281) 26 | 27 | ## 1.35.3 -- July 2022 28 | 29 | None 30 | 31 | ## 1.35.2 -- July 2022 (not released) 32 | 33 | None 34 | 35 | ## 1.35.1 -- July 2022 (not released) 36 | 37 | None 38 | 39 | ## 1.35.0 -- June 2022 40 | - Babbage transactions for submit-api (#3979) 41 | -------------------------------------------------------------------------------- /cardano-submit-api/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /cardano-submit-api/app/Main.hs: -------------------------------------------------------------------------------- 1 | module Main where 2 | 3 | import Cardano.CLI.Environment (getEnvCli) 4 | import qualified Cardano.Crypto.Init as Crypto 5 | import Cardano.TxSubmit (opts, runTxSubmitWebapi) 6 | 7 | import qualified Options.Applicative as Opt 8 | 9 | main :: IO () 10 | main = do 11 | Crypto.cryptoInit 12 | 13 | envCli <- getEnvCli 14 | 15 | runTxSubmitWebapi =<< Opt.execParser (opts envCli) 16 | -------------------------------------------------------------------------------- /cardano-submit-api/src/Cardano/TxSubmit/CLI/Types.hs: -------------------------------------------------------------------------------- 1 | module Cardano.TxSubmit.CLI.Types 2 | ( ConfigFile (..) 3 | , GenesisFile (..) 4 | , TxSubmitNodeParams (..) 5 | ) where 6 | 7 | import Cardano.Api (ConsensusModeParams, NetworkId (..), SocketPath) 8 | 9 | import Cardano.TxSubmit.Rest.Types (WebserverConfig) 10 | 11 | -- | The product type of all command line arguments 12 | data TxSubmitNodeParams = TxSubmitNodeParams 13 | { tspConfigFile :: !ConfigFile 14 | , tspProtocol :: !ConsensusModeParams 15 | , tspNetworkId :: !NetworkId 16 | , tspSocketPath :: !SocketPath 17 | , tspWebserverConfig :: !WebserverConfig 18 | , tspMetricsPort :: !Int 19 | } 20 | 21 | newtype ConfigFile = ConfigFile 22 | { unConfigFile :: FilePath 23 | } 24 | 25 | newtype GenesisFile = GenesisFile 26 | { unGenesisFile :: FilePath 27 | } 28 | 29 | -------------------------------------------------------------------------------- /cardano-submit-api/src/Cardano/TxSubmit/Orphans.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE DeriveAnyClass #-} 2 | {-# LANGUAGE DerivingStrategies #-} 3 | {-# LANGUAGE StandaloneDeriving #-} 4 | 5 | {-# OPTIONS_GHC -Wno-orphans #-} 6 | 7 | module Cardano.TxSubmit.Orphans 8 | ( 9 | ) where 10 | 11 | import Cardano.Api 12 | 13 | import Cardano.Binary (DecoderError) 14 | import Ouroboros.Consensus.Cardano.Block 15 | 16 | import Data.Aeson (ToJSON (..)) 17 | import qualified Data.Aeson as Aeson 18 | 19 | instance ToJSON DecoderError where 20 | toJSON = Aeson.String . textShow 21 | 22 | deriving anyclass instance ToJSON EraMismatch 23 | -------------------------------------------------------------------------------- /cardano-submit-api/src/Cardano/TxSubmit/Rest/Types.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE NamedFieldPuns #-} 2 | {-# LANGUAGE StrictData #-} 3 | 4 | module Cardano.TxSubmit.Rest.Types 5 | ( WebserverConfig(..) 6 | , toWarpSettings 7 | ) where 8 | 9 | import Data.Function ((&)) 10 | import qualified Network.Wai.Handler.Warp as Warp 11 | 12 | ------------------------------------------------------------ 13 | data WebserverConfig = WebserverConfig 14 | { wcHost :: Warp.HostPreference 15 | , wcPort :: Warp.Port 16 | } 17 | 18 | instance Show WebserverConfig where 19 | show WebserverConfig {wcHost, wcPort} = show wcHost <> ":" <> show wcPort 20 | 21 | toWarpSettings :: WebserverConfig -> Warp.Settings 22 | toWarpSettings WebserverConfig {wcHost, wcPort} = 23 | Warp.defaultSettings & Warp.setHost wcHost & Warp.setPort wcPort 24 | -------------------------------------------------------------------------------- /cardano-submit-api/src/Cardano/TxSubmit/Util.hs: -------------------------------------------------------------------------------- 1 | module Cardano.TxSubmit.Util 2 | ( logException 3 | ) where 4 | 5 | import Cardano.Api (textShow) 6 | 7 | import Cardano.BM.Trace (Trace, logError) 8 | 9 | import Prelude 10 | 11 | import Control.Exception (SomeException, catch, throwIO) 12 | import Data.Text (Text) 13 | 14 | -- | ouroboros-network catches 'SomeException' and if a 'nullTracer' is passed into that 15 | -- code, the caught exception will not be logged. Therefore wrap all tx submission code that 16 | -- is called from network with an exception logger so at least the exception will be 17 | -- logged (instead of silently swallowed) and then rethrown. 18 | logException :: Trace IO Text -> Text -> IO a -> IO a 19 | logException tracer txt action = action `catch` logger 20 | where 21 | logger :: SomeException -> IO a 22 | logger e = do 23 | logError tracer $ txt <> textShow e 24 | throwIO e 25 | 26 | 27 | -------------------------------------------------------------------------------- /cardano-submit-api/test/test.hs: -------------------------------------------------------------------------------- 1 | import qualified Cardano.Crypto.Init as Crypto 2 | 3 | import qualified System.IO as IO 4 | 5 | main :: IO () 6 | main = do 7 | Crypto.cryptoInit 8 | 9 | IO.putStrLn "cardano-tx-submit test" 10 | -------------------------------------------------------------------------------- /cardano-testnet/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog for cardano-testnet 2 | 3 | ## Next version 4 | 5 | * [Fix discrepancy in security parameter between Byron and Shelley genesis files](https://github.com/IntersectMBO/cardano-node/pull/6188) 6 | 7 | ## 10.0.0 8 | 9 | * Bump for node 10 10 | 11 | ## 12 | 13 | * Update `cardano-ping` dependency 14 | * Add `--num-dreps` parameter 15 | 16 | ## 8.7.0 17 | 18 | * Using `cardano-node-8.7.0`, `cardano-api-8.33` and `cardano-cli-8.15` 19 | * Update `ouroboros-network` dependency. 20 | 21 | ## 8.5.0 22 | 23 | * Using `cardano-node-8.5.0`, `cardano-api-8.25` and `cardano-cli-8.11` 24 | 25 | ## 8.4.0 26 | 27 | * Using `cardano-node-8.4.0`, `cardano-api-8.20` and `cardano-cli-8.8` 28 | 29 | ## 8.1.0 30 | 31 | - [Paramaterize default node configuration on era](https://github.com/intersectmbo/cardano-node/pull/5211) 32 | -------------------------------------------------------------------------------- /cardano-testnet/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /cardano-testnet/README.md: -------------------------------------------------------------------------------- 1 | For information on how to use this package, see [Launching a Testnet](https://github.com/input-output-hk/cardano-node-wiki/wiki/launching-a-testnet) 2 | -------------------------------------------------------------------------------- /cardano-testnet/app/cardano-testnet.hs: -------------------------------------------------------------------------------- 1 | module Main where 2 | 3 | import Cardano.CLI.Environment (getEnvCli) 4 | import qualified Cardano.Crypto.Init as Crypto 5 | 6 | import qualified Options.Applicative as Opt 7 | 8 | import Parsers.Run (opts, pref, runTestnetCmd) 9 | 10 | main :: IO () 11 | main = do 12 | Crypto.cryptoInit 13 | 14 | envCli <- getEnvCli 15 | tNetCmd <- Opt.customExecParser pref (opts envCli) 16 | runTestnetCmd tNetCmd 17 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-golden/files/golden/help.cli: -------------------------------------------------------------------------------- 1 | Usage: cardano-testnet (cardano | version | help) 2 | 3 | Usage: cardano-testnet cardano [--num-pool-nodes COUNT | --node-config FILEPATH] 4 | [ --shelley-era 5 | | --allegra-era 6 | | --mary-era 7 | | --alonzo-era 8 | | --babbage-era 9 | | --conway-era 10 | ] 11 | [--max-lovelace-supply WORD64] 12 | [--nodeLoggingFormat LOGGING_FORMAT] 13 | [--num-dreps NUMBER] 14 | [--enable-new-epoch-state-logging] 15 | [--output-dir DIRECTORY] 16 | --testnet-magic INT 17 | [--epoch-length SLOTS] 18 | [--slot-length SECONDS] 19 | [--active-slots-coeff DOUBLE] 20 | 21 | Start a testnet in any era 22 | 23 | Usage: cardano-testnet version 24 | 25 | Show cardano-testnet version 26 | 27 | Usage: cardano-testnet help 28 | 29 | Show cardano-testnet help 30 | 31 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-golden/files/golden/help/babbage.cli: -------------------------------------------------------------------------------- 1 | Usage: cardano-testnet babbage [--num-spo-nodes COUNT] 2 | [--slot-duration MILLISECONDS] 3 | [--security-param INT] 4 | --testnet-magic INT 5 | [--total-balance INT] 6 | [--nodeLoggingFormat LOGGING_FORMAT] 7 | 8 | Start a babbage testnet 9 | 10 | Available options: 11 | --num-spo-nodes COUNT Number of SPO nodes (default: 3) 12 | --slot-duration MILLISECONDS 13 | Slot duration (default: 200) 14 | --security-param INT Security parameter (default: 10) 15 | --testnet-magic INT Specify a testnet magic id. 16 | --total-balance INT Total balance (default: 10020000000) 17 | --nodeLoggingFormat LOGGING_FORMAT 18 | Node logging format (json|text) 19 | (default: NodeLoggingFormatAsJson) 20 | -h,--help Show this help text 21 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-golden/files/golden/help/byron.cli: -------------------------------------------------------------------------------- 1 | Usage: cardano-testnet byron [--num-bft-nodes COUNT] 2 | [--slot-duration MILLISECONDS] 3 | --testnet-magic INT 4 | [--security-param INT] 5 | [--n-poor-addresses INT] 6 | [--total-balance INT] 7 | [--enable-p2p BOOL] 8 | 9 | Start a Byron testnet 10 | 11 | Available options: 12 | --num-bft-nodes COUNT Number of BFT nodes (default: 3) 13 | --slot-duration MILLISECONDS 14 | Slot duration (default: 2000) 15 | --testnet-magic INT Specify a testnet magic id. 16 | --security-param INT Security parameter (default: 10) 17 | --n-poor-addresses INT N poor addresses (default: 128) 18 | --total-balance INT Total Balance (default: 8000000000000001) 19 | --enable-p2p BOOL Enable P2P (default: False) 20 | -h,--help Show this help text 21 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-golden/files/golden/help/conway.cli: -------------------------------------------------------------------------------- 1 | Usage: cardano-testnet conway [--num-spo-nodes COUNT] 2 | [--slot-duration MILLISECONDS] 3 | [--security-param INT] 4 | --testnet-magic INT 5 | [--total-balance INT] 6 | [--nodeLoggingFormat LOGGING_FORMAT] 7 | 8 | Start a conway testnet 9 | 10 | Available options: 11 | --num-spo-nodes COUNT Number of SPO nodes (default: 3) 12 | --slot-duration MILLISECONDS 13 | Slot duration (default: 200) 14 | --security-param INT Security parameter (default: 10) 15 | --testnet-magic INT Specify a testnet magic id. 16 | --total-balance INT Total balance (default: 10020000000) 17 | --nodeLoggingFormat LOGGING_FORMAT 18 | Node logging format (json|text) 19 | (default: NodeLoggingFormatAsJson) 20 | -h,--help Show this help text 21 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-golden/files/golden/help/help.cli: -------------------------------------------------------------------------------- 1 | Usage: cardano-testnet help 2 | 3 | Show cardano-testnet help 4 | 5 | Available options: 6 | -h,--help Show this help text 7 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-golden/files/golden/help/version.cli: -------------------------------------------------------------------------------- 1 | Usage: cardano-testnet version 2 | 3 | Show cardano-testnet version 4 | 5 | Available options: 6 | -h,--help Show this help text 7 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/calculatePlutusScriptCost.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "executionUnits": { 4 | "memory": 500, 5 | "steps": 64100 6 | }, 7 | "lovelaceCost": 34, 8 | "scriptHash": "186e32faa80a26810392fda6d559c7ed4721a65ce1c9d4ef3e1c87b4" 9 | } 10 | ] -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/calculateSimpleScriptCost.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/golden/queries/drepStateOut.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ 3 | { 4 | "keyHash": "" 5 | }, 6 | { 7 | "anchor": null, 8 | "deposit": 1000000, 9 | "expiry": 1002, 10 | "stake": 15000003000000 11 | } 12 | ], 13 | [ 14 | { 15 | "keyHash": "" 16 | }, 17 | { 18 | "anchor": null, 19 | "deposit": 1000000, 20 | "expiry": 1002, 21 | "stake": 15000003000000 22 | } 23 | ], 24 | [ 25 | { 26 | "keyHash": "" 27 | }, 28 | { 29 | "anchor": null, 30 | "deposit": 1000000, 31 | "expiry": 1002, 32 | "stake": 15000003000000 33 | } 34 | ] 35 | ] -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/golden/queries/queryConstitutionOut.json: -------------------------------------------------------------------------------- 1 | { 2 | "anchor": { 3 | "dataHash": "0000000000000000000000000000000000000000000000000000000000000000", 4 | "url": "" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/golden/queries/refScriptSizeOut.json: -------------------------------------------------------------------------------- 1 | { 2 | "refInputScriptSize": 6 3 | } -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/golden/queries/stakeAddressInfoOut.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "address": "", 4 | "delegationDeposit": 0, 5 | "rewardAccountBalance": 0, 6 | "stakeDelegation": "", 7 | "voteDelegation": "" 8 | } 9 | ] -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/golden/queries/tipOut.json: -------------------------------------------------------------------------------- 1 | { 2 | "block": "", 3 | "epoch": "", 4 | "era": "Conway", 5 | "hash": "", 6 | "slot": "", 7 | "slotInEpoch": "", 8 | "slotsToEpochEnd": "", 9 | "syncProgress": "100.00" 10 | } -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/golden/tx.failed.response.json.golden: -------------------------------------------------------------------------------- 1 | { 2 | "contents": { 3 | "contents": { 4 | "contents": { 5 | "era": "ShelleyBasedEraConway", 6 | "error": [ 7 | "ConwayUtxowFailure (UtxoFailure (BadInputsUTxO (fromList [TxIn (TxId {unTxId = SafeHash \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}) (TxIx {unTxIx = 0})])))", 8 | "ConwayUtxowFailure (UtxoFailure (ValueNotConservedUTxO (Mismatch {mismatchSupplied = MaryValue (Coin 0) (MultiAsset (fromList [])), mismatchExpected = MaryValue (Coin 15000003000000) (MultiAsset (fromList []))})))" 9 | ], 10 | "kind": "ShelleyTxValidationError" 11 | }, 12 | "tag": "TxValidationErrorInCardanoMode" 13 | }, 14 | "tag": "TxCmdTxSubmitValidationError" 15 | }, 16 | "tag": "TxSubmitFail" 17 | } -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/plutus/v3/42.datum: -------------------------------------------------------------------------------- 1 | {"int":42} -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/plutus/v3/always-succeeds.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV3", 3 | "description": "Always succeeds", 4 | "cborHex": "46450101002499" 5 | } -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/plutus/v3/certifying-script.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV3", 3 | "description": "", 4 | "cborHex": "4746010100228001" 5 | } 6 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/plutus/v3/minting-script.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV3", 3 | "description": "", 4 | "cborHex": "4746010100228001" 5 | } 6 | -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/plutus/v3/proposing-script.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV3", 3 | "description": "", 4 | "cborHex": "4746010100228001" 5 | } -------------------------------------------------------------------------------- /cardano-testnet/test/cardano-testnet-test/files/sample-proposal-anchor: -------------------------------------------------------------------------------- 1 | These are the reasons: 2 | 3 | 1. First 4 | 2. Second 5 | 3. Third 6 | -------------------------------------------------------------------------------- /cardano-tracer/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # General reviewers per PR 2 | # Denis Serge 3 | * @denisshevchenko @deepfire 4 | -------------------------------------------------------------------------------- /cardano-tracer/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2022-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /cardano-tracer/configuration/complete-example.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | networkMagic: 764824073 3 | network: 4 | tag: ConnectTo 5 | contents: 6 | - "/tmp/forwarder.sock" 7 | loRequestNum: 100 8 | ekgRequestFreq: 2 9 | hasEKG: 10 | epHost: 127.0.0.1 11 | epPort: 3100 12 | hasPrometheus: 13 | epHost: 127.0.0.1 14 | epPort: 3000 15 | hasRTView: 16 | epHost: 127.0.0.1 17 | epPort: 3300 18 | logging: 19 | - logRoot: "/tmp/cardano-tracer-h-logs" 20 | logMode: FileMode 21 | logFormat: ForHuman 22 | - logRoot: "/tmp/cardano-tracer-m-logs" 23 | logMode: FileMode 24 | logFormat: ForMachine 25 | rotation: 26 | rpFrequencySecs: 15 27 | rpKeepFilesNum: 1 28 | rpLogLimitBytes: 50000 29 | rpMaxAgeHours: 1 30 | verbosity: ErrorsOnly 31 | -------------------------------------------------------------------------------- /cardano-tracer/configuration/membench-example.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | networkMagic: 764824073 3 | network: 4 | tag: AcceptAt 5 | contents: "/tmp/forwarder.sock" 6 | logging: 7 | - logRoot: "/home/yupanqui/IOG/docs" 8 | logMode: FileMode 9 | logFormat: ForMachine 10 | verbosity: Minimum 11 | -------------------------------------------------------------------------------- /cardano-tracer/configuration/minimal-example-rtview.json: -------------------------------------------------------------------------------- 1 | { 2 | "networkMagic": 764824073, 3 | "network": { 4 | "tag": "AcceptAt", 5 | "contents": "/tmp/forwarder.sock" 6 | }, 7 | "hasRTView": { 8 | "epHost": "127.0.0.1", 9 | "epPort": 3300 10 | }, 11 | "logging": [ 12 | { 13 | "logRoot": "/tmp/cardano-tracer-logs", 14 | "logMode": "FileMode", 15 | "logFormat": "ForMachine" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /cardano-tracer/configuration/minimal-example-rtview.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | networkMagic: 764824073 3 | network: 4 | tag: AcceptAt 5 | contents: "/tmp/forwarder.sock" 6 | hasRTView: 7 | epHost: 127.0.0.1 8 | epPort: 3300 9 | logging: 10 | - logRoot: "/tmp/cardano-tracer-logs" 11 | logMode: FileMode 12 | logFormat: ForMachine 13 | -------------------------------------------------------------------------------- /cardano-tracer/configuration/minimal-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "networkMagic": 764824073, 3 | "network": { 4 | "tag": "AcceptAt", 5 | "contents": "/tmp/forwarder.sock" 6 | }, 7 | "logging": [ 8 | { 9 | "logRoot": "/tmp/cardano-tracer-logs", 10 | "logMode": "FileMode", 11 | "logFormat": "ForMachine" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /cardano-tracer/configuration/minimal-example.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | networkMagic: 764824073 3 | network: 4 | tag: AcceptAt 5 | contents: "/tmp/forwarder.sock" 6 | logging: 7 | - logRoot: "/tmp/cardano-tracer-logs" 8 | logMode: FileMode 9 | logFormat: ForMachine 10 | -------------------------------------------------------------------------------- /cardano-tracer/demo/acceptor.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE LambdaCase #-} 2 | 3 | import Cardano.Tracer.Test.Acceptor 4 | 5 | import System.Environment (getArgs) 6 | 7 | main :: IO () 8 | main = getArgs >>= \case 9 | [localSock, "Initiator", dpName] -> launchAcceptorsSimple Initiator localSock dpName 10 | [localSock, "Responder", dpName] -> launchAcceptorsSimple Responder localSock dpName 11 | _ -> putStrLn "Usage: ./demo-acceptor /path/to/local/sock Initiator|Responder Name.Of.DataPoint" 12 | -------------------------------------------------------------------------------- /cardano-tracer/demo/multi/active-tracer-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "networkMagic": 764824073, 3 | "network": { 4 | "tag": "ConnectTo", 5 | "contents": [ 6 | "/run/user/1000/cardano-tracer-demo-1.sock", 7 | "/run/user/1000/cardano-tracer-demo-2.sock", 8 | "/run/user/1000/cardano-tracer-demo-3.sock" 9 | ] 10 | }, 11 | "hasEKG": { 12 | "epHost": "127.0.0.1", 13 | "epPort": 3100 14 | }, 15 | "hasPrometheus": { 16 | "epHost": "127.0.0.1", 17 | "epPort": 3000 18 | }, 19 | "logging": [ 20 | { 21 | "logRoot": "/run/user/1000/cardano-tracer-demo-logs", 22 | "logMode": "FileMode", 23 | "logFormat": "ForMachine" 24 | } 25 | ], 26 | "rotation": { 27 | "rpFrequencySecs": 15, 28 | "rpKeepFilesNum": 5, 29 | "rpLogLimitBytes": 5000, 30 | "rpMaxAgeHours": 1 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /cardano-tracer/demo/multi/forwarder.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE LambdaCase #-} 2 | 3 | import Cardano.Tracer.Test.Forwarder 4 | 5 | import System.Environment (getArgs) 6 | 7 | main :: IO () 8 | main = getArgs >>= \case 9 | [localSock, "Initiator"] -> launchForwardersSimple Initiator localSock 1000 2000 10 | [localSock, "Responder"] -> launchForwardersSimple Responder localSock 1000 2000 11 | _ -> putStrLn "Usage: ./demo-forwarder /path/to/local/sock Initiator|Responder" 12 | -------------------------------------------------------------------------------- /cardano-tracer/demo/multi/passive-tracer-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "networkMagic": 764824073, 3 | "network": { 4 | "tag": "AcceptAt", 5 | "contents": "/run/user/1000/cardano-tracer-demo-1.sock" 6 | }, 7 | "hasEKG": { 8 | "epHost": "127.0.0.1", 9 | "epPort": 3100 10 | }, 11 | "hasPrometheus": { 12 | "epHost": "127.0.0.1", 13 | "epPort": 3000 14 | }, 15 | "logging": [ 16 | { 17 | "logRoot": "/run/user/1000/cardano-tracer-demo-logs", 18 | "logMode": "FileMode", 19 | "logFormat": "ForMachine" 20 | } 21 | ], 22 | "rotation": { 23 | "rpFrequencySecs": 15, 24 | "rpKeepFilesNum": 5, 25 | "rpLogLimitBytes": 5000, 26 | "rpMaxAgeHours": 1 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /cardano-tracer/demo/ssh/active-tracer-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "networkMagic": 764824073, 3 | "network": { 4 | "tag": "ConnectTo", 5 | "contents": [ "/run/user/1000/cardano-tracer-demo.sock" ] 6 | }, 7 | "logging": [ 8 | { 9 | "logRoot": "/run/user/1000/cardano-tracer-demo-logs", 10 | "logMode": "FileMode", 11 | "logFormat": "ForMachine" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /cardano-tracer/demo/ssh/passive-tracer-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "networkMagic": 764824073, 3 | "network": { 4 | "tag": "AcceptAt", 5 | "contents": "/run/user/1000/cardano-tracer-demo.sock" 6 | }, 7 | "logging": [ 8 | { 9 | "logRoot": "/run/user/1000/cardano-tracer-demo-logs", 10 | "logMode": "FileMode", 11 | "logFormat": "ForMachine" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /cardano-tracer/src/Cardano/Tracer/Handlers/RTView/UI/JS/.gitignore: -------------------------------------------------------------------------------- 1 | ChartJS.hs -------------------------------------------------------------------------------- /cardano-tracer/test/config.yaml: -------------------------------------------------------------------------------- 1 | networkMagic: 42 2 | network: 3 | tag: AcceptAt 4 | contents: "tracer.sock" 5 | logging: 6 | - logRoot: "/tmp/logs" 7 | logMode: FileMode 8 | logFormat: ForMachine 9 | -------------------------------------------------------------------------------- /ci-shell: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | env 4 | 5 | "$*" 6 | -------------------------------------------------------------------------------- /configuration/cardano/mainnet-topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "bootstrapPeers": [ 3 | { 4 | "address": "backbone.cardano.iog.io", 5 | "port": 3001 6 | }, 7 | { 8 | "address": "backbone.mainnet.cardanofoundation.org", 9 | "port": 3001 10 | }, 11 | { 12 | "address": "backbone.mainnet.emurgornd.com", 13 | "port": 3001 14 | } 15 | ], 16 | "localRoots": [ 17 | { 18 | "accessPoints": [], 19 | "advertise": false, 20 | "trustable": false, 21 | "valency": 1 22 | } 23 | ], 24 | "publicRoots": [ 25 | { 26 | "accessPoints": [], 27 | "advertise": false 28 | } 29 | ], 30 | "useLedgerAfterSlot": 156124816 31 | } 32 | -------------------------------------------------------------------------------- /configuration/cardano/testnet-template-byron.json: -------------------------------------------------------------------------------- 1 | { 2 | "heavyDelThd": "300000000000", 3 | "maxBlockSize": "2000000", 4 | "maxTxSize": "4096", 5 | "maxHeaderSize": "2000000", 6 | "maxProposalSize": "700", 7 | "mpcThd": "20000000000000", 8 | "scriptVersion": 0, 9 | "slotDuration": "200", 10 | "softforkRule": { 11 | "initThd": "900000000000000", 12 | "minThd": "600000000000000", 13 | "thdDecrement": "50000000000000" 14 | }, 15 | "txFeePolicy": { 16 | "multiplier": "43946000000", 17 | "summand": "155381000000000" 18 | }, 19 | "unlockStakeEpoch": "18446744073709551615", 20 | "updateImplicit": "10000", 21 | "updateProposalThd": "100000000000000", 22 | "updateVoteThd": "1000000000000" 23 | } 24 | -------------------------------------------------------------------------------- /configuration/cardano/testnet-template-topology-empty-p2p.json: -------------------------------------------------------------------------------- 1 | { 2 | "localRoots": [ 3 | { 4 | "accessPoints": [], 5 | "advertise": false, 6 | "valency": 1 7 | } 8 | ], 9 | "publicRoots": [ 10 | { 11 | "accessPoints": [], 12 | "advertise": false 13 | } 14 | ], 15 | "useLedgerAfterSlot": -1 16 | } 17 | -------------------------------------------------------------------------------- /configuration/defaults/byron-mainnet/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "relays-new.cardano-mainnet.iohk.io", 5 | "port": 3001, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /configuration/defaults/byron-testnet/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "relays-new.cardano-testnet.iohkdev.io", 5 | "port": 3001, 6 | "valency": 1 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /configuration/defaults/simpleview/topology-node-0.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "Producers":[ 4 | { 5 | "addr":"127.0.0.1", 6 | "port":3001, 7 | "valency":1 8 | }, 9 | { 10 | "addr":"127.0.0.1", 11 | "port":3002, 12 | "valency":1 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /configuration/defaults/simpleview/topology-node-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers":[ 3 | { 4 | "addr":"127.0.0.1", 5 | "port":3000, 6 | "valency":1 7 | }, 8 | { 9 | "addr":"127.0.0.1", 10 | "port":3002, 11 | "valency":1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /configuration/defaults/simpleview/topology-node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers":[ 3 | { 4 | "addr":"127.0.0.1", 5 | "port":3000, 6 | "valency":1 7 | }, 8 | { 9 | "addr":"127.0.0.1", 10 | "port":3001, 11 | "valency":1 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /configuration/mainnet-ci/generate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ## Run this inside the `cardano-sl` repository: 4 | 5 | nix-build -j auto --cores 0 -A mkGenesis --arg genesisArgs '{ systemStart = 1000000000; configurationKey = "mainnet_ci_full"; configurationKeyLaunch = "mainnet_ci"; }' 6 | -------------------------------------------------------------------------------- /configuration/mainnet-ci/hash.txt: -------------------------------------------------------------------------------- 1 | 12da51c484b5310fe26ca06ab24b94b323cde3698a0a50cb3f212abd08c2731e 2 | -------------------------------------------------------------------------------- /configuration/mainnet-ci/key0.sk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key0.sk -------------------------------------------------------------------------------- /configuration/mainnet-ci/key0.sk.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key0.sk.lock -------------------------------------------------------------------------------- /configuration/mainnet-ci/key1.sk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key1.sk -------------------------------------------------------------------------------- /configuration/mainnet-ci/key1.sk.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key1.sk.lock -------------------------------------------------------------------------------- /configuration/mainnet-ci/key2.sk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key2.sk -------------------------------------------------------------------------------- /configuration/mainnet-ci/key2.sk.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key2.sk.lock -------------------------------------------------------------------------------- /configuration/mainnet-ci/key3.sk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key3.sk -------------------------------------------------------------------------------- /configuration/mainnet-ci/key3.sk.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key3.sk.lock -------------------------------------------------------------------------------- /configuration/mainnet-ci/key4.sk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key4.sk -------------------------------------------------------------------------------- /configuration/mainnet-ci/key4.sk.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key4.sk.lock -------------------------------------------------------------------------------- /configuration/mainnet-ci/key5.sk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key5.sk -------------------------------------------------------------------------------- /configuration/mainnet-ci/key5.sk.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key5.sk.lock -------------------------------------------------------------------------------- /configuration/mainnet-ci/key6.sk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key6.sk -------------------------------------------------------------------------------- /configuration/mainnet-ci/key6.sk.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/configuration/mainnet-ci/key6.sk.lock -------------------------------------------------------------------------------- /configuration/mainnet-ci/log-config-cluster.yaml: -------------------------------------------------------------------------------- 1 | # This config is used by cluster nodes (core, relay, explorer) 2 | 3 | rotation: 4 | logLimit: 16777216 5 | keepFiles: 20 6 | 7 | loggerTree: 8 | severity: Debug+ 9 | 10 | handlers: 11 | - { name: "JSON" 12 | , filepath: "node.json" 13 | , logsafety: SecretLogLevel 14 | , severity: Debug+ 15 | , backend: FileJsonBE } 16 | 17 | -------------------------------------------------------------------------------- /configuration/mainnet-ci/system-start.txt: -------------------------------------------------------------------------------- 1 | 1000000000 2 | -------------------------------------------------------------------------------- /configuration/readme.md: -------------------------------------------------------------------------------- 1 | ### Configuration 2 | 3 | Configuration files on this directory are only used for tests. 4 | 5 | Download configuration files for **MAINNET**, **PREPRODUCTION**, and **PREVIEW** networks from: 6 | 7 | * [https://book.world.dev.cardano.org/environments.html](https://book.world.dev.cardano.org/environments.html) 8 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | cardano-node: 3 | image: ghcr.io/intersectmbo/cardano-node:${CARDANO_NODE_VERSION:-latest} 4 | environment: 5 | - NETWORK=${NETWORK:-mainnet} 6 | volumes: 7 | - node-db:/data/db 8 | - node-ipc:/ipc 9 | logging: 10 | driver: "json-file" 11 | options: 12 | max-size: "200k" 13 | max-file: "10" 14 | 15 | cardano-submit-api: 16 | image: ghcr.io/intersectmbo/cardano-submit-api:${CARDANO_SUBMIT_API_VERSION:-latest} 17 | environment: 18 | - NETWORK=${NETWORK:-mainnet} 19 | depends_on: 20 | - cardano-node 21 | volumes: 22 | - node-ipc:/ipc 23 | ports: 24 | - 8090:8090 25 | restart: on-failure 26 | logging: 27 | driver: "json-file" 28 | options: 29 | max-size: "200k" 30 | max-file: "10" 31 | 32 | volumes: 33 | node-db: 34 | node-ipc: 35 | -------------------------------------------------------------------------------- /nix.mk: -------------------------------------------------------------------------------- 1 | bump-cardano-node-workbench: 2 | nix flake lock --update-input cardano-node-workbench 3 | bump-node-measured: 4 | nix flake lock --update-input node-measured 5 | bump-cardano-deployment: ## Sync the flake.lock to the CI check 6 | nix run nixpkgs#nixUnstable -- build .#hydraJobs.cardano-deployment 7 | 8 | CI_TEST_NIXATTR = workbench-ci-test 9 | workbench-ci-test smoke: ## Workbench: test a-la Hydra, the ci-test profile, full Nix engaged 10 | nix build --out-link result-ci-test '.#hydraJobs.native.$(CI_TEST_NIXATTR)' --cores 0 ${EXTRA_ARGS} 11 | ID=`jq -r .meta.tag result-ci-test/meta.json`; test -e "run/$$ID" || mv result-ci-test "run/$$ID" 12 | 13 | ## Use the -keep targets to debug failures: 14 | ## /tmp/nix-build-workbench-run-supervisor-ci-test-bage.drv-* 15 | ## ..will contain the run directory. 16 | workbench-ci-test-trace: CI_TEST_NIXATTR = workbench-ci-test-trace 17 | workbench-ci-test-trace: workbench-ci-test 18 | 19 | smoke-trace: workbench-ci-test-trace 20 | -------------------------------------------------------------------------------- /nix/README.md: -------------------------------------------------------------------------------- 1 | # Nix dependencies 2 | 3 | The nix build uses the new flake format to manage dependencies. To add flake support to your native nix setup please see https://nixos.wiki/wiki/Flakes. 4 | 5 | The cardano-node nix build depends primarily on [haskell.nix](https://github.com/input-output-hk/haskell.nix) and secondarily, for some utilities, on [iohk-nix](https://github.com/input-output-hk/iohk-nix/). 6 | 7 | Both can be updated with: 8 | 9 | ``` 10 | nix flake update haskellNix 11 | nix flake update iohkNix 12 | ``` 13 | 14 | # Building Cardano Node with Nix 15 | 16 | See: https://github.com/input-output-hk/cardano-node-wiki/wiki/building-the-node-using-nix 17 | -------------------------------------------------------------------------------- /nix/TODO.org: -------------------------------------------------------------------------------- 1 | * A simple TODO list 2 | 3 | 1. shell.nix has a separate pin of the =cardano-mainnet-mirror= flake -- that 4 | could've been using the =flake.nix= reference somehow. 5 | -------------------------------------------------------------------------------- /nix/cardanolib-py/README.md: -------------------------------------------------------------------------------- 1 | # cardano-lib-py 2 | 3 | * Used for testing cardano-node clusters locally 4 | -------------------------------------------------------------------------------- /nix/cardanolib-py/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | python3Packages 3 | , cardano-cli 4 | }: 5 | 6 | python3Packages.buildPythonPackage { 7 | version = "1.0.0"; 8 | pname = "cardano-lib-py"; 9 | src = ./.; 10 | propagatedBuildInputs = [ 11 | cardano-cli 12 | ]; 13 | } 14 | -------------------------------------------------------------------------------- /nix/cardanolib-py/setup.py: -------------------------------------------------------------------------------- 1 | import setuptools 2 | 3 | with open("README.md", "r") as fh: 4 | long_description = fh.read() 5 | 6 | setuptools.setup( 7 | name="cardanolib-py", 8 | version="1.0.0", 9 | author="Samuel Leathers", 10 | author_email="samuel.leathers@iohk.io", 11 | description="Library for interacting with cardano-cli in python", 12 | long_description=long_description, 13 | long_description_content_type="text/markdown", 14 | url="https://github.com/intersectmbo/cardano-node", 15 | py_modules= ["cardanolib"], 16 | classifiers=[ 17 | "Programming Language :: Python :: 3", 18 | "License :: OSI Approved :: Apache License", 19 | "Operating System :: OS Independent", 20 | ], 21 | ) 22 | -------------------------------------------------------------------------------- /nix/custom-config.nix: -------------------------------------------------------------------------------- 1 | self: { 2 | profiling = "none"; 3 | withHoogle = true; 4 | localCluster = { 5 | cacheDir = "${self.localCluster.stateDir}/.cache"; 6 | stateDir = "run/current"; 7 | batchName = "undefined"; 8 | profileName = "default-coay"; 9 | backendName = "supervisor"; 10 | basePort = 30000; 11 | workbenchDevMode = true; 12 | workbenchStartArgs = []; 13 | extraBackendConfig = {}; 14 | useCabalRun = true; 15 | }; 16 | # optional extra haskell.nix module 17 | haskellNix = {}; 18 | } 19 | -------------------------------------------------------------------------------- /nix/default.nix: -------------------------------------------------------------------------------- 1 | { ... }@args: 2 | with (import ./flake-compat.nix args); 3 | defaultNix.legacyPackages.${args.system or builtins.currentSystem} 4 | -------------------------------------------------------------------------------- /nix/docker/context/bin/run-client: -------------------------------------------------------------------------------- 1 | #!/bin/env bash 2 | 3 | [[ -n $DEBUG ]] && set -x 4 | 5 | # Shift the first option by one index 6 | shift 7 | 8 | if [[ -z $CARDANO_NODE_SOCKET_PATH ]]; then 9 | # Breaking change from the historical default of: /opt/cardano/ipc/socket 10 | # in order to align both the "scripts" and "custom" modes of image operation. 11 | export CARDANO_NODE_SOCKET_PATH="/ipc/node.socket" 12 | fi 13 | 14 | /usr/local/bin/cardano-cli "$@" 15 | -------------------------------------------------------------------------------- /nix/flake-compat.nix: -------------------------------------------------------------------------------- 1 | {...}@args: 2 | let 3 | src = args.src or ../.; 4 | lock = builtins.fromJSON (builtins.readFile (src + "/flake.lock")); 5 | flake-compate-input = lock.nodes.root.inputs.flake-compat; 6 | nixpkgs-input = lock.nodes.haskellNix.inputs.${builtins.elemAt lock.nodes.root.inputs.nixpkgs 1}; 7 | fetchTree = builtins.fetchTree or (info: 8 | builtins.fetchTarball { 9 | url = "https://api.github.com/repos/${info.owner}/${info.repo}/tarball/${info.rev}"; 10 | sha256 = info.narHash; 11 | }); 12 | flake-compat = import (fetchTree lock.nodes.${flake-compate-input}.locked); 13 | pkgs = import (fetchTree lock.nodes.${nixpkgs-input}.locked) { }; 14 | in 15 | flake-compat { 16 | inherit src pkgs; 17 | override-inputs = { 18 | customConfig = args; 19 | }; 20 | } 21 | -------------------------------------------------------------------------------- /nix/nixos/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | imports = import ./module-list.nix; 3 | } -------------------------------------------------------------------------------- /nix/nixos/module-list.nix: -------------------------------------------------------------------------------- 1 | [ 2 | ./cardano-node-service.nix 3 | ./cardano-submit-api-service.nix 4 | ] 5 | -------------------------------------------------------------------------------- /nix/set-git-rev.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: 2 | drv: 3 | with pkgs; 4 | buildPackages.runCommand drv.name 5 | { 6 | inherit (drv) exeName exePath meta passthru; 7 | # this is to ensure we are re-signing macOS binaries that might have been 8 | # mutilated by set-git-rev (e.g. patching in the git revision.) 9 | nativeBuildInputs = lib.optionals hostPlatform.isDarwin [ darwin.signingUtils ]; 10 | } ('' 11 | mkdir -p $out 12 | cp --no-preserve=timestamps --recursive ${drv}/* $out/ 13 | chmod -R +w $out/bin 14 | ${pkgsBuildBuild.haskellBuildUtils}/bin/set-git-rev "${gitrev}" $out/bin/* 15 | '' + lib.optionalString hostPlatform.isDarwin '' 16 | for exe in $out/bin/*; do 17 | signIfRequired "$exe" 18 | done 19 | '') 20 | -------------------------------------------------------------------------------- /nix/supported-systems.nix: -------------------------------------------------------------------------------- 1 | [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] 2 | -------------------------------------------------------------------------------- /nix/util.nix: -------------------------------------------------------------------------------- 1 | { haskell-nix }: 2 | 3 | with haskell-nix.haskellLib; 4 | { 5 | 6 | inherit 7 | selectProjectPackages 8 | collectComponents'; 9 | 10 | inherit (extra) 11 | recRecurseIntoAttrs 12 | collectChecks; 13 | } 14 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/adopt-10.json: -------------------------------------------------------------------------------- 1 | [ { "tag":"CBlock" 2 | , "contents": 3 | { "tag": "BMinimumAdoptions" 4 | , "contents": 10 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/epoch3+.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CSlot" 2 | , "contents": 3 | { "tag": "EpochGEq" 4 | , "contents": 2 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/epoch4+.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CSlot" 2 | , "contents": 3 | { "tag": "EpochGEq" 4 | , "contents": 3 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/epoch5+.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CSlot" 2 | , "contents": 3 | { "tag": "EpochGEq" 4 | , "contents": 4 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/fromslot-20k.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CSlot" 2 | , "contents": 3 | { "tag": "SlotGEq" 4 | , "contents": 20000 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/model.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CSlot" 2 | , "contents": 3 | { "tag": "SlotLEq" 4 | , "contents": 56000 5 | } 6 | } 7 | , { "tag":"CBlock" 8 | , "contents": 9 | { "tag": "BMinimumAdoptions" 10 | , "contents": 50 11 | } 12 | } 13 | , { "tag": "CBlock" 14 | , "contents": 15 | { "tag": "BUnitaryChainDelta" 16 | , "contents": true 17 | } 18 | } 19 | ] 20 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/no-ebnd.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CSlot" 2 | , "contents": 3 | { "tag": "EpSlotGEq" 4 | , "contents": 200 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/no-rewards.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CSlot" 2 | , "contents": 3 | { "tag": "EpochSafeIntLEq" 4 | , "contents": 3 5 | } 6 | } 7 | , { "tag": "CSlot" 8 | , "contents": 9 | { "tag": "EpochSafeIntGEq" 10 | , "contents": 8 11 | } 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/nonnegative.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CBlock" 2 | , "contents": 3 | { "tag": "BNonNegatives" 4 | , "contents": true 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/rewards.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CSlot" 2 | , "contents": 3 | { "tag": "EpochSafeIntGEq" 4 | , "contents": 4 5 | } 6 | } 7 | , { "tag": "CSlot" 8 | , "contents": 9 | { "tag": "EpochSafeIntLEq" 10 | , "contents": 7 11 | } 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/size-full.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CBlock" 2 | , "contents": 3 | { "tag": "BFullnessGEq" 4 | , "contents": 0.9 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/size-moderate-2.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CBlock" 2 | , "contents": 3 | { "tag": "BFullnessGEq" 4 | , "contents": 0.076 5 | } 6 | } 7 | , { "tag": "CBlock" 8 | , "contents": 9 | { "tag": "BFullnessLEq" 10 | , "contents": 0.105 11 | } 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/size-moderate.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CBlock" 2 | , "contents": 3 | { "tag": "BFullnessGEq" 4 | , "contents": 0.08 5 | } 6 | } 7 | , { "tag": "CBlock" 8 | , "contents": 9 | { "tag": "BFullnessLEq" 10 | , "contents": 0.112 11 | } 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/size-small.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CBlock" 2 | , "contents": 3 | { "tag": "BFullnessGEq" 4 | , "contents": 0.03 5 | } 6 | } 7 | , { "tag": "CBlock" 8 | , "contents": 9 | { "tag": "BFullnessLEq" 10 | , "contents": 0.1 11 | } 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /nix/workbench/analyse/chain-filters/unitary.json: -------------------------------------------------------------------------------- 1 | [ { "tag": "CBlock" 2 | , "contents": 3 | { "tag": "BUnitaryChainDelta" 4 | , "contents": true 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /nix/workbench/backend/nomad/patch.nix: -------------------------------------------------------------------------------- 1 | # SRE patched version of Nomad allowing `nix_installables` as artifacts. 2 | {...}@args: 3 | let 4 | # Patched 1.6.3. 5 | commit = "8f3b74796a8f56f38a812813c64dba995956a66e"; 6 | flake = (__getFlake "github:input-output-hk/cardano-perf/${commit}"); 7 | nomad-sre = flake.packages.${builtins.currentSystem}.nomad; 8 | in 9 | nomad-sre 10 | -------------------------------------------------------------------------------- /nix/workbench/ede/chart.ede: -------------------------------------------------------------------------------- 1 | #+begin_src gnuplot :file png/{{ args.deField }}.png 2 | load "../../../bench/workbench.gnuplot" 3 | {% if args.deLogScale == "true" %} 4 | set logscale y 5 | {% else %} 6 | unset logscale y 7 | {% endif %} 8 | {% if args.deRange != "" %} 9 | set yrange [{{ args.deRange }}] 10 | {% else %} 11 | set yrange [*:*] 12 | {% endif %} 13 | {% if args.deShortDesc != "" %} 14 | set ylabel "{{ args.deShortDesc }}, {{ args.deUnit }}" 15 | {% endif %} 16 | eval cdfI_{{ (runs | length) + 1 }}("{{ args.deField }}", "{{ args.deDescription | remove("'") }}", \ 17 | "{{ base.meta.tag }}/{{ base.meta.ident }}", "{{ base.meta.tag }}", \ 18 | {% for run in runs %} 19 | "{{ run.value.meta.tag }}/{{ run.value.meta.ident }}", "{{ run.value.meta.tag }}"{% if !run.last %},{% endif %} \ 20 | {% endfor %} 21 | ) 22 | #+end_src 23 | 24 | #+RESULTS: 25 | 26 | -------------------------------------------------------------------------------- /nix/workbench/ede/manifest.ede: -------------------------------------------------------------------------------- 1 | #+LATEX: \scriptsize 2 | | load | era | approx ver | node | plutu | ledge | conse | | 3 | |-------+---------+------------+-------+-------+-------+-------+---------------------------------------------------------------------| 4 | | {{ base.workload }} | {{ base.meta.era | toTitle }} | {{ base.ver}} | {{ base.rev.node }} | {{ base.rev.plutus }} | {{ base.rev.ledger }} | {{ base.rev.network }} | {{ base.meta.tag }} | 5 | {% for run in runs %} 6 | | {{ run.value.workload }} | {{ run.value.meta.era | toTitle }} | {{ run.value.ver}} | {{ run.value.rev.node }} | {{ run.value.rev.plutus }} | {{ run.value.rev.ledger }} | {{ run.value.rev.network }} | {{ run.value.meta.tag }} | 7 | {% endfor %} 8 | |-------+---------+------------+-------+-------+-------+-------+---------------------------------------------------------------------| 9 | #+LATEX: \normalsize 10 | -------------------------------------------------------------------------------- /nix/workbench/ede/table.ede: -------------------------------------------------------------------------------- 1 | | | {{ base.ver }}{% for run in runs %} | {{ run.value.ver }}{% endfor %} | 2 | |---------------------------+-----{% for run in runs %}-+-----{% endfor %}-| 3 | {% for i in table.rowPrecs %} 4 | | | {% for run in runs %} | {% endfor %} | 5 | {% endfor %} 6 | |---------------------------+-----{% for run in runs %}-+-----{% endfor %}-| 7 | #+TBLFM: $2='(identity remote(file:$base/${{ table.dataRef }},@@#${{ table.valueCol }}))::$1='(identity remote(file:$base/${{ table.dataRef }},@@#${{ table.nameCol }})){% for run in runs %}::${{ 2 + run.index }}='(identity remote(file:$run{{ run.index }}/${{ table.dataRef }},@@#${{ table.valueCol }})){% endfor %} 8 | -------------------------------------------------------------------------------- /nix/workbench/env.sh: -------------------------------------------------------------------------------- 1 | WB_ENV_DEFAULT=' 2 | { "type": "supervisor" 3 | , "cacheDir": "'${XDG_CACHE_HOME:-$HOME/.cache}'/cardano-workbench" 4 | , "basePort": 30000 5 | , "basePortTracer": 3000 6 | , "staggerPorts": true 7 | }' 8 | 9 | export WB_ENV=$WB_ENV_DEFAULT 10 | 11 | envjq() { 12 | jq ".$1" <<<$WB_ENV 13 | } 14 | 15 | envjqr() { 16 | jq -r ".$1" <<<$WB_ENV 17 | } 18 | 19 | setenvjq() { 20 | export WB_ENV=$(jq ". * { $1: $2 }" <<<$WB_ENV) 21 | } 22 | 23 | setenvjqstr() { 24 | setenvjq "$1" "\"$2\"" 25 | } 26 | -------------------------------------------------------------------------------- /nix/workbench/genesis/genesis-utxo.skey: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GenesisUTxOSigningKey_ed25519", 3 | "description": "Genesis Initial UTxO Signing Key", 4 | "cborHex": "58201f0655ba7500f4e923cac3741e730a325b7f2df549f949a19f7f7995de021964" 5 | } 6 | -------------------------------------------------------------------------------- /nix/workbench/genesis/genesis-utxo.vkey: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GenesisUTxOVerificationKey_ed25519", 3 | "description": "Genesis Initial UTxO Verification Key", 4 | "cborHex": "582055d24618feb099af69a9588cb6beb2e103f451a4f3869949576b7765aaef7c7a" 5 | } 6 | -------------------------------------------------------------------------------- /nix/workbench/modules/documentation.nix: -------------------------------------------------------------------------------- 1 | { options, lib, pkgs, ... }: 2 | 3 | # 4 | # Documentation generation 5 | # 6 | 7 | with lib; 8 | 9 | let docs = pkgs.nixosOptionsDoc { inherit options; }; 10 | in 11 | 12 | { 13 | options.documentation = mkOption { 14 | description = "Documentation"; 15 | type = with types; attrsOf package; 16 | }; 17 | 18 | config.documentation = { 19 | inherit (docs) optionsAsciiDoc optionsCommonMark optionsJSON; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /nix/workbench/modules/profile.nix: -------------------------------------------------------------------------------- 1 | { lib, pkgs, ... }: 2 | 3 | # 4 | # Configuration for a workbench profile. 5 | # 6 | # The overall structure matches what we currently have in profile.json, 7 | # but so far it only includes what is needed for the genesis creation. 8 | # 9 | 10 | with lib; 11 | 12 | let format = pkgs.formats.json { }; in 13 | 14 | { 15 | imports = [ 16 | ./genesis.nix 17 | ]; 18 | 19 | options = { 20 | # The following containts only what is required for genesis. 21 | 22 | composition = mkOption { 23 | type = types.submodule { freeformType = format.type; }; 24 | default = { }; 25 | }; 26 | 27 | derived = mkOption { 28 | type = types.submodule { freeformType = format.type; }; 29 | default = { }; 30 | }; 31 | 32 | node-specs = mkOption { 33 | type = types.submodule { freeformType = format.type; }; 34 | default = { }; 35 | }; 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /nix/workbench/profile/presets/mainnet/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "AlonzoGenesisHash": "7e94a15f55d1e82d10f09203fa1d40f8eede58fd8066542cf6566008068ed874", 3 | "ByronGenesisHash": "5f20df933584822601f9e3f8c024eb5eb252fe8cefb24d1317dc3d432e940ebb", 4 | "LastKnownBlockVersion-Major": 3, 5 | "Protocol": "Cardano", 6 | "RequiresNetworkMagic": "RequiresNoMagic", 7 | "ShelleyGenesisHash": "1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81" 8 | } 9 | -------------------------------------------------------------------------------- /nix/workbench/profile/presets/mainnet/topology-proxy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers": [ 3 | { 4 | "addr": "relays-new.cardano-mainnet.iohk.io", 5 | "port": 3001, 6 | "valency": 2 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /nix/workbench/wb.nix: -------------------------------------------------------------------------------- 1 | let profileData = builtins.getEnv "WB_SHELL_PROFILE_DATA"; in 2 | { 3 | # NOTE: this is a bit of a roundabout way to import legacyPackages as defined in the flake. 4 | # It goes thorugh flake-compat. 5 | pkgs ? import ../. { } 6 | , profile-json ? "${profileData}/profile.json" 7 | , node-specs ? "${profileData}/node-specs.json" 8 | }: 9 | 10 | with pkgs.lib; 11 | 12 | evalModules { 13 | modules = [ 14 | ./modules/documentation.nix 15 | ./modules/profile.nix 16 | { _module.args = { inherit pkgs; }; } 17 | { _file = profile-json; inherit (importJSON profile-json) composition derived genesis; } 18 | { _file = node-specs; node-specs = importJSON node-specs; } 19 | ]; 20 | } 21 | -------------------------------------------------------------------------------- /release.nix: -------------------------------------------------------------------------------- 1 | ############################################################################ 2 | # 3 | # Hydra release jobset. 4 | # 5 | # The purpose of this file is to select jobs defined in default.nix and map 6 | # them to all supported build platforms. 7 | # 8 | ############################################################################ 9 | 10 | # The project sources 11 | { cardano-node ? { outPath = ./.; rev = "abcdef"; } 12 | , pr ? null 13 | }: 14 | 15 | let 16 | inherit (import ./nix/flake-compat.nix { 17 | src = cardano-node; 18 | }) defaultNix; 19 | 20 | jobs = if (pr == null) then defaultNix.hydraJobs else defaultNix.hydraJobsPr; 21 | 22 | in 23 | jobs 24 | -------------------------------------------------------------------------------- /scripts/ci/check-cabal-files.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | for x in $(find . -name '*.cabal' | grep -v dist-newstyle | cut -c 3-); do 4 | ( 5 | d=$(dirname $x) 6 | echo "== $d ==" 7 | cd $d 8 | cabal check 9 | ) 10 | done 11 | -------------------------------------------------------------------------------- /scripts/gen-cabal-nosystemd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # force systemd off until there's a solution to 4 | # https://github.com/haskell/cabal/issues/5444 5 | 6 | set -eux 7 | 8 | root="$(dirname "$(dirname "$(realpath "$0")")")" 9 | 10 | cd "${root}" 11 | 12 | sed -e '/plugins\/scribe-systemd/d' cabal.project > cabal.nosystemd.project 13 | echo "" >> cabal.nosystemd.project 14 | echo "flags: -systemd" >> cabal.nosystemd.project 15 | 16 | if [ -e cabal.project.freeze ] ; then 17 | cp cabal.project.freeze cabal.nosystemd.project.freeze 18 | fi 19 | -------------------------------------------------------------------------------- /scripts/githooks/haskell-style-lint: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This script validates the staged changes in Haskell files using stylish-haskell and hlint and returns non-zero 3 | # code when there are linting or style issues. 4 | # 5 | # To set this script as your pre-commit hook, use the following command: 6 | # 7 | # ln -s $(git-root)/scripts/githooks/haskell-style-lint $(git rev-parse --git-dir)/hooks/pre-commit 8 | # 9 | 10 | hlint_rc="0" 11 | 12 | for x in $(git diff --staged --name-only --diff-filter=ACM "*.hs" | tr '\n' ' '); do 13 | if grep -qE '^#' "$x"; then 14 | echo "$x contains CPP. Skipping." 15 | else 16 | stylish-haskell -i "$x" 17 | fi 18 | hlint "$x" || hlint_rc="1" 19 | done 20 | 21 | # fail if there are style issues 22 | git --no-pager diff --exit-code || exit 1 23 | # if there are no style issue, there could be hlint issues: 24 | exit $hlint_rc 25 | -------------------------------------------------------------------------------- /scripts/lite/README.md: -------------------------------------------------------------------------------- 1 | # Collection of minimal self-contained scripts 2 | 3 | The scripts in this directory are meant to be simple and easy to understand. 4 | -------------------------------------------------------------------------------- /scripts/lite/configuration/topology-node-1.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "Producers":[ 4 | { 5 | "addr":"127.0.0.1", 6 | "port":3002, 7 | "valency":1 8 | }, 9 | { 10 | "addr":"127.0.0.1", 11 | "port":3003, 12 | "valency":1 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /scripts/lite/configuration/topology-node-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Producers":[ 3 | { 4 | "addr":"127.0.0.1", 5 | "port":3001, 6 | "valency":1 7 | }, 8 | { 9 | "addr":"127.0.0.1", 10 | "port":3003, 11 | "valency":1 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /scripts/lite/configuration/topology-node-3.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "Producers":[ 4 | { 5 | "addr":"127.0.0.1", 6 | "port":3001, 7 | "valency":1 8 | }, 9 | { 10 | "addr":"127.0.0.1", 11 | "port":3002, 12 | "valency":1 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /scripts/lite/mainnet-new-tracing.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # This script connects a node to mainnet 4 | 5 | ROOT="$(realpath "$(dirname "$0")/../..")" 6 | configuration="${ROOT}/configuration/cardano" 7 | 8 | data_dir=mainnetsingle 9 | mkdir -p "${data_dir}" 10 | db_dir="${data_dir}/db/node" 11 | mkdir -p "${db_dir}" 12 | socket_dir="${data_dir}/socket" 13 | mkdir -p "${socket_dir}" 14 | 15 | # Launch a node 16 | cabal run exe:cardano-node -- run \ 17 | --config "${configuration}/mainnet-config-new-tracing.json" \ 18 | --topology "${configuration}/mainnet-topology.json" \ 19 | --database-path "${db_dir}" \ 20 | --socket-path "${socket_dir}/node-1-socket" \ 21 | --tracer-socket-path-connect "${socket_dir}/tracer.socket" \ 22 | --host-addr "0.0.0.0" \ 23 | --port "3001" 24 | 25 | 26 | 27 | function cleanup() 28 | { 29 | for child in $(jobs -p); do 30 | echo kill "$child" && kill "$child" 31 | done 32 | } 33 | 34 | trap cleanup EXIT 35 | -------------------------------------------------------------------------------- /scripts/lite/mainnet.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # This script connects a node to mainnet 4 | 5 | ROOT="$(realpath "$(dirname "$0")/../..")" 6 | configuration="${ROOT}/configuration/cardano" 7 | 8 | data_dir=mainnetsingle 9 | mkdir -p "${data_dir}" 10 | db_dir="${data_dir}/db/node" 11 | mkdir -p "${db_dir}" 12 | socket_dir="${data_dir}/socket" 13 | mkdir -p "${socket_dir}" 14 | 15 | # Launch a node 16 | cabal run exe:cardano-node -- run \ 17 | --config "${configuration}/mainnet-config.json" \ 18 | --topology "${configuration}/mainnet-topology.json" \ 19 | --database-path "${db_dir}" \ 20 | --socket-path "${socket_dir}/node-1-socket" \ 21 | --host-addr "0.0.0.0" \ 22 | --port "3001" 23 | 24 | 25 | 26 | function cleanup() 27 | { 28 | for child in $(jobs -p); do 29 | echo kill "$child" && kill "$child" 30 | done 31 | } 32 | 33 | trap cleanup EXIT 34 | -------------------------------------------------------------------------------- /scripts/plutus/data/42.datum: -------------------------------------------------------------------------------- 1 | {"int":42} -------------------------------------------------------------------------------- /scripts/plutus/data/42.datum.cbor: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /scripts/plutus/data/42.redeemer: -------------------------------------------------------------------------------- 1 | {"int":42} -------------------------------------------------------------------------------- /scripts/plutus/data/42.redeemer.cbor: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /scripts/plutus/data/typed-42.datum: -------------------------------------------------------------------------------- 1 | {"constructor":0,"fields":[{"int":42}]} -------------------------------------------------------------------------------- /scripts/plutus/data/typed-42.datum.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IntersectMBO/cardano-node/4fc73bbf312efa727ca8c5541147bfc874707071/scripts/plutus/data/typed-42.datum.cbor -------------------------------------------------------------------------------- /scripts/plutus/data/typed-42.redeemer: -------------------------------------------------------------------------------- 1 | {"constructor":0,"fields":[{"int":42}]} -------------------------------------------------------------------------------- /scripts/plutus/scripts/v1/always-fails.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV1", 3 | "description": "", 4 | "cborHex": "581e581c01000033223232222350040071235002353003001498498480048005" 5 | } 6 | -------------------------------------------------------------------------------- /scripts/plutus/scripts/v1/always-succeeds-spending.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV1", 3 | "description": "", 4 | "cborHex": "4e4d01000033222220051200120011" 5 | } 6 | -------------------------------------------------------------------------------- /scripts/plutus/scripts/v1/guess-42-stake.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV1", 3 | "description": "", 4 | "cborHex": "587a58780100003233322232323233223232225335300a333500900800233500700d4815040184d400d2411d496e636f727265637420646174756d2e2045787065637465642034322e001235002353003335738002008930930900090008900091199ab9a3375e00400200c00a24002244004244002400246ea00041" 5 | } 6 | -------------------------------------------------------------------------------- /scripts/plutus/scripts/v2/always-fails.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV2", 3 | "description": "", 4 | "cborHex": "4746010000222601" 5 | } 6 | -------------------------------------------------------------------------------- /scripts/plutus/scripts/v2/always-succeeds-spending.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV2", 3 | "description": "", 4 | "cborHex": "49480100002221200101" 5 | } 6 | -------------------------------------------------------------------------------- /scripts/plutus/scripts/v2/guess-42-datum-42-txin.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV2", 3 | "description": "", 4 | "cborHex": "58775875010000323232322225335323253350021001100933320015007003332001500648150ccc8005401800ccc8005401520541004132632498cd5ce2491d496e636f727265637420646174756d2e2045787065637465642034322e0000412001123750002244666ae68cdd780100089100100189100081" 5 | } 6 | -------------------------------------------------------------------------------- /scripts/plutus/scripts/v2/guess-42-stake.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV2", 3 | "description": "", 4 | "cborHex": "584c584a0100003222533532333573466ebc00c004488008488004dd4240a82006264c649319ab9c49011d496e636f727265637420646174756d2e2045787065637465642034322e000031200101" 5 | } 6 | -------------------------------------------------------------------------------- /scripts/plutus/scripts/v2/loop.plutus: -------------------------------------------------------------------------------- 1 | { 2 | "type": "PlutusScriptV2", 3 | "description": "", 4 | "cborHex": "587c587a0100003322323222322533532333573466e200052080897a0090085002132632498cd5ce24811572656465656d6572206973203c2031303030303030000061300550021375a002640026460020024464a66a666ae68cdc38012410112f400c00a2008264600400266e0400920023002002120011220021220011" 5 | } 6 | -------------------------------------------------------------------------------- /scripts/prolog: -------------------------------------------------------------------------------- 1 | = Cardano Node Repository Hackage Documentation 2 | 3 | [skip to module list](#module-list) 4 | 5 | This site contains Haskell documentation of: 6 | 7 | * __[Cardano Api ](cardano-api/doc-index.html)__ 8 | * __[Cardano Api-test ](cardano-api-test/doc-index.html)__ 9 | * __[Cardano Cli ](cardano-cli/doc-index.html)__ 10 | * __[Cardano Git Rev ](cardano-git-rev/doc-index.html)__ 11 | * __[Cardano Node ](cardano-node/doc-index.html)__ 12 | * __[Cardano Node ](cardano-node/doc-index.html)__ 13 | * __[Cardano Node-chairman ](cardano-node-chairman/doc-index.html)__ 14 | * __[Cardano Testnet ](cardano-testnet/doc-index.html)__ 15 | * __[Hedgehog Extras ](hedgehog-extras/doc-index.html)__ 16 | -------------------------------------------------------------------------------- /scripts/protocol-params.json: -------------------------------------------------------------------------------- 1 | { 2 | "heavyDelThd": "300000000000", 3 | "maxBlockSize": "2000000", 4 | "maxHeaderSize": "2000000", 5 | "maxProposalSize": "700", 6 | "maxTxSize": "4096", 7 | "mpcThd": "20000000000000", 8 | "scriptVersion": 0, 9 | "slotDuration": "20000", 10 | "softforkRule": { 11 | "initThd": "900000000000000", 12 | "minThd": "600000000000000", 13 | "thdDecrement": "50000000000000" 14 | }, 15 | "txFeePolicy": { 16 | "multiplier": "43946000000", 17 | "summand": "155381000000000" 18 | }, 19 | "unlockStakeEpoch": "18446744073709551615", 20 | "updateImplicit": "10000", 21 | "updateProposalThd": "100000000000000", 22 | "updateVoteThd": "1000000000000" 23 | } 24 | -------------------------------------------------------------------------------- /trace-dispatcher/.gitignore: -------------------------------------------------------------------------------- 1 | .cabal-sandbox 2 | dist 3 | cabal.sandbox.config 4 | TAGS 5 | .stack-work/ 6 | *.o 7 | *.hi 8 | *.dyn_o 9 | *.dyn_hi 10 | stack.yaml.lock 11 | *.pdf 12 | -------------------------------------------------------------------------------- /trace-dispatcher/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2020-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /trace-dispatcher/README.md: -------------------------------------------------------------------------------- 1 | trace-dispatcher 2 | 3 | We integrated contra-tracer-0.1.0.0 into the source tree, because the 4 | iohk-monitoring framework depends on the non-arrow based contra-tracer framework. 5 | This should become a dependency later. 6 | 7 | The documentation can currently be found under: docs/trace-dispatcher.md 8 | 9 | ## Developers 10 | 11 | Benchmarking team is responsible for this library. 12 | The primary developer is [@JürgenNF](https://github.com/jutaro). 13 | -------------------------------------------------------------------------------- /trace-dispatcher/doc/config.nix: -------------------------------------------------------------------------------- 1 | To add in node-services.nix 2 | 3 | TraceOptionSeverity = [ 4 | {ns = ""; severity = "Info";} 5 | {ns = "AcceptPolicy"; severity = "Silence";} 6 | {ns = "ChainDB"; severity = "Debug";} 7 | ]; 8 | 9 | TraceOptionDetail = [ 10 | {ns = ""; detail = "DNormal";} 11 | {ns = "BlockFetchClient"; detail = "DMinimal";} 12 | ]; 13 | 14 | TraceOptionBackend = [ 15 | {ns = ""; backends = ["Stdout HumanFormatColoured"; "Forwarder"; "EKGBackend"];} 16 | {ns = "ChainDB"; backends = ["Forwarder"];} 17 | ]; 18 | -------------------------------------------------------------------------------- /trace-dispatcher/src/Cardano/Logging/Types/NodeInfo.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE DeriveGeneric #-} 2 | {-# Language DerivingStrategies #-} 3 | {-# Language DeriveAnyClass #-} 4 | 5 | module Cardano.Logging.Types.NodeInfo 6 | ( NodeInfo (..) 7 | ) 8 | where 9 | 10 | import Control.DeepSeq (NFData) 11 | import Data.Aeson (FromJSON, ToJSON) 12 | import Data.Text (Text) 13 | import Data.Time (UTCTime) 14 | import GHC.Generics (Generic) 15 | 16 | -- | NodeInfo 17 | 18 | data NodeInfo = NodeInfo 19 | { niName :: Text 20 | , niProtocol :: Text 21 | , niVersion :: Text 22 | , niCommit :: Text 23 | , niStartTime :: UTCTime 24 | , niSystemStartTime :: UTCTime 25 | } 26 | deriving stock (Eq, Show, Generic) 27 | deriving anyclass (NFData, ToJSON, FromJSON) 28 | -------------------------------------------------------------------------------- /trace-dispatcher/src/Cardano/Logging/Types/NodePeers.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE DeriveAnyClass #-} 2 | {-# LANGUAGE DeriveGeneric #-} 3 | {-# LANGUAGE DerivingStrategies #-} 4 | 5 | module Cardano.Logging.Types.NodePeers 6 | ( NodePeers (..) 7 | , PeerInfoPP 8 | ) 9 | where 10 | 11 | import Control.DeepSeq (NFData) 12 | import Data.Aeson (FromJSON, ToJSON) 13 | import Data.Text (Text) 14 | import GHC.Generics (Generic) 15 | 16 | type PeerInfoPP = Text -- The result of 'ppPeer' function. 17 | 18 | -- | This type contains an information about current peers of the node. 19 | -- It will be asked by external applications as a DataPoint. 20 | newtype NodePeers = NodePeers [PeerInfoPP] 21 | deriving stock Generic 22 | deriving anyclass (NFData, ToJSON, FromJSON) 23 | -------------------------------------------------------------------------------- /trace-forward/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # General reviewers per PR 2 | # Denis Serge Jürgen 3 | * @denisshevchenko @deepfire @jutaro 4 | -------------------------------------------------------------------------------- /trace-forward/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /trace-forward/test/Main.hs: -------------------------------------------------------------------------------- 1 | module Main 2 | ( main 3 | ) where 4 | 5 | import Test.Tasty 6 | import qualified Test.Trace.Forward.Protocol.DataPoint.Tests as DataPoint 7 | import qualified Test.Trace.Forward.Protocol.TraceObject.Tests as TraceObject 8 | 9 | main :: IO () 10 | main = defaultMain $ 11 | testGroup "trace-forward" 12 | [ DataPoint.tests 13 | , TraceObject.tests 14 | ] 15 | -------------------------------------------------------------------------------- /trace-forward/test/Test/Trace/Forward/Protocol/Common.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE FlexibleInstances #-} 2 | 3 | module Test.Trace.Forward.Protocol.Common 4 | ( splits2 5 | , splits3 6 | ) where 7 | 8 | import qualified Data.ByteString.Lazy as LBS 9 | 10 | -- | Generate all 2-splits of a string. 11 | splits2 :: LBS.ByteString -> [[LBS.ByteString]] 12 | splits2 bs = zipWith (\a b -> [a,b]) (LBS.inits bs) (LBS.tails bs) 13 | 14 | -- | Generate all 3-splits of a string. 15 | splits3 :: LBS.ByteString -> [[LBS.ByteString]] 16 | splits3 bs = 17 | [ [a,b,c] 18 | | (a,bs') <- zip (LBS.inits bs) (LBS.tails bs) 19 | , (b,c ) <- zip (LBS.inits bs') (LBS.tails bs') 20 | ] 21 | 22 | -- | For 'f' function in Tests. 23 | instance Show (Int -> Int) where 24 | show _ = "" 25 | -------------------------------------------------------------------------------- /trace-forward/test/Test/Trace/Forward/Protocol/DataPoint/Direct.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE NamedFieldPuns #-} 2 | {-# LANGUAGE ScopedTypeVariables #-} 3 | 4 | module Test.Trace.Forward.Protocol.DataPoint.Direct 5 | ( direct 6 | ) where 7 | 8 | import Trace.Forward.Protocol.DataPoint.Acceptor 9 | import Trace.Forward.Protocol.DataPoint.Forwarder 10 | import Trace.Forward.Protocol.DataPoint.Type 11 | 12 | direct :: Monad m 13 | => DataPointForwarder m a 14 | -> DataPointAcceptor m b 15 | -> m (a, b) 16 | direct DataPointForwarder { recvMsgDone } 17 | (SendMsgDone mdone) = 18 | (,) <$> recvMsgDone <*> mdone 19 | direct server@DataPointForwarder { recvMsgDataPointsRequest } 20 | (SendMsgDataPointsRequest (dpNames :: [DataPointName]) mclient) = do 21 | reply <- recvMsgDataPointsRequest dpNames 22 | client <- mclient reply 23 | direct server client 24 | -------------------------------------------------------------------------------- /trace-forward/test/Test/Trace/Forward/Protocol/DataPoint/Item.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE DeriveAnyClass #-} 2 | {-# LANGUAGE DeriveGeneric #-} 3 | 4 | module Test.Trace.Forward.Protocol.DataPoint.Item 5 | ( TestNodeInfo (..) 6 | ) where 7 | 8 | import qualified Data.Aeson as A 9 | import Data.Text (Text) 10 | import GHC.Generics 11 | 12 | data TestNodeInfo = TestNodeInfo 13 | { niName :: !Text 14 | , niVersion :: !Text 15 | , niCommit :: !Text 16 | , niProtocol :: !Text 17 | } deriving (Eq, Generic, A.ToJSON, A.FromJSON, Show) 18 | -------------------------------------------------------------------------------- /trace-forward/test/Test/Trace/Forward/Protocol/TraceObject/Direct.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE NamedFieldPuns #-} 2 | {-# LANGUAGE ScopedTypeVariables #-} 3 | 4 | module Test.Trace.Forward.Protocol.TraceObject.Direct 5 | ( direct 6 | ) where 7 | 8 | import Trace.Forward.Protocol.TraceObject.Acceptor 9 | import Trace.Forward.Protocol.TraceObject.Forwarder 10 | 11 | direct :: Monad m 12 | => TraceObjectForwarder lo m a 13 | -> TraceObjectAcceptor lo m b 14 | -> m (a, b) 15 | direct TraceObjectForwarder { recvMsgDone } 16 | (SendMsgDone mdone) = 17 | (,) <$> recvMsgDone <*> mdone 18 | direct server@TraceObjectForwarder { recvMsgTraceObjectsRequest } 19 | (SendMsgTraceObjectsRequest blocking numOfTO mclient) = do 20 | reply <- recvMsgTraceObjectsRequest blocking numOfTO 21 | client <- mclient reply 22 | direct server client 23 | -------------------------------------------------------------------------------- /trace-resources/.gitignore: -------------------------------------------------------------------------------- 1 | .cabal-sandbox 2 | dist 3 | cabal.sandbox.config 4 | TAGS 5 | .stack-work/ 6 | *.o 7 | *.hi 8 | *.dyn_o 9 | *.dyn_hi 10 | stack.yaml.lock 11 | *.pdf 12 | -------------------------------------------------------------------------------- /trace-resources/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Revision history for trace-resources 2 | 3 | ## 0,2,3 4 | 5 | * New names for metrics 6 | 7 | ## 0.2.1.0 -- Nov 2023 8 | 9 | * Optimized resource record creation on Linux 10 | * Add microbenchmark for resource record creation 11 | * Add cabal flag `with-netstat` (default: False) to enable netstat values in Linux resource traces (potentially expensive) 12 | 13 | ## 0.2.0.2 -- Sep 2023 14 | 15 | * Updated to `cardano-api-8.20`, `cardano-cli-8.8` and `ouroboros-network-0.9.1.0` 16 | 17 | ## 0.2.0.0 -- May 2023 18 | 19 | * Undocumented changes 20 | 21 | ## 0.1.0.0 -- October 2022 22 | 23 | * First version. Released on an unsuspecting world. 24 | -------------------------------------------------------------------------------- /trace-resources/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /trace-resources/README.md: -------------------------------------------------------------------------------- 1 | trace-resources 2 | 3 | Query resource statistics for various platforms for tracing. 4 | -------------------------------------------------------------------------------- /trace-resources/bench/trace-resources-bench.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE CPP #-} 2 | 3 | import Criterion.Main 4 | import Criterion.Types 5 | 6 | 7 | #if defined(linux_HOST_OS) 8 | import qualified Cardano.Logging.Resources.Linux as Platform 9 | #elif defined(mingw32_HOST_OS) 10 | import qualified Cardano.Logging.Resources.Windows as Platform 11 | #elif defined(darwin_HOST_OS) 12 | import qualified Cardano.Logging.Resources.Darwin as Platform 13 | #else 14 | import qualified Cardano.Logging.Resources.Dummy as Platform 15 | #endif 16 | 17 | 18 | main :: IO () 19 | main = 20 | defaultMainWith defaultConfig{ timeLimit = 15 } 21 | [ bench "create record ResourceStats" (whnfIO Platform.readResourceStatsInternal) 22 | ] 23 | -------------------------------------------------------------------------------- /trace-resources/include/os-support-win.h: -------------------------------------------------------------------------------- 1 | 2 | typedef struct _CPU_TIMES { 3 | ULONGLONG usertime; 4 | ULONGLONG systime; 5 | ULONGLONG idletime; 6 | } CPU_TIMES; 7 | 8 | int c_get_process_memory_info2 (PROCESS_MEMORY_COUNTERS *counters, DWORD pid); 9 | int c_get_io_counters2 (IO_COUNTERS *counters, DWORD pid); 10 | int c_get_sys_cpu_times2 (CPU_TIMES *cputimes); 11 | int c_get_proc_cpu_times2 (CPU_TIMES *cputimes, DWORD pid); 12 | int c_get_system_info2 (SYSTEM_INFO *sysinfo); 13 | int c_get_win_bits2 (DWORD pid); 14 | 15 | -------------------------------------------------------------------------------- /trace-resources/src/Cardano/Logging/Resources.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE CPP #-} 2 | 3 | module Cardano.Logging.Resources 4 | ( Resources(..) 5 | , ResourceStats 6 | , readResourceStats 7 | ) where 8 | 9 | 10 | import Cardano.Logging.Resources.Types 11 | #if defined(linux_HOST_OS) 12 | import qualified Cardano.Logging.Resources.Linux as Platform 13 | #elif defined(mingw32_HOST_OS) 14 | import qualified Cardano.Logging.Resources.Windows as Platform 15 | #elif defined(darwin_HOST_OS) 16 | import qualified Cardano.Logging.Resources.Darwin as Platform 17 | #else 18 | import qualified Cardano.Logging.Resources.Dummy as Platform 19 | #endif 20 | 21 | 22 | readResourceStats :: IO (Maybe ResourceStats) 23 | readResourceStats = Platform.readResourceStatsInternal 24 | --------------------------------------------------------------------------------