diff --git a/bench/cardano-topology/NOTICE b/bench/cardano-topology/NOTICE index c1189155b54..f63730a6301 100644 --- a/bench/cardano-topology/NOTICE +++ b/bench/cardano-topology/NOTICE @@ -1,4 +1,4 @@ -Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/bench/cardano-topology/cardano-topology.cabal b/bench/cardano-topology/cardano-topology.cabal index 69aadca71f9..8a50a43dae0 100644 --- a/bench/cardano-topology/cardano-topology.cabal +++ b/bench/cardano-topology/cardano-topology.cabal @@ -6,7 +6,7 @@ synopsis: A cardano topology generator description: A cardano topology generator. category: Cardano, Test, -copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io license: Apache-2.0 diff --git a/bench/locli/NOTICE b/bench/locli/NOTICE index c1189155b54..f63730a6301 100644 --- a/bench/locli/NOTICE +++ b/bench/locli/NOTICE @@ -1,4 +1,4 @@ -Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/bench/locli/locli.cabal b/bench/locli/locli.cabal index 7649407e988..881f87cedfd 100644 --- a/bench/locli/locli.cabal +++ b/bench/locli/locli.cabal @@ -6,7 +6,7 @@ synopsis: Cardano log analysis CLI description: Cardano log analysis CLI. category: Cardano, Logging, -copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io license: Apache-2.0 diff --git a/bench/plutus-scripts-bench/NOTICE b/bench/plutus-scripts-bench/NOTICE index 071f6062674..5b950f6e291 100644 --- a/bench/plutus-scripts-bench/NOTICE +++ b/bench/plutus-scripts-bench/NOTICE @@ -1,4 +1,4 @@ -Copyright 2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/bench/plutus-scripts-bench/plutus-scripts-bench.cabal b/bench/plutus-scripts-bench/plutus-scripts-bench.cabal index 4c6dc8ed805..59bc00ca7bd 100644 --- a/bench/plutus-scripts-bench/plutus-scripts-bench.cabal +++ b/bench/plutus-scripts-bench/plutus-scripts-bench.cabal @@ -10,7 +10,7 @@ maintainer: operations@iohk.io license: Apache-2.0 license-files: LICENSE NOTICE -copyright: 2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2023 Input Output Global Inc (IOG), 2023-2025 Intersect. build-type: Simple flag unexpected_thunks diff --git a/bench/tx-generator/NOTICE b/bench/tx-generator/NOTICE index 3dddab23894..b63858587be 100644 --- a/bench/tx-generator/NOTICE +++ b/bench/tx-generator/NOTICE @@ -1,4 +1,4 @@ -Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/bench/tx-generator/tx-generator.cabal b/bench/tx-generator/tx-generator.cabal index 461282d831d..c232a1c4c9b 100644 --- a/bench/tx-generator/tx-generator.cabal +++ b/bench/tx-generator/tx-generator.cabal @@ -6,7 +6,7 @@ synopsis: A transaction workload generator for Cardano clusters description: A transaction workload generator for Cardano clusters. category: Cardano, Test, -copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io license: Apache-2.0 @@ -158,7 +158,6 @@ library , transformers-except , unordered-containers , yaml - , microlens default-language: Haskell2010 default-extensions: OverloadedStrings diff --git a/cabal.project b/cabal.project index de569fdc0d1..ad812cc0a3a 100644 --- a/cabal.project +++ b/cabal.project @@ -14,7 +14,7 @@ repository cardano-haskell-packages -- you need to run if you change them index-state: , hackage.haskell.org 2025-01-01T23:24:19Z - , cardano-haskell-packages 2025-01-16T11:44:54Z + , cardano-haskell-packages 2025-01-22T16:50:05Z packages: cardano-node @@ -64,3 +64,64 @@ allow-newer: -- IMPORTANT -- Do NOT add more source-repository-package stanzas here unless they are strictly -- temporary! Please read the section in CONTRIBUTING about updating dependencies. +source-repository-package + type: git + location: https://github.com/jasagredo/async + tag: 57b9ef37662b4c978eef7bc6bd255c9a89d7d731 + +source-repository-package + type: git + location: https://github.com/jasagredo/katip + tag: 186a10c0f92d84375ff69db1d9e0a33adda9d2b8 + subdir: + katip + +source-repository-package + type: git + location: https://github.com/jasagredo/wai + tag: eebc207b826f923c50e9d21fe39d8793b5248a58 + subdir: + warp + +source-repository-package + type: git + location: https://github.com/jasagredo/ekg-wai + tag: 7373a7826abfd5093be931c36542e52421012154 + +source-repository-package + type: git + location: https://github.com/IntersectMBO/ouroboros-network + tag: a00bcfef4a8599a60adb5f908ec56249bcd6ac9d + subdir: + ouroboros-network + ouroboros-network-framework + +source-repository-package + type: git + location: https://github.com/IntersectMBO/ouroboros-consensus + tag: b38ca254f73aae13eb50b2ea9eae786e14ae7a01 + subdir: + ouroboros-consensus + ouroboros-consensus-diffusion + +source-repository-package + type: git + location: https://github.com/input-output-hk/iohk-monitoring-framework + tag: 45fef502fd0380425fd7ff83cd0bf6764f063853 + subdir: + iohk-monitoring + plugins/backend-ekg + plugins/backend-aggregation + plugins/backend-monitoring + +source-repository-package + type: git + location: https://github.com/IntersectMBO/Win32-network + tag: e09fd544175b35779204fbeadcd0a37fc4f92220 + +source-repository-package + type: git + location: https://github.com/input-output-hk/io-sim + tag: d037df6436c270cbb40d58d72cad19dac8b79bab + subdir: + io-classes diff --git a/cardano-node-capi/NOTICE b/cardano-node-capi/NOTICE index c1189155b54..f63730a6301 100644 --- a/cardano-node-capi/NOTICE +++ b/cardano-node-capi/NOTICE @@ -1,4 +1,4 @@ -Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/cardano-node-capi/cardano-node-capi.cabal b/cardano-node-capi/cardano-node-capi.cabal index 1f44dca43cc..42f8be16ca8 100644 --- a/cardano-node-capi/cardano-node-capi.cabal +++ b/cardano-node-capi/cardano-node-capi.cabal @@ -6,7 +6,7 @@ synopsis: FFI C library for Cardano description: ffi c library around the full node. category: Cardano, FFI, -copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io license: Apache-2.0 diff --git a/cardano-node-chairman/NOTICE b/cardano-node-chairman/NOTICE index 21bbb2144c8..3131dfdb61c 100644 --- a/cardano-node-chairman/NOTICE +++ b/cardano-node-chairman/NOTICE @@ -1,4 +1,4 @@ -Copyright 2020-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2020-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/cardano-node-chairman/cardano-node-chairman.cabal b/cardano-node-chairman/cardano-node-chairman.cabal index b5b350234ca..c7aa9f6b94a 100644 --- a/cardano-node-chairman/cardano-node-chairman.cabal +++ b/cardano-node-chairman/cardano-node-chairman.cabal @@ -6,7 +6,7 @@ synopsis: The cardano full node description: The cardano full node. category: Cardano, Test, -copyright: 2020-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2020-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io license: Apache-2.0 @@ -44,7 +44,7 @@ executable cardano-node-chairman build-depends: cardano-api , cardano-crypto-class , cardano-git-rev ^>= 0.2.2 - , cardano-node ^>= 10.1.1 + , cardano-node ^>= 10.2 , cardano-prelude , containers , contra-tracer diff --git a/cardano-node/ChangeLog.md b/cardano-node/ChangeLog.md index 76e7cfd2474..17ae59a8358 100644 --- a/cardano-node/ChangeLog.md +++ b/cardano-node/ChangeLog.md @@ -1,22 +1,59 @@ # Changelog for cardano-node -## Next version +## 10.2 -- January 2025 - Use p2p network stack by default, warn when using the legacy network stack. + - Deprecate some CLI flags corresponding to low-level consensus options. They are still accepted but a warning is emitted on startup on stderr suggesting to set them in the configuration file instead: - `--mempool-capacity-override` and `--no-mempool-capacity-override` can be set in the configuration file via the key `MempoolCapacityBytesOverride`. - `--snapshot-interval` can be set in the configuration file via the key `SnapshotInterval`. - `--num-of-disk-snapshots` can be set in the configuration file via the key `NumOfDiskSnapshots`. + - Ledger peer snapshot path entry added to topology JSON parser, which a new decoder function `readPeerSnapshotFile` processes at startup and SIGHUP. Data is available to the diffusion layer via TVar. +- Configuration changes: + - Add `ConsensusMode` and `MinBigLedgerPeersForTrustedState` + - Add Genesis config + - Add `diffusionMode` to local root peers group configuration + - Add `DoDiskSnapshotChecksum` + +- Change fallback node name for trace forwarding from `host:port` to `host_port` - Use metric names of old-tracing in new-tracing as well, and fix some metrics in new tracing. +- Tracing updates: + - Add support for `ChainSelStarvationEvent`, `ExtValidationError` + - Add support for `KeepAlive` protocol + - Add support for `LocalStateQuery` protocol + - Add support for `UsingBigLedgerPeerSnapshot`, `VerifyPeerSnapshot` + - Add support for `ConnectionError` + - Add support for `AddNewNodeIdMapping` + - Add support for `PeerFetch` and `PeerStarvedUs` + - Add support for `SnapshotMissingChecksum` + - Add support for stateful messages + - Add `maximumKesEvolutions` to `InvalidKesSignatureOCERT` event + - Rename kind field of all `MuxXxx` trace messages to be `Mux.Xxx` + - Rename fields in `RotatedDynamo` event to `oldPeer`, `newPeer` + - Rename `ConnectTo` to `Connect` + - Change format of `GenesisPoint`, `LabelPeer`, `DecisionEvent` + - Change format of `ConnectionManagerState` + - Change format of `AddedToCurrentChain` + - Drop support for `ClientAgency`, `ServerAgency` + - Drop support for `FetchDecision declined`, `FetchDecision results` + - Drop support for `StakeKeyInRewardsDELEG` + - Drop support for `ChainSelectionForFutureBlock`, `BlockInTheFuture`, + `CandidateContainsFutureBlocks`, `CandidateContainsFutureBlocksExceedingClockSkew`, + `InvalidBlockReason` + +- Drop NodeToClient versions 9 through 15, and add 19 + +- Increase minor protocol version to `10.3` + ## 8.2.1 -- August 2023 - prevent SIGHUP from killing node during ledger replay diff --git a/cardano-node/NOTICE b/cardano-node/NOTICE index 47f18a85adc..b94237924ee 100644 --- a/cardano-node/NOTICE +++ b/cardano-node/NOTICE @@ -1,4 +1,4 @@ -Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/cardano-node/app/cardano-node.hs b/cardano-node/app/cardano-node.hs index c1a938cf552..ed2637de04d 100644 --- a/cardano-node/app/cardano-node.hs +++ b/cardano-node/app/cardano-node.hs @@ -25,10 +25,14 @@ import System.IO (hPutStrLn, stderr) import Paths_cardano_node (version) +import GHC.Conc + main :: IO () main = do Crypto.cryptoInit + myThreadId >>= flip labelThread "main" + toplevelExceptionHandler $ do cmd <- Opt.customExecParser p opts @@ -45,15 +49,15 @@ main = do p = Opt.prefs Opt.showHelpOnEmpty warnIfSet :: PartialNodeConfiguration -> (PartialNodeConfiguration -> Last a) -> String -> String -> IO () - warnIfSet args f name key = - maybe - (pure ()) - (\_ -> hPutStrLn stderr $ "WARNING: Option --" ++ name ++ " was set via CLI flags.\ + warnIfSet args f name key = + maybe + (pure ()) + (\_ -> hPutStrLn stderr $ "WARNING: Option --" ++ name ++ " was set via CLI flags.\ \ This CLI flag will be removed in upcoming node releases.\ - \ Please, set this configuration option in the configuration file instead with key " ++ key ++ ".") + \ Please, set this configuration option in the configuration file instead with key " ++ key ++ ".") $ getLast $ f args - + opts :: Opt.ParserInfo Command opts = Opt.info (fmap RunCmd nodeCLIParser diff --git a/cardano-node/cardano-node.cabal b/cardano-node/cardano-node.cabal index 9874b9c8e3a..3dd040906d6 100644 --- a/cardano-node/cardano-node.cabal +++ b/cardano-node/cardano-node.cabal @@ -1,12 +1,12 @@ cabal-version: 3.0 name: cardano-node -version: 10.1.4 +version: 10.2 synopsis: The cardano full node description: The cardano full node. category: Cardano, Validator, -copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io license: Apache-2.0 @@ -207,8 +207,8 @@ library , strict-sop-core , strict-stm , time - , trace-dispatcher ^>= 2.7.0 - , trace-forward ^>= 2.2.8 + , trace-dispatcher ^>= 2.8.0 + , trace-forward ^>= 2.2.9 , trace-resources ^>= 0.2.3 , tracer-transformers , transformers @@ -223,6 +223,7 @@ executable cardano-node main-is: cardano-node.hs ghc-options: -threaded -rtsopts + -debug if arch(arm) ghc-options: "-with-rtsopts=-T -I0 -A16m -N1 --disable-delayed-os-memory-return" diff --git a/cardano-node/src/Cardano/Node/Configuration/Logging.hs b/cardano-node/src/Cardano/Node/Configuration/Logging.hs index caf41dbb8db..74eef52b5eb 100644 --- a/cardano-node/src/Cardano/Node/Configuration/Logging.hs +++ b/cardano-node/src/Cardano/Node/Configuration/Logging.hs @@ -94,6 +94,7 @@ import Cardano.Slotting.Slot (EpochSize (..)) import Cardano.Tracing.Config (TraceOptions (..)) import Cardano.Tracing.OrphanInstances.Common () import Paths_cardano_node (version) +import GHC.Conc (labelThread, myThreadId) -------------------------------- -- Layer @@ -285,7 +286,9 @@ createLoggingLayer ver nodeConfig' p = do pure () startCapturingMetrics _ tr = do - void . Async.async . forever $ do + void . Async.async $ do + myThreadId >>= flip labelThread "Metrics capturing (cardano-node)" + forever $ do readResourceStats >>= maybe (pure ()) (traceResourceStats diff --git a/cardano-node/src/Cardano/Node/Configuration/TopologyP2P.hs b/cardano-node/src/Cardano/Node/Configuration/TopologyP2P.hs index 2e7517bf31e..8d75351255b 100644 --- a/cardano-node/src/Cardano/Node/Configuration/TopologyP2P.hs +++ b/cardano-node/src/Cardano/Node/Configuration/TopologyP2P.hs @@ -250,7 +250,12 @@ readTopologyFile nc tr = do ] genesisIncompatible = Text.pack $ "Cardano.Node.Configuration.Topology.readTopologyFile: " - <> "Bootstrap peers are not used in Genesis consensus mode." + <> "Bootstrap peers (field 'bootstrapPeers') are not compatible " + <> "with Genesis syncing mode, reverting to 'DontUseBootstrapPeers'. " + <> "Big ledger peers will be leveraged for decentralized syncing - it " + <> "is recommened to provide an up-to-date big ledger peer snapshot file " + <> "(field 'peerSnapshotFile' in topology configuration) to facilitate " + <> "this process." handlerBootstrap :: Text handlerBootstrap = mconcat [ "You seem to have not configured any trustable peers. " diff --git a/cardano-node/src/Cardano/Node/Protocol/Cardano.hs b/cardano-node/src/Cardano/Node/Protocol/Cardano.hs index 0fe737d4315..5df21a18528 100644 --- a/cardano-node/src/Cardano/Node/Protocol/Cardano.hs +++ b/cardano-node/src/Cardano/Node/Protocol/Cardano.hs @@ -165,7 +165,7 @@ mkSomeConsensusProtocolCardano NodeByronProtocolConfiguration { shelleyGenesisHash, shelleyBasedLeaderCredentials = shelleyLeaderCredentials } - , Consensus.cardanoProtocolVersion = ProtVer (natVersion @10) 2 + , Consensus.cardanoProtocolVersion = ProtVer (natVersion @10) 3 -- The remaining arguments specify the parameters needed to transition between two eras , Consensus.cardanoLedgerTransitionConfig = Ledger.mkLatestTransitionConfig diff --git a/cardano-node/src/Cardano/Node/Run.hs b/cardano-node/src/Cardano/Node/Run.hs index e627b75934d..e1e5bdb3633 100644 --- a/cardano-node/src/Cardano/Node/Run.hs +++ b/cardano-node/src/Cardano/Node/Run.hs @@ -930,7 +930,7 @@ mkP2PArguments NodeConfiguration { , P2P.daMinBigLedgerPeersForTrustedState = ncMinBigLedgerPeersForTrustedState } where - deadlineTargets = Configuration.defaultDeadlineTargets { + deadlineTargets = PeerSelectionTargets { targetNumberOfRootPeers = ncDeadlineTargetOfRootPeers, targetNumberOfKnownPeers = ncDeadlineTargetOfKnownPeers, targetNumberOfEstablishedPeers = ncDeadlineTargetOfEstablishedPeers, @@ -939,7 +939,10 @@ mkP2PArguments NodeConfiguration { targetNumberOfEstablishedBigLedgerPeers = ncDeadlineTargetOfEstablishedBigLedgerPeers, targetNumberOfActiveBigLedgerPeers = ncDeadlineTargetOfActiveBigLedgerPeers } - syncTargets = Configuration.defaultSyncTargets { + syncTargets = PeerSelectionTargets { + targetNumberOfRootPeers = 0, + targetNumberOfKnownPeers = 0, + targetNumberOfEstablishedPeers = 0, targetNumberOfActivePeers = ncSyncTargetOfActivePeers, targetNumberOfKnownBigLedgerPeers = ncSyncTargetOfKnownBigLedgerPeers, targetNumberOfEstablishedBigLedgerPeers = ncSyncTargetOfEstablishedBigLedgerPeers, diff --git a/cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs b/cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs index fe32e91f5a3..b25a8063425 100644 --- a/cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs +++ b/cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs @@ -633,8 +633,8 @@ instance ( LogFormatting (Header blk) , IntM "slotInEpoch" (fromIntegral slotInEpoch) , IntM "epoch" (fromIntegral (unEpochNo epoch)) , PrometheusM "tipBlock" [("hash",tipBlockHash) - ,("parent hash",tipBlockParentHash) - ,("issuer verification key hash", tipBlockIssuerVkHashText)] + ,("parent_hash",tipBlockParentHash) + ,("issuer_verification_key_hash", tipBlockIssuerVkHashText)] ] asMetrics _ = [] diff --git a/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs b/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs index c36aa985814..a69a89f7494 100644 --- a/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs +++ b/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs @@ -465,7 +465,6 @@ instance HasSeverityAnnotation (TracePeerSelection addr) where TraceGovernorWakeup {} -> Info TraceChurnWait {} -> Info TraceChurnMode {} -> Info - -- TraceVerifyPeerSnapshot {} -> Info TraceForgetBigLedgerPeers {} -> Info diff --git a/cardano-submit-api/NOTICE b/cardano-submit-api/NOTICE index 3dddab23894..b63858587be 100644 --- a/cardano-submit-api/NOTICE +++ b/cardano-submit-api/NOTICE @@ -1,4 +1,4 @@ -Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/cardano-submit-api/cardano-submit-api.cabal b/cardano-submit-api/cardano-submit-api.cabal index 0126b62bcf6..5345979492f 100644 --- a/cardano-submit-api/cardano-submit-api.cabal +++ b/cardano-submit-api/cardano-submit-api.cabal @@ -9,7 +9,7 @@ bug-reports: https://github.com/intersectmbo/cardano-node/issues license: Apache-2.0 license-files: LICENSE NOTICE -copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK Engineering Team maintainer: operations@iohk.io category: Cardano, diff --git a/cardano-testnet/NOTICE b/cardano-testnet/NOTICE index eeb9f4e4dec..f09f988ce59 100644 --- a/cardano-testnet/NOTICE +++ b/cardano-testnet/NOTICE @@ -1,4 +1,4 @@ -Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/cardano-testnet/cardano-testnet.cabal b/cardano-testnet/cardano-testnet.cabal index 6a4eb37efb4..1a9a62e5cb6 100644 --- a/cardano-testnet/cardano-testnet.cabal +++ b/cardano-testnet/cardano-testnet.cabal @@ -4,7 +4,7 @@ name: cardano-testnet version: 10.0.0 synopsis: The cardano full node description: The cardano full node. -copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io category: Cardano, diff --git a/cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/Gov/ProposeNewConstitution.hs b/cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/Gov/ProposeNewConstitution.hs index 716c46c8ba9..9d677970c8c 100644 --- a/cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/Gov/ProposeNewConstitution.hs +++ b/cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/Gov/ProposeNewConstitution.hs @@ -157,6 +157,9 @@ hprop_ledger_events_propose_new_constitution = integrationWorkspace "propose-new , "--tx-file", stakeCertTxSignedFp ] + -- make sure that stake registration cert gets into a block + H.noteShowM_ $ waitForBlocks epochStateView 1 + -- Create constitution proposal guardRailScriptFp <- H.note $ work "guard-rail-script.plutusV3" H.writeFile guardRailScriptFp $ Text.unpack plutusV3Script diff --git a/cardano-tracer/CHANGELOG.md b/cardano-tracer/CHANGELOG.md index 46749090d83..7ecad637a02 100644 --- a/cardano-tracer/CHANGELOG.md +++ b/cardano-tracer/CHANGELOG.md @@ -1,5 +1,10 @@ # ChangeLog +## 0.3.1 (January 22, 2025) + +* Fix race condition when querying `NodeInfo` data point, occasionally resulting in fallback `NodeName`s instead of proper ones. +* Updated to `typed-protocols-0.3`. + ## 0.3 (September 26, 2024) * Fix the creation of empty logs. diff --git a/cardano-tracer/NOTICE b/cardano-tracer/NOTICE index 020cba08d98..131cd6faec5 100644 --- a/cardano-tracer/NOTICE +++ b/cardano-tracer/NOTICE @@ -1,4 +1,4 @@ -Copyright 2022-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2022-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/cardano-tracer/cardano-tracer.cabal b/cardano-tracer/cardano-tracer.cabal index 78c8e651187..1896fd4396c 100644 --- a/cardano-tracer/cardano-tracer.cabal +++ b/cardano-tracer/cardano-tracer.cabal @@ -1,12 +1,12 @@ cabal-version: 3.0 name: cardano-tracer -version: 0.3 +version: 0.3.1 synopsis: A service for logging and monitoring over Cardano nodes description: A service for logging and monitoring over Cardano nodes. category: Cardano, Trace, -copyright: 2022-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2022-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io license: Apache-2.0 diff --git a/configuration/cardano/mainnet-p2p-toplogy.json b/configuration/cardano/mainnet-p2p-toplogy.json deleted file mode 100644 index 2c2d22807aa..00000000000 --- a/configuration/cardano/mainnet-p2p-toplogy.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "LocalRoots": { - "groups": [] - }, - "PublicRoots": [ - { - "publicRoots": { - "accessPoints": [ - { - "address": "relays-new.cardano-mainnet.iohk.io", - "port": 3001 - } - ], - "advertise": false - } - } - ] -} diff --git a/flake.lock b/flake.lock index 030b6061b50..fbc447f1e58 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "CHaP": { "flake": false, "locked": { - "lastModified": 1737030073, - "narHash": "sha256-Mdf9GfcJG2ehJM4yFkZKjTnOWCbutjAe7s+Z27fusA8=", + "lastModified": 1737566866, + "narHash": "sha256-TQbNlisnUz3RoMb/kc+d6FYET7Qbim+mMMJg76TpLC8=", "owner": "intersectmbo", "repo": "cardano-haskell-packages", - "rev": "1013daa305ed2a6e5f50edf8141d4edce94c06bc", + "rev": "1206c99a450da9681fbe5c3a403cff58569a2ca8", "type": "github" }, "original": { diff --git a/nix/nixos/cardano-node-service.nix b/nix/nixos/cardano-node-service.nix index f7940299d43..1bd8c458736 100644 --- a/nix/nixos/cardano-node-service.nix +++ b/nix/nixos/cardano-node-service.nix @@ -26,6 +26,8 @@ let bootstrapPeers = cfg.bootstrapPeers; } // optionalAttrs (cfg.usePeersFromLedgerAfterSlot != null) { useLedgerAfterSlot = cfg.usePeersFromLedgerAfterSlot; + } // optionalAttrs (cfg.peerSnapshotFile i != null) { + peerSnapshotFile = cfg.peerSnapshotFile i; }; oldTopology = i: { @@ -717,6 +719,21 @@ in { else []; description = ''RTS profiling options''; }; + + peerSnapshotFile = mkOption { + type = funcToOr nullOrStr; + default = null; + example = i: "/etc/cardano-node/peer-snapshot-${toString i}.json"; + apply = x: if builtins.isFunction x then x else _: x; + description = '' + If set, cardano-node will load a peer snapshot file from the declared absolute path. + + The peer snapshot file contains a snapshot of big ledger peers taken at some arbitrary slot. + These are the largest pools that cumulatively hold 90% of total stake. + + A peer snapshot file can be generated with a `cardano-cli query ledger-peer-snapshot` command. + ''; + }; }; }; diff --git a/trace-dispatcher/CHANGELOG.md b/trace-dispatcher/CHANGELOG.md index c9eddf21b86..bfa9b033f18 100644 --- a/trace-dispatcher/CHANGELOG.md +++ b/trace-dispatcher/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for trace-dispatcher +## 2.8.0 -- Jan 2025 +* Change dependency `ekg` to `ekg-wai`, replacing `snap-server` based web stack with `warp / wai`. +* Add `initForwardingDelayed` which allows for deferred start of forwarding after initialization, instead of tying both together. + ## 2.7.0 -- Sep 2024 * Add `docuResultsToMetricsHelptext` for JSON output of metrics docs; required by `cardano-node` command `trace-documentation --output-metric-help` diff --git a/trace-dispatcher/NOTICE b/trace-dispatcher/NOTICE index a91d98a78bf..eaf1b324b35 100644 --- a/trace-dispatcher/NOTICE +++ b/trace-dispatcher/NOTICE @@ -1,4 +1,4 @@ -Copyright 2020-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2020-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/trace-dispatcher/trace-dispatcher.cabal b/trace-dispatcher/trace-dispatcher.cabal index dfdab693e00..527edf566a4 100644 --- a/trace-dispatcher/trace-dispatcher.cabal +++ b/trace-dispatcher/trace-dispatcher.cabal @@ -1,13 +1,13 @@ cabal-version: 3.0 name: trace-dispatcher -version: 2.7.0 +version: 2.8.0 synopsis: Tracers for Cardano description: Package for development of simple and efficient tracers based on the arrow based contra-tracer package category: Cardano, Trace, -copyright: 2020-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2020-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: Juergen Nicklisch-Franken maintainer: operations@iohk.io license: Apache-2.0 diff --git a/trace-forward/CHANGELOG.md b/trace-forward/CHANGELOG.md index ff76eda49a7..50f0cfd1a2e 100644 --- a/trace-forward/CHANGELOG.md +++ b/trace-forward/CHANGELOG.md @@ -1,6 +1,6 @@ # ChangeLog -## NEXT +## 2.2.9 - Jan 2025 * Updated to `typed-protocols-0.3`. diff --git a/trace-forward/NOTICE b/trace-forward/NOTICE index eeb9f4e4dec..f09f988ce59 100644 --- a/trace-forward/NOTICE +++ b/trace-forward/NOTICE @@ -1,4 +1,4 @@ -Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/trace-forward/trace-forward.cabal b/trace-forward/trace-forward.cabal index d294e5aaf3b..bbdfdd61a70 100644 --- a/trace-forward/trace-forward.cabal +++ b/trace-forward/trace-forward.cabal @@ -1,13 +1,13 @@ cabal-version: 3.0 name: trace-forward -version: 2.2.8 +version: 2.2.9 synopsis: The forwarding protocols library for cardano node. description: The library providing typed protocols for forwarding different information from the cardano node to an external application. category: Cardano, Trace, -copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: IOHK maintainer: operations@iohk.io license: Apache-2.0 diff --git a/trace-resources/NOTICE b/trace-resources/NOTICE index c1189155b54..f63730a6301 100644 --- a/trace-resources/NOTICE +++ b/trace-resources/NOTICE @@ -1,4 +1,4 @@ -Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/trace-resources/trace-resources.cabal b/trace-resources/trace-resources.cabal index 8147a1cabdd..2f7fa398c5b 100644 --- a/trace-resources/trace-resources.cabal +++ b/trace-resources/trace-resources.cabal @@ -6,7 +6,7 @@ synopsis: Package for tracing resources for linux, mac and windows description: Package for tracing resources for linux, mac and windows. category: Cardano, Trace, -copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect. +copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect. author: Juergen Nicklisch-Franken maintainer: operations@iohk.io license: Apache-2.0