From dde73fa5b5832fd83a46b38e057b99ea9ed5eb6b Mon Sep 17 00:00:00 2001 From: rdlrt <3169068+rdlrt@users.noreply.github.com> Date: Mon, 18 Mar 2024 14:54:05 +1100 Subject: [PATCH 1/6] Update configs and node version support for 8.9.0 --- docs/Build/node-cli.md | 44 ++++++++++++++++---- files/configs/guild/conway-genesis.json | 31 +++++++------- files/configs/mainnet/conway-genesis.json | 41 +++++++++--------- files/configs/mainnet/topology.json | 38 +++++++++++------ files/configs/preprod/conway-genesis.json | 31 +++++++------- files/configs/preprod/topology.json | 27 +++++++++--- files/configs/preview/conway-genesis.json | 31 +++++++------- files/configs/preview/topology.json | 27 +++++++++--- files/configs/sanchonet/conway-genesis.json | 31 +++++++------- files/configs/sanchonet/topology.json | 17 ++++---- scripts/cnode-helper-scripts/env | 4 +- scripts/cnode-helper-scripts/guild-deploy.sh | 8 ++-- 12 files changed, 206 insertions(+), 124 deletions(-) diff --git a/docs/Build/node-cli.md b/docs/Build/node-cli.md index 5b7fa796e..52711cd58 100644 --- a/docs/Build/node-cli.md +++ b/docs/Build/node-cli.md @@ -96,10 +96,11 @@ This file contains the logging configurations (tracers of to tune logging, paths 2. files/topology.json : This file tells your node how to connect to other nodes (especially initially to start synching). You would want to update this file as below: - * Update the `localRoots` > `accessPoints` section to include your local nodes that you want persistent connection against (eg: this could be your BP and own relay nodes). + * Update the `localRoots` > `accessPoints` section to include your local nodes that you want persistent connection against (eg: this could be your BP and own relay nodes) against definition where `trustable` is set to `true`. * You'd want to update `localRoots` > `valency` to number of connections from your localRoots that you always want to keep active connection to. - * [Optional] - you can add/remove nodes from `publicRoots` section, tho defaults populated should work fine. On mainnet, we did add a few additional nodes to help add more redundancy for initial sync - should IO/Emurgo decide to change DNS entries of their nodes. - * `useLedgerAfterSlot` tells the node to establish networking with nodes from localRoots/publicRoots to sync the node initially until reaching an absolute slot number, after which - it can start attempting to connect to peers registered as pool relays on the network. You may want this number to be relatively recent (eg: not hace it 50 epochs old) + * [Optional] - you can add/remove nodes from `publicRoots` section as well as `localRoots` > `accessPoints` as desired, tho defaults populated should work fine. On mainnet, we did add a few additional nodes to help add more redundancy for initial sync. + * `useLedgerAfterSlot` tells the node to establish networking with nodes from defined peers to sync the node initially until reaching an absolute slot number, after which - it can start attempting to connect to peers registered as pool relays on the network. You may want this number to be relatively recent (eg: not have it 50 epochs old). + * You can read further about topology file configuration [here](https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/understanding-config-files.md#the-p2p-topologyjson-file) !!! important You'd want to set `useLedgerAfterSlot` to `-1` for your Block Producing (Core) node - thereby, telling your Core node to remain in non-P2P mode. @@ -108,6 +109,16 @@ The resultant topology file could look something like below: ``` json { + "bootstrapPeers": [ + { + "address": "backbone.cardano.iog.io", + "port": 3001 + }, + { + "address": "backbone.mainnet.emurgornd.com", + "port": 3001 + } + ], "localRoots": [ { "accessPoints": [ @@ -115,19 +126,36 @@ The resultant topology file could look something like below: {"address": "xx.xx.xx.yy", "port": 6000 } ], "advertise": false, + "trustable": true, "valency": 2 + }, + { + "accessPoints": [ + {"address": "node-dus.poolunder.com", "port": 6900, "pool": "UNDR", "location": "EU/DE/Dusseldorf" }, + {"address": "node-syd.poolunder.com", "port": 6900, "pool": "UNDR", "location": "OC/AU/Sydney" }, + {"address": "194.36.145.157", "port": 6000, "pool": "RDLRT", "location": "EU/DE/Baden" }, + {"address": "152.53.18.60", "port": 6000, "pool": "RDLRT", "location": "NA/US/StLouis" }, + {"address": "148.72.153.168", "port": 16000, "pool": "AAA", "location": "US/StLouis" }, + {"address": "78.47.99.41", "port": 6000, "pool": "AAA", "location": "EU/DE/Nuremberg" }, + {"address": "relay1-pub.ahlnet.nu", "port": 2111, "pool": "AHL", "location": "EU/SE/Malmo" }, + {"address": "relay2-pub.ahlnet.nu", "port": 2111, "pool": "AHL", "location": "EU/SE/Malmo" }, + {"address": "relay1.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Milan" }, + {"address": "relay2.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" }, + {"address": "relay3.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" } + ], + "advertise": false, + "trustable": false, + "valency": 5, + "warmValency": 10 } ], "publicRoots": [ { - "accessPoints": [ - {"address": "...", "port": 3001 }, - {"address": "...", "port": 6000 } - ], + "accessPoints": [], "advertise": false } ], - "useLedgerAfterSlot": 67067585 + "useLedgerAfterSlot": 119160667 } ``` diff --git a/files/configs/guild/conway-genesis.json b/files/configs/guild/conway-genesis.json index 14d9c0f65..e690f455f 100644 --- a/files/configs/guild/conway-genesis.json +++ b/files/configs/guild/conway-genesis.json @@ -1,21 +1,22 @@ { "poolVotingThresholds": { - "pvtCommitteeNormal": 0.51, - "pvtCommitteeNoConfidence": 0.51, - "pvtHardForkInitiation": 0.51, - "pvtMotionNoConfidence": 0.51 + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "hardForkInitiation": 0.51, + "motionNoConfidence": 0.51, + "ppSecurityGroup": 0.51 }, "dRepVotingThresholds": { - "dvtMotionNoConfidence": 0.51, - "dvtCommitteeNormal": 0.51, - "dvtCommitteeNoConfidence": 0.51, - "dvtUpdateToConstitution": 0.51, - "dvtHardForkInitiation": 0.51, - "dvtPPNetworkGroup": 0.51, - "dvtPPEconomicGroup": 0.51, - "dvtPPTechnicalGroup": 0.51, - "dvtPPGovGroup": 0.51, - "dvtTreasuryWithdrawal": 0.51 + "motionNoConfidence": 0.51, + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "updateToConstitution": 0.51, + "hardForkInitiation": 0.51, + "ppNetworkGroup": 0.51, + "ppEconomicGroup": 0.51, + "ppTechnicalGroup": 0.51, + "ppGovGroup": 0.51, + "treasuryWithdrawal": 0.51 }, "committeeMinSize": 0, "committeeMaxTermLength": 200, @@ -34,4 +35,4 @@ }, "quorum": 0 } -} +} \ No newline at end of file diff --git a/files/configs/mainnet/conway-genesis.json b/files/configs/mainnet/conway-genesis.json index 078d33b18..e690f455f 100644 --- a/files/configs/mainnet/conway-genesis.json +++ b/files/configs/mainnet/conway-genesis.json @@ -1,28 +1,29 @@ { "poolVotingThresholds": { - "pvtCommitteeNormal": 0.51, - "pvtCommitteeNoConfidence": 0.51, - "pvtHardForkInitiation": 0.51, - "pvtMotionNoConfidence": 0.51 + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "hardForkInitiation": 0.51, + "motionNoConfidence": 0.51, + "ppSecurityGroup": 0.51 }, "dRepVotingThresholds": { - "dvtMotionNoConfidence": 0.51, - "dvtCommitteeNormal": 0.51, - "dvtCommitteeNoConfidence": 0.51, - "dvtUpdateToConstitution": 0.51, - "dvtHardForkInitiation": 0.51, - "dvtPPNetworkGroup": 0.51, - "dvtPPEconomicGroup": 0.51, - "dvtPPTechnicalGroup": 0.51, - "dvtPPGovGroup": 0.51, - "dvtTreasuryWithdrawal": 0.51 + "motionNoConfidence": 0.51, + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "updateToConstitution": 0.51, + "hardForkInitiation": 0.51, + "ppNetworkGroup": 0.51, + "ppEconomicGroup": 0.51, + "ppTechnicalGroup": 0.51, + "ppGovGroup": 0.51, + "treasuryWithdrawal": 0.51 }, "committeeMinSize": 0, - "committeeMaxTermLength": 60, - "govActionLifetime": 14, - "govActionDeposit": 0, - "dRepDeposit": 0, - "dRepActivity": 0, + "committeeMaxTermLength": 200, + "govActionLifetime": 10, + "govActionDeposit": 1000000000, + "dRepDeposit": 2000000, + "dRepActivity": 20, "constitution": { "anchor": { "url": "", @@ -34,4 +35,4 @@ }, "quorum": 0 } -} +} \ No newline at end of file diff --git a/files/configs/mainnet/topology.json b/files/configs/mainnet/topology.json index e6a5f7dc4..a6086208a 100644 --- a/files/configs/mainnet/topology.json +++ b/files/configs/mainnet/topology.json @@ -1,4 +1,14 @@ { + "bootstrapPeers": [ + { + "address": "backbone.cardano.iog.io", + "port": 3001 + }, + { + "address": "backbone.mainnet.emurgornd.com", + "port": 3001 + } + ], "localRoots": [ { "accessPoints": [ @@ -6,34 +16,36 @@ {"address": "127.0.0.1", "port": 6001, "description": "replace-this-with-relay"} ], "advertise": false, + "trustable": true, "valency_INFO": "set the .localRoots.valency to the number of configured accessPoints", "valency": 2 - } - ], - "publicRoots": [ + }, { "accessPoints": [ - {"address": "backbone.cardano-mainnet.iohk.io", "port": 3001, "location": "various" }, - {"address": "backbone.cardano.iog.io", "port": 3001, "location": "various" }, - {"address": "backbone.mainnet.emurgornd.com", "port": 3001, "location": "various" }, {"address": "node-dus.poolunder.com", "port": 6900, "pool": "UNDR", "location": "EU/DE/Dusseldorf" }, {"address": "node-syd.poolunder.com", "port": 6900, "pool": "UNDR", "location": "OC/AU/Sydney" }, {"address": "194.36.145.157", "port": 6000, "pool": "RDLRT", "location": "EU/DE/Baden" }, - {"address": "89.58.43.194", "port": 6000, "pool": "RDLRT", "location": "NA/US/StLouis" }, - {"address": "148.72.153.168", "port": 16000, "pool": "AAA", "location": "US/StLouis" }, + {"address": "152.53.18.60", "port": 6000, "pool": "RDLRT", "location": "NA/US/StLouis" }, + {"address": "148.72.153.168", "port": 16000, "pool": "AAA", "location": "US/StLouis" }, {"address": "78.47.99.41", "port": 6000, "pool": "AAA", "location": "EU/DE/Nuremberg" }, {"address": "relay1-pub.ahlnet.nu", "port": 2111, "pool": "AHL", "location": "EU/SE/Malmo" }, {"address": "relay2-pub.ahlnet.nu", "port": 2111, "pool": "AHL", "location": "EU/SE/Malmo" }, {"address": "relay1.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Milan" }, {"address": "relay2.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" }, - {"address": "relay3.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" }, - {"address": "164.90.197.139", "port": 6000, "name": "EDEN", "location": "EU/NL/Amsterdam" }, - {"address": "128.199.187.2", "port": 6000, "name": "EDEN", "location": "AS/SG/Singapore" }, - {"address": "198.199.70.70", "port": 6000, "name": "EDEN", "location": "NA/US/NorthBergen" } + {"address": "relay3.clio.one", "port": 6010, "pool": "CLIO", "location": "EU/IT/Bozlano" } ], + "advertise": false, + "trustable": false, + "valency": 5, + "warmValency": 10 + } + ], + "publicRoots": [ + { + "accessPoints": [], "advertise": false } ], "useLedgerAfterSlot_INFO": "the node will use the .publicRoots.accessPoints only until he synchronised up to slot .useLedgerAfterSlot. then P2P peering jumps in, plus static links to .localRoots.accessPoints", - "useLedgerAfterSlot": 114590908 + "useLedgerAfterSlot": 119160667 } diff --git a/files/configs/preprod/conway-genesis.json b/files/configs/preprod/conway-genesis.json index 14d9c0f65..e690f455f 100644 --- a/files/configs/preprod/conway-genesis.json +++ b/files/configs/preprod/conway-genesis.json @@ -1,21 +1,22 @@ { "poolVotingThresholds": { - "pvtCommitteeNormal": 0.51, - "pvtCommitteeNoConfidence": 0.51, - "pvtHardForkInitiation": 0.51, - "pvtMotionNoConfidence": 0.51 + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "hardForkInitiation": 0.51, + "motionNoConfidence": 0.51, + "ppSecurityGroup": 0.51 }, "dRepVotingThresholds": { - "dvtMotionNoConfidence": 0.51, - "dvtCommitteeNormal": 0.51, - "dvtCommitteeNoConfidence": 0.51, - "dvtUpdateToConstitution": 0.51, - "dvtHardForkInitiation": 0.51, - "dvtPPNetworkGroup": 0.51, - "dvtPPEconomicGroup": 0.51, - "dvtPPTechnicalGroup": 0.51, - "dvtPPGovGroup": 0.51, - "dvtTreasuryWithdrawal": 0.51 + "motionNoConfidence": 0.51, + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "updateToConstitution": 0.51, + "hardForkInitiation": 0.51, + "ppNetworkGroup": 0.51, + "ppEconomicGroup": 0.51, + "ppTechnicalGroup": 0.51, + "ppGovGroup": 0.51, + "treasuryWithdrawal": 0.51 }, "committeeMinSize": 0, "committeeMaxTermLength": 200, @@ -34,4 +35,4 @@ }, "quorum": 0 } -} +} \ No newline at end of file diff --git a/files/configs/preprod/topology.json b/files/configs/preprod/topology.json index 93b9b2b29..f1f22d845 100644 --- a/files/configs/preprod/topology.json +++ b/files/configs/preprod/topology.json @@ -1,4 +1,10 @@ { + "bootstrapPeers": [ + { + "address": "preprod-node.play.dev.cardano.org", + "port": 3001 + } + ], "localRoots": [ { "accessPoints": [ @@ -6,16 +12,27 @@ {"address": "127.0.0.1", "port": 6001, "description": "replace-this-with-relay"} ], "advertise": false, - "valency": 1 + "trustable": true, + "valency": 2 + }, + { + "accessPoints": [ + {"address": "preprod-test.ahlnet.nu", "port": 2101, "pool": "AHL"}, + {"address": "154.12.248.114", "port": 6000, "pool": "HOM1"}, + {"address": "tn-preprod.psilobyte.io", "port": 4101, "pool": "PSBT"}, + {"address": "209.145.50.190", "port": 18000, "pool": "RDLRT"} + ], + "advertise": false, + "trustable": false, + "valency": 2, + "warmValency": 3 } ], "publicRoots": [ { - "accessPoints": [ - {"address": "preprod-node.play.dev.cardano.org", "port": 3001} - ], + "accessPoints": [], "advertise": false } ], - "useLedgerAfterSlot": 42855241 + "useLedgerAfterSlot": 55043150 } \ No newline at end of file diff --git a/files/configs/preview/conway-genesis.json b/files/configs/preview/conway-genesis.json index 14d9c0f65..e690f455f 100644 --- a/files/configs/preview/conway-genesis.json +++ b/files/configs/preview/conway-genesis.json @@ -1,21 +1,22 @@ { "poolVotingThresholds": { - "pvtCommitteeNormal": 0.51, - "pvtCommitteeNoConfidence": 0.51, - "pvtHardForkInitiation": 0.51, - "pvtMotionNoConfidence": 0.51 + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "hardForkInitiation": 0.51, + "motionNoConfidence": 0.51, + "ppSecurityGroup": 0.51 }, "dRepVotingThresholds": { - "dvtMotionNoConfidence": 0.51, - "dvtCommitteeNormal": 0.51, - "dvtCommitteeNoConfidence": 0.51, - "dvtUpdateToConstitution": 0.51, - "dvtHardForkInitiation": 0.51, - "dvtPPNetworkGroup": 0.51, - "dvtPPEconomicGroup": 0.51, - "dvtPPTechnicalGroup": 0.51, - "dvtPPGovGroup": 0.51, - "dvtTreasuryWithdrawal": 0.51 + "motionNoConfidence": 0.51, + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "updateToConstitution": 0.51, + "hardForkInitiation": 0.51, + "ppNetworkGroup": 0.51, + "ppEconomicGroup": 0.51, + "ppTechnicalGroup": 0.51, + "ppGovGroup": 0.51, + "treasuryWithdrawal": 0.51 }, "committeeMinSize": 0, "committeeMaxTermLength": 200, @@ -34,4 +35,4 @@ }, "quorum": 0 } -} +} \ No newline at end of file diff --git a/files/configs/preview/topology.json b/files/configs/preview/topology.json index 34695fc42..b3717d82f 100644 --- a/files/configs/preview/topology.json +++ b/files/configs/preview/topology.json @@ -1,4 +1,10 @@ { + "bootstrapPeers": [ + { + "address": "preview-node.play.dev.cardano.org", + "port": 3001 + } + ], "localRoots": [ { "accessPoints": [ @@ -6,16 +12,27 @@ {"address": "127.0.0.1", "port": 6001, "description": "replace-this-with-relay"} ], "advertise": false, - "valency": 1 + "trustable": true, + "valency": 2 + }, + { + "accessPoints": [ + {"address": "preview-test.ahlnet.nu", "port": 2102, "pool": "AHL"}, + {"address": "95.216.173.194", "port": 16000, "pool": "HOM1"}, + {"address": "tn-preview.psilobyte.io", "port": 4201, "pool": "PSBT"}, + {"address": "tn-preview2.psilobyte.io", "port": 4202, "pool": "PSBT"} + ], + "advertise": false, + "trustable": false, + "valency": 2, + "warmValency": 3 } ], "publicRoots": [ { - "accessPoints": [ - {"address": "preview-node.play.dev.cardano.org", "port": 3001} - ], + "accessPoints": [], "advertise": false } ], - "useLedgerAfterSlot": 31536600 + "useLedgerAfterSlot": 44070103 } \ No newline at end of file diff --git a/files/configs/sanchonet/conway-genesis.json b/files/configs/sanchonet/conway-genesis.json index 14d9c0f65..e690f455f 100644 --- a/files/configs/sanchonet/conway-genesis.json +++ b/files/configs/sanchonet/conway-genesis.json @@ -1,21 +1,22 @@ { "poolVotingThresholds": { - "pvtCommitteeNormal": 0.51, - "pvtCommitteeNoConfidence": 0.51, - "pvtHardForkInitiation": 0.51, - "pvtMotionNoConfidence": 0.51 + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "hardForkInitiation": 0.51, + "motionNoConfidence": 0.51, + "ppSecurityGroup": 0.51 }, "dRepVotingThresholds": { - "dvtMotionNoConfidence": 0.51, - "dvtCommitteeNormal": 0.51, - "dvtCommitteeNoConfidence": 0.51, - "dvtUpdateToConstitution": 0.51, - "dvtHardForkInitiation": 0.51, - "dvtPPNetworkGroup": 0.51, - "dvtPPEconomicGroup": 0.51, - "dvtPPTechnicalGroup": 0.51, - "dvtPPGovGroup": 0.51, - "dvtTreasuryWithdrawal": 0.51 + "motionNoConfidence": 0.51, + "committeeNormal": 0.51, + "committeeNoConfidence": 0.51, + "updateToConstitution": 0.51, + "hardForkInitiation": 0.51, + "ppNetworkGroup": 0.51, + "ppEconomicGroup": 0.51, + "ppTechnicalGroup": 0.51, + "ppGovGroup": 0.51, + "treasuryWithdrawal": 0.51 }, "committeeMinSize": 0, "committeeMaxTermLength": 200, @@ -34,4 +35,4 @@ }, "quorum": 0 } -} +} \ No newline at end of file diff --git a/files/configs/sanchonet/topology.json b/files/configs/sanchonet/topology.json index 76c6c7452..f57a90a83 100644 --- a/files/configs/sanchonet/topology.json +++ b/files/configs/sanchonet/topology.json @@ -1,20 +1,23 @@ { + "bootstrapPeers": [ + { + "address": "sanchonet-node.play.dev.cardano.org", + "port": 3001 + } + ], "localRoots": [ { - "accessPoints": [ - {"address": "127.0.0.1", "port": 6000, "description": "replace-this-with-BP"} - ], + "accessPoints": [], "advertise": false, + "trustable": false, "valency": 1 } ], "publicRoots": [ { - "accessPoints": [ - {"address": "sanchonet-node.play.dev.cardano.org", "port": 3001} - ], + "accessPoints": [], "advertise": false } ], - "useLedgerAfterSlot": 14601600 + "useLedgerAfterSlot": 21599922 } \ No newline at end of file diff --git a/scripts/cnode-helper-scripts/env b/scripts/cnode-helper-scripts/env index 7ccef65d4..a2a9d3f4d 100644 --- a/scripts/cnode-helper-scripts/env +++ b/scripts/cnode-helper-scripts/env @@ -929,8 +929,8 @@ fi node_version="$(${CNODEBIN} version | head -1 | cut -d' ' -f2)" cli_version="$(${CCLI} version | head -1 | cut -d' ' -f2)" -if ! versionCheck "8.7.3" "${node_version}" || ! versionCheck "8.17.0.0" "${cli_version}"; then - echo -e "\nKoios scripts have now been upgraded to support cardano-node 8.7.x ('${node_version}' found) / cardano-cli 8.17.x.x ('${cli_version}' found).\nPlease update cardano-node binaries (ensure to read release notes and update various configs using guild-deploy (use appropriate options to download/install/overwrite parts you need) or use tagged branches for older node version (eg: ./